detquantlib 2.1.0__tar.gz → 2.1.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- detquantlib-2.1.1/PKG-INFO +184 -0
- detquantlib-2.1.1/README.md +164 -0
- {detquantlib-2.1.0 → detquantlib-2.1.1}/pyproject.toml +3 -2
- detquantlib-2.1.0/PKG-INFO +0 -143
- detquantlib-2.1.0/README.md +0 -123
- {detquantlib-2.1.0 → detquantlib-2.1.1}/LICENSE.txt +0 -0
- {detquantlib-2.1.0 → detquantlib-2.1.1}/detquantlib/__init__.py +0 -0
- {detquantlib-2.1.0 → detquantlib-2.1.1}/detquantlib/data/databases/detdatabase.py +0 -0
- {detquantlib-2.1.0 → detquantlib-2.1.1}/detquantlib/data/entsoe/entsoe.py +0 -0
- {detquantlib-2.1.0 → detquantlib-2.1.1}/detquantlib/data/sftp/sftp.py +0 -0
- {detquantlib-2.1.0 → detquantlib-2.1.1}/detquantlib/dates/dates.py +0 -0
- {detquantlib-2.1.0 → detquantlib-2.1.1}/detquantlib/figures/plotly_figures.py +0 -0
- {detquantlib-2.1.0 → detquantlib-2.1.1}/detquantlib/stats/data_analysis.py +0 -0
- {detquantlib-2.1.0 → detquantlib-2.1.1}/detquantlib/tradable_products/tradable_products.py +0 -0
- {detquantlib-2.1.0 → detquantlib-2.1.1}/detquantlib/utils/utils.py +0 -0
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
|
+
Name: detquantlib
|
|
3
|
+
Version: 2.1.1
|
|
4
|
+
Summary: An internal library containing functions and classes that can be used across Quant models.
|
|
5
|
+
Author: DET
|
|
6
|
+
Requires-Python: >=3.10,<4.0
|
|
7
|
+
Classifier: Programming Language :: Python :: 3
|
|
8
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
9
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
10
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
12
|
+
Requires-Dist: numpy (>=2.2.4,<3.0.0)
|
|
13
|
+
Requires-Dist: pandas (>=2.2.3,<3.0.0)
|
|
14
|
+
Requires-Dist: paramiko (>=3.5.1,<4.0.0)
|
|
15
|
+
Requires-Dist: plotly (>=6.0.1,<7.0.0)
|
|
16
|
+
Requires-Dist: pyodbc (>=5.2.0,<6.0.0)
|
|
17
|
+
Project-URL: Repository, https://github.com/Dynamic-Energy-Trading/detquantlib
|
|
18
|
+
Description-Content-Type: text/markdown
|
|
19
|
+
|
|
20
|
+
# DET Quant Library
|
|
21
|
+
|
|
22
|
+
## Table of contents
|
|
23
|
+
|
|
24
|
+
<!--TOC-->
|
|
25
|
+
|
|
26
|
+
- [DET Quant Library](#det-quant-library)
|
|
27
|
+
- [Table of contents](#table-of-contents)
|
|
28
|
+
- [General overview](#general-overview)
|
|
29
|
+
- [Configuration](#configuration)
|
|
30
|
+
- [Dependencies](#dependencies)
|
|
31
|
+
- [Dependency manager](#dependency-manager)
|
|
32
|
+
- [Dependabot](#dependabot)
|
|
33
|
+
- [GitHub actions](#github-actions)
|
|
34
|
+
- [Workflow: Continuous integration (CI)](#workflow-continuous-integration-ci)
|
|
35
|
+
- [Invoke tasks](#invoke-tasks)
|
|
36
|
+
- [CI check: Testing](#ci-check-testing)
|
|
37
|
+
- [CI check: Code formatting](#ci-check-code-formatting)
|
|
38
|
+
- [Workflow: Package publisher](#workflow-package-publisher)
|
|
39
|
+
- [Checking version updates](#checking-version-updates)
|
|
40
|
+
- [Creating version tags](#creating-version-tags)
|
|
41
|
+
- [Publishing package updates to PyPI](#publishing-package-updates-to-pypi)
|
|
42
|
+
- [Release notes](#release-notes)
|
|
43
|
+
|
|
44
|
+
<!--TOC-->
|
|
45
|
+
|
|
46
|
+
## General overview
|
|
47
|
+
|
|
48
|
+
The DET Quant Library is an internal library containing functions and classes that can be used
|
|
49
|
+
across Quant models.
|
|
50
|
+
|
|
51
|
+
## Configuration
|
|
52
|
+
|
|
53
|
+
### Dependencies
|
|
54
|
+
|
|
55
|
+
#### Dependency manager
|
|
56
|
+
|
|
57
|
+
Project dependencies are managed by [Poetry](https://python-poetry.org/).
|
|
58
|
+
|
|
59
|
+
The project follows the standard Poetry structure:
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
detquantlib
|
|
63
|
+
├── pyproject.toml
|
|
64
|
+
├── README.md
|
|
65
|
+
├── detquantlib
|
|
66
|
+
│ └── __init__.py
|
|
67
|
+
└── tests
|
|
68
|
+
└── __init__.py
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
#### Dependabot
|
|
72
|
+
|
|
73
|
+
Automated dependency updates are executed with
|
|
74
|
+
[Dependabot](https://docs.github.com/en/code-security/dependabot).
|
|
75
|
+
|
|
76
|
+
### GitHub actions
|
|
77
|
+
|
|
78
|
+
The project's CI/CD pipeline is enforced with [GitHub actions](https://docs.github.com/en/actions)
|
|
79
|
+
workflows.
|
|
80
|
+
|
|
81
|
+
#### Workflow: Continuous integration (CI)
|
|
82
|
+
|
|
83
|
+
The continuous integration (CI) workflow runs tests to check the integrity of the codebase's
|
|
84
|
+
content, and linters to check the consistency of its format.
|
|
85
|
+
|
|
86
|
+
The workflow was inspired by the following preconfigured templates:
|
|
87
|
+
|
|
88
|
+
- [Python package](https://github.com/actions/starter-workflows/blob/main/ci/python-package.yml):
|
|
89
|
+
A general workflow template for Python packages.
|
|
90
|
+
- [Poetry action](https://github.com/marketplace/actions/install-poetry-action): A GitHub action
|
|
91
|
+
for installing and configuring Poetry.
|
|
92
|
+
|
|
93
|
+
##### Invoke tasks
|
|
94
|
+
|
|
95
|
+
The workflow's checks and linters are specified with [Invoke](https://www.pyinvoke.org/) tasks,
|
|
96
|
+
defined in a tasks.py file.
|
|
97
|
+
|
|
98
|
+
Invoke tasks can be executed directly from the terminal, using the `inv` (or `invoke`)
|
|
99
|
+
command line tool.
|
|
100
|
+
|
|
101
|
+
For guidance on the available Invoke tasks, execute the following command in the terminal:
|
|
102
|
+
|
|
103
|
+
```cmd
|
|
104
|
+
inv --list
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Use the `-h` (or `--help`) argument for help about a particular Invoke task. For example:
|
|
108
|
+
|
|
109
|
+
```cmd
|
|
110
|
+
inv lint -h
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
##### CI check: Testing
|
|
114
|
+
|
|
115
|
+
Code changes are tested with the [Pytest](https://github.com/pytest-dev/pytest) package.
|
|
116
|
+
|
|
117
|
+
The CI check is executed with the following Invoke task:
|
|
118
|
+
|
|
119
|
+
```cmd
|
|
120
|
+
inv test -c
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
##### CI check: Code formatting
|
|
124
|
+
|
|
125
|
+
Linters are used to check that the code is properly formatted:
|
|
126
|
+
|
|
127
|
+
- [Isort](https://github.com/timothycrosley/isort) for the imports section
|
|
128
|
+
- [Darglint](https://github.com/terrencepreilly/darglint) for the docstrings description
|
|
129
|
+
- [Black](https://github.com/psf/black) for the main code
|
|
130
|
+
- [Pymarkdown](https://github.com/jackdewinter/pymarkdown) for the markdown file README.md
|
|
131
|
+
|
|
132
|
+
The CI check is executed with the following Invoke task:
|
|
133
|
+
|
|
134
|
+
```cmd
|
|
135
|
+
inv lint -c
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
If the CI check fails, execute the following command in the terminal:
|
|
139
|
+
|
|
140
|
+
```cmd
|
|
141
|
+
inv lint
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
This command fixes the parts of the code that should be reformatted. Adding the `-c` (or
|
|
145
|
+
`--check`) optional argument instructs the command to only _check_ if parts of the code should be
|
|
146
|
+
reformatted, without applying any actual changes.
|
|
147
|
+
|
|
148
|
+
#### Workflow: Package publisher
|
|
149
|
+
|
|
150
|
+
The package publisher workflow checks the validity of package version updates, creates version
|
|
151
|
+
tags, and publishes package updates to PyPI.
|
|
152
|
+
|
|
153
|
+
##### Checking version updates
|
|
154
|
+
|
|
155
|
+
The workflow enforces version control:
|
|
156
|
+
|
|
157
|
+
- The version number is specified via the `version` field in the pyproject.toml file.
|
|
158
|
+
- The version number needs to be updated with every new master commit. If the version is not
|
|
159
|
+
updated, the GitHub workflow will fail.
|
|
160
|
+
- Version numbers should follow semantic versioning (i.e. `X.Y.Z`). That is:
|
|
161
|
+
- `X` increments represent major, non-backward compatible updates.
|
|
162
|
+
- `Y` increments represent minor, backward compatible functionality updates.
|
|
163
|
+
- `Z` increments represent patch/bugfix, backward compatible updates.
|
|
164
|
+
|
|
165
|
+
##### Creating version tags
|
|
166
|
+
|
|
167
|
+
If the new package version is valid, the workflow automatically creates a new tag for every new
|
|
168
|
+
master commit.
|
|
169
|
+
|
|
170
|
+
##### Publishing package updates to PyPI
|
|
171
|
+
|
|
172
|
+
The workflow automatically publishes every new master commit to
|
|
173
|
+
[PyPI](https://pypi.org/project/detquantlib/).
|
|
174
|
+
|
|
175
|
+
### Release notes
|
|
176
|
+
|
|
177
|
+
When deemed necessary (especially in case of major updates), developers can document code
|
|
178
|
+
changes in dedicated GitHub release notes.
|
|
179
|
+
|
|
180
|
+
Release notes can be created via <https://github.com/Dynamic-Energy-Trading/detquantlib/releases.>
|
|
181
|
+
|
|
182
|
+
In any case, all codes changes should always be properly described/documented in GitHub issues
|
|
183
|
+
and/or pull requests.
|
|
184
|
+
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
# DET Quant Library
|
|
2
|
+
|
|
3
|
+
## Table of contents
|
|
4
|
+
|
|
5
|
+
<!--TOC-->
|
|
6
|
+
|
|
7
|
+
- [DET Quant Library](#det-quant-library)
|
|
8
|
+
- [Table of contents](#table-of-contents)
|
|
9
|
+
- [General overview](#general-overview)
|
|
10
|
+
- [Configuration](#configuration)
|
|
11
|
+
- [Dependencies](#dependencies)
|
|
12
|
+
- [Dependency manager](#dependency-manager)
|
|
13
|
+
- [Dependabot](#dependabot)
|
|
14
|
+
- [GitHub actions](#github-actions)
|
|
15
|
+
- [Workflow: Continuous integration (CI)](#workflow-continuous-integration-ci)
|
|
16
|
+
- [Invoke tasks](#invoke-tasks)
|
|
17
|
+
- [CI check: Testing](#ci-check-testing)
|
|
18
|
+
- [CI check: Code formatting](#ci-check-code-formatting)
|
|
19
|
+
- [Workflow: Package publisher](#workflow-package-publisher)
|
|
20
|
+
- [Checking version updates](#checking-version-updates)
|
|
21
|
+
- [Creating version tags](#creating-version-tags)
|
|
22
|
+
- [Publishing package updates to PyPI](#publishing-package-updates-to-pypi)
|
|
23
|
+
- [Release notes](#release-notes)
|
|
24
|
+
|
|
25
|
+
<!--TOC-->
|
|
26
|
+
|
|
27
|
+
## General overview
|
|
28
|
+
|
|
29
|
+
The DET Quant Library is an internal library containing functions and classes that can be used
|
|
30
|
+
across Quant models.
|
|
31
|
+
|
|
32
|
+
## Configuration
|
|
33
|
+
|
|
34
|
+
### Dependencies
|
|
35
|
+
|
|
36
|
+
#### Dependency manager
|
|
37
|
+
|
|
38
|
+
Project dependencies are managed by [Poetry](https://python-poetry.org/).
|
|
39
|
+
|
|
40
|
+
The project follows the standard Poetry structure:
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
detquantlib
|
|
44
|
+
├── pyproject.toml
|
|
45
|
+
├── README.md
|
|
46
|
+
├── detquantlib
|
|
47
|
+
│ └── __init__.py
|
|
48
|
+
└── tests
|
|
49
|
+
└── __init__.py
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
#### Dependabot
|
|
53
|
+
|
|
54
|
+
Automated dependency updates are executed with
|
|
55
|
+
[Dependabot](https://docs.github.com/en/code-security/dependabot).
|
|
56
|
+
|
|
57
|
+
### GitHub actions
|
|
58
|
+
|
|
59
|
+
The project's CI/CD pipeline is enforced with [GitHub actions](https://docs.github.com/en/actions)
|
|
60
|
+
workflows.
|
|
61
|
+
|
|
62
|
+
#### Workflow: Continuous integration (CI)
|
|
63
|
+
|
|
64
|
+
The continuous integration (CI) workflow runs tests to check the integrity of the codebase's
|
|
65
|
+
content, and linters to check the consistency of its format.
|
|
66
|
+
|
|
67
|
+
The workflow was inspired by the following preconfigured templates:
|
|
68
|
+
|
|
69
|
+
- [Python package](https://github.com/actions/starter-workflows/blob/main/ci/python-package.yml):
|
|
70
|
+
A general workflow template for Python packages.
|
|
71
|
+
- [Poetry action](https://github.com/marketplace/actions/install-poetry-action): A GitHub action
|
|
72
|
+
for installing and configuring Poetry.
|
|
73
|
+
|
|
74
|
+
##### Invoke tasks
|
|
75
|
+
|
|
76
|
+
The workflow's checks and linters are specified with [Invoke](https://www.pyinvoke.org/) tasks,
|
|
77
|
+
defined in a tasks.py file.
|
|
78
|
+
|
|
79
|
+
Invoke tasks can be executed directly from the terminal, using the `inv` (or `invoke`)
|
|
80
|
+
command line tool.
|
|
81
|
+
|
|
82
|
+
For guidance on the available Invoke tasks, execute the following command in the terminal:
|
|
83
|
+
|
|
84
|
+
```cmd
|
|
85
|
+
inv --list
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Use the `-h` (or `--help`) argument for help about a particular Invoke task. For example:
|
|
89
|
+
|
|
90
|
+
```cmd
|
|
91
|
+
inv lint -h
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
##### CI check: Testing
|
|
95
|
+
|
|
96
|
+
Code changes are tested with the [Pytest](https://github.com/pytest-dev/pytest) package.
|
|
97
|
+
|
|
98
|
+
The CI check is executed with the following Invoke task:
|
|
99
|
+
|
|
100
|
+
```cmd
|
|
101
|
+
inv test -c
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
##### CI check: Code formatting
|
|
105
|
+
|
|
106
|
+
Linters are used to check that the code is properly formatted:
|
|
107
|
+
|
|
108
|
+
- [Isort](https://github.com/timothycrosley/isort) for the imports section
|
|
109
|
+
- [Darglint](https://github.com/terrencepreilly/darglint) for the docstrings description
|
|
110
|
+
- [Black](https://github.com/psf/black) for the main code
|
|
111
|
+
- [Pymarkdown](https://github.com/jackdewinter/pymarkdown) for the markdown file README.md
|
|
112
|
+
|
|
113
|
+
The CI check is executed with the following Invoke task:
|
|
114
|
+
|
|
115
|
+
```cmd
|
|
116
|
+
inv lint -c
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
If the CI check fails, execute the following command in the terminal:
|
|
120
|
+
|
|
121
|
+
```cmd
|
|
122
|
+
inv lint
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
This command fixes the parts of the code that should be reformatted. Adding the `-c` (or
|
|
126
|
+
`--check`) optional argument instructs the command to only _check_ if parts of the code should be
|
|
127
|
+
reformatted, without applying any actual changes.
|
|
128
|
+
|
|
129
|
+
#### Workflow: Package publisher
|
|
130
|
+
|
|
131
|
+
The package publisher workflow checks the validity of package version updates, creates version
|
|
132
|
+
tags, and publishes package updates to PyPI.
|
|
133
|
+
|
|
134
|
+
##### Checking version updates
|
|
135
|
+
|
|
136
|
+
The workflow enforces version control:
|
|
137
|
+
|
|
138
|
+
- The version number is specified via the `version` field in the pyproject.toml file.
|
|
139
|
+
- The version number needs to be updated with every new master commit. If the version is not
|
|
140
|
+
updated, the GitHub workflow will fail.
|
|
141
|
+
- Version numbers should follow semantic versioning (i.e. `X.Y.Z`). That is:
|
|
142
|
+
- `X` increments represent major, non-backward compatible updates.
|
|
143
|
+
- `Y` increments represent minor, backward compatible functionality updates.
|
|
144
|
+
- `Z` increments represent patch/bugfix, backward compatible updates.
|
|
145
|
+
|
|
146
|
+
##### Creating version tags
|
|
147
|
+
|
|
148
|
+
If the new package version is valid, the workflow automatically creates a new tag for every new
|
|
149
|
+
master commit.
|
|
150
|
+
|
|
151
|
+
##### Publishing package updates to PyPI
|
|
152
|
+
|
|
153
|
+
The workflow automatically publishes every new master commit to
|
|
154
|
+
[PyPI](https://pypi.org/project/detquantlib/).
|
|
155
|
+
|
|
156
|
+
### Release notes
|
|
157
|
+
|
|
158
|
+
When deemed necessary (especially in case of major updates), developers can document code
|
|
159
|
+
changes in dedicated GitHub release notes.
|
|
160
|
+
|
|
161
|
+
Release notes can be created via <https://github.com/Dynamic-Energy-Trading/detquantlib/releases.>
|
|
162
|
+
|
|
163
|
+
In any case, all codes changes should always be properly described/documented in GitHub issues
|
|
164
|
+
and/or pull requests.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "detquantlib"
|
|
3
|
-
version = "2.1.
|
|
3
|
+
version = "2.1.1"
|
|
4
4
|
description = "An internal library containing functions and classes that can be used across Quant models."
|
|
5
5
|
authors = ["DET"]
|
|
6
6
|
readme = "README.md"
|
|
@@ -27,13 +27,14 @@ darglint = "^1.8.1"
|
|
|
27
27
|
isort = "^6.0.1"
|
|
28
28
|
colorama = "^0.4.6"
|
|
29
29
|
pymarkdownlnt = "^0.9.26"
|
|
30
|
+
md-toc = "^9.0.0"
|
|
30
31
|
|
|
31
32
|
[build-system]
|
|
32
33
|
requires = ["poetry-core>=2.0.0,<3.0.0"]
|
|
33
34
|
build-backend = "poetry.core.masonry.api"
|
|
34
35
|
|
|
35
36
|
[tool.isort]
|
|
36
|
-
multi_line_output =
|
|
37
|
+
multi_line_output = 3
|
|
37
38
|
include_trailing_comma = true
|
|
38
39
|
line_length = 99
|
|
39
40
|
force_grid_wrap = 0
|
detquantlib-2.1.0/PKG-INFO
DELETED
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.3
|
|
2
|
-
Name: detquantlib
|
|
3
|
-
Version: 2.1.0
|
|
4
|
-
Summary: An internal library containing functions and classes that can be used across Quant models.
|
|
5
|
-
Author: DET
|
|
6
|
-
Requires-Python: >=3.10,<4.0
|
|
7
|
-
Classifier: Programming Language :: Python :: 3
|
|
8
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
9
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
10
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
11
|
-
Classifier: Programming Language :: Python :: 3.13
|
|
12
|
-
Requires-Dist: numpy (>=2.2.4,<3.0.0)
|
|
13
|
-
Requires-Dist: pandas (>=2.2.3,<3.0.0)
|
|
14
|
-
Requires-Dist: paramiko (>=3.5.1,<4.0.0)
|
|
15
|
-
Requires-Dist: plotly (>=6.0.1,<7.0.0)
|
|
16
|
-
Requires-Dist: pyodbc (>=5.2.0,<6.0.0)
|
|
17
|
-
Project-URL: Repository, https://github.com/Dynamic-Energy-Trading/detquantlib
|
|
18
|
-
Description-Content-Type: text/markdown
|
|
19
|
-
|
|
20
|
-
# DET Quant Library
|
|
21
|
-
|
|
22
|
-
The DET Quant Library is an internal library containing functions and classes that can be used
|
|
23
|
-
across Quant models.
|
|
24
|
-
|
|
25
|
-
## Instructions
|
|
26
|
-
|
|
27
|
-
#### Version control
|
|
28
|
-
|
|
29
|
-
- This repository contains a version control workflow.
|
|
30
|
-
- The version number is specified via the `version` field in the pyproject.toml file.
|
|
31
|
-
- The version number needs to be updated with every new master commit. If the version is not
|
|
32
|
-
updated, the GitHub workflow will fail.
|
|
33
|
-
- Version numbers should follow semantic versioning (i.e. `X.Y.Z`). That is:
|
|
34
|
-
- `X` increments represent major, non-backward compatible updates.
|
|
35
|
-
- `Y` increments represent minor, backward compatible functionality updates.
|
|
36
|
-
- `Z` increments represent patch/bugfix, backward compatible updates.
|
|
37
|
-
|
|
38
|
-
#### Release notes
|
|
39
|
-
|
|
40
|
-
- When deemed necessary (especially in case of major updates), developers can document code
|
|
41
|
-
changes in dedicated GitHub release notes.
|
|
42
|
-
- Release notes can be created via
|
|
43
|
-
<https://github.com/Dynamic-Energy-Trading/detquantlib/releases.>
|
|
44
|
-
- In any case, all codes changes should always be properly described/documented in GitHub
|
|
45
|
-
issues and/or pull requests.
|
|
46
|
-
|
|
47
|
-
## Development settings
|
|
48
|
-
|
|
49
|
-
### Dependency management
|
|
50
|
-
|
|
51
|
-
Project dependencies are managed by [Poetry](https://python-poetry.org/).
|
|
52
|
-
|
|
53
|
-
The project follows the standard Poetry structure:
|
|
54
|
-
|
|
55
|
-
```
|
|
56
|
-
project
|
|
57
|
-
├── pyproject.toml
|
|
58
|
-
├── README.md
|
|
59
|
-
├── src
|
|
60
|
-
│ └── __init__.py
|
|
61
|
-
└── tests
|
|
62
|
-
└── __init__.py
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
### Dependency updates
|
|
66
|
-
|
|
67
|
-
This project is executing automated dependency updates using
|
|
68
|
-
[Dependabot with GitHub actions](https://docs.github.com/en/code-security/dependabot/working-with-dependabot/automating-dependabot-with-github-actions).
|
|
69
|
-
|
|
70
|
-
### Invoke development tasks
|
|
71
|
-
|
|
72
|
-
Development tasks are defined with the [Invoke](https://www.pyinvoke.org/) package.
|
|
73
|
-
|
|
74
|
-
#### What is Invoke?
|
|
75
|
-
|
|
76
|
-
Invoke provides a clean, high level API for running shell commands and defining/organizing task
|
|
77
|
-
functions from a tasks.py file.
|
|
78
|
-
|
|
79
|
-
#### How to run development tasks?
|
|
80
|
-
|
|
81
|
-
Development tasks can be executed directly from the terminal, using the `inv` (or `invoke`)
|
|
82
|
-
command line tool.
|
|
83
|
-
|
|
84
|
-
For guidance on the available Invoke development tasks, execute the following command in the
|
|
85
|
-
terminal:
|
|
86
|
-
|
|
87
|
-
```cmd
|
|
88
|
-
inv --list
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
Use the `-h` (or `--help`) argument for help about a particular development task. For example:
|
|
92
|
-
|
|
93
|
-
```cmd
|
|
94
|
-
inv lint -h
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
### CI/CD process
|
|
98
|
-
|
|
99
|
-
This project is executing CI checks using [GitHub actions](https://docs.github.com/en/actions)
|
|
100
|
-
workflows.
|
|
101
|
-
|
|
102
|
-
The GitHub workflow defined in this project was inspired by the following preconfigured templates:
|
|
103
|
-
|
|
104
|
-
- [Python package](https://github.com/actions/starter-workflows/blob/main/ci/python-package.yml):
|
|
105
|
-
A general workflow template for Python packages.
|
|
106
|
-
- [Poetry action](https://github.com/marketplace/actions/install-poetry-action): A GitHub action
|
|
107
|
-
for installing and configuring Poetry.
|
|
108
|
-
|
|
109
|
-
#### CI check: Testing
|
|
110
|
-
|
|
111
|
-
Code changes are tested with the [Pytest](https://github.com/pytest-dev/pytest) package.
|
|
112
|
-
|
|
113
|
-
The CI check is executed with the following the development task:
|
|
114
|
-
|
|
115
|
-
```cmd
|
|
116
|
-
inv test -c
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
#### CI check: Code formatting
|
|
120
|
-
|
|
121
|
-
Linters are used to check that the code is properly formatted:
|
|
122
|
-
|
|
123
|
-
- [Isort](https://github.com/timothycrosley/isort) for the imports section
|
|
124
|
-
- [Darglint](https://github.com/terrencepreilly/darglint) for the docstrings description
|
|
125
|
-
- [Black](https://github.com/psf/black) for the main code
|
|
126
|
-
- [Pymarkdown](https://github.com/jackdewinter/pymarkdown) for the markdown file README.md
|
|
127
|
-
|
|
128
|
-
The CI check is executed with the following development task:
|
|
129
|
-
|
|
130
|
-
```cmd
|
|
131
|
-
inv lint -c
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
If the CI check fails, execute the following command in the terminal:
|
|
135
|
-
|
|
136
|
-
```cmd
|
|
137
|
-
inv lint
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
This command fixes the parts of the code that should be reformatted. Adding the `-c` (or
|
|
141
|
-
`--check`) optional argument instructs the command to only _check_ if parts of the code should be
|
|
142
|
-
reformatted, without applying any actual changes.
|
|
143
|
-
|
detquantlib-2.1.0/README.md
DELETED
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
# DET Quant Library
|
|
2
|
-
|
|
3
|
-
The DET Quant Library is an internal library containing functions and classes that can be used
|
|
4
|
-
across Quant models.
|
|
5
|
-
|
|
6
|
-
## Instructions
|
|
7
|
-
|
|
8
|
-
#### Version control
|
|
9
|
-
|
|
10
|
-
- This repository contains a version control workflow.
|
|
11
|
-
- The version number is specified via the `version` field in the pyproject.toml file.
|
|
12
|
-
- The version number needs to be updated with every new master commit. If the version is not
|
|
13
|
-
updated, the GitHub workflow will fail.
|
|
14
|
-
- Version numbers should follow semantic versioning (i.e. `X.Y.Z`). That is:
|
|
15
|
-
- `X` increments represent major, non-backward compatible updates.
|
|
16
|
-
- `Y` increments represent minor, backward compatible functionality updates.
|
|
17
|
-
- `Z` increments represent patch/bugfix, backward compatible updates.
|
|
18
|
-
|
|
19
|
-
#### Release notes
|
|
20
|
-
|
|
21
|
-
- When deemed necessary (especially in case of major updates), developers can document code
|
|
22
|
-
changes in dedicated GitHub release notes.
|
|
23
|
-
- Release notes can be created via
|
|
24
|
-
<https://github.com/Dynamic-Energy-Trading/detquantlib/releases.>
|
|
25
|
-
- In any case, all codes changes should always be properly described/documented in GitHub
|
|
26
|
-
issues and/or pull requests.
|
|
27
|
-
|
|
28
|
-
## Development settings
|
|
29
|
-
|
|
30
|
-
### Dependency management
|
|
31
|
-
|
|
32
|
-
Project dependencies are managed by [Poetry](https://python-poetry.org/).
|
|
33
|
-
|
|
34
|
-
The project follows the standard Poetry structure:
|
|
35
|
-
|
|
36
|
-
```
|
|
37
|
-
project
|
|
38
|
-
├── pyproject.toml
|
|
39
|
-
├── README.md
|
|
40
|
-
├── src
|
|
41
|
-
│ └── __init__.py
|
|
42
|
-
└── tests
|
|
43
|
-
└── __init__.py
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
### Dependency updates
|
|
47
|
-
|
|
48
|
-
This project is executing automated dependency updates using
|
|
49
|
-
[Dependabot with GitHub actions](https://docs.github.com/en/code-security/dependabot/working-with-dependabot/automating-dependabot-with-github-actions).
|
|
50
|
-
|
|
51
|
-
### Invoke development tasks
|
|
52
|
-
|
|
53
|
-
Development tasks are defined with the [Invoke](https://www.pyinvoke.org/) package.
|
|
54
|
-
|
|
55
|
-
#### What is Invoke?
|
|
56
|
-
|
|
57
|
-
Invoke provides a clean, high level API for running shell commands and defining/organizing task
|
|
58
|
-
functions from a tasks.py file.
|
|
59
|
-
|
|
60
|
-
#### How to run development tasks?
|
|
61
|
-
|
|
62
|
-
Development tasks can be executed directly from the terminal, using the `inv` (or `invoke`)
|
|
63
|
-
command line tool.
|
|
64
|
-
|
|
65
|
-
For guidance on the available Invoke development tasks, execute the following command in the
|
|
66
|
-
terminal:
|
|
67
|
-
|
|
68
|
-
```cmd
|
|
69
|
-
inv --list
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
Use the `-h` (or `--help`) argument for help about a particular development task. For example:
|
|
73
|
-
|
|
74
|
-
```cmd
|
|
75
|
-
inv lint -h
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
### CI/CD process
|
|
79
|
-
|
|
80
|
-
This project is executing CI checks using [GitHub actions](https://docs.github.com/en/actions)
|
|
81
|
-
workflows.
|
|
82
|
-
|
|
83
|
-
The GitHub workflow defined in this project was inspired by the following preconfigured templates:
|
|
84
|
-
|
|
85
|
-
- [Python package](https://github.com/actions/starter-workflows/blob/main/ci/python-package.yml):
|
|
86
|
-
A general workflow template for Python packages.
|
|
87
|
-
- [Poetry action](https://github.com/marketplace/actions/install-poetry-action): A GitHub action
|
|
88
|
-
for installing and configuring Poetry.
|
|
89
|
-
|
|
90
|
-
#### CI check: Testing
|
|
91
|
-
|
|
92
|
-
Code changes are tested with the [Pytest](https://github.com/pytest-dev/pytest) package.
|
|
93
|
-
|
|
94
|
-
The CI check is executed with the following the development task:
|
|
95
|
-
|
|
96
|
-
```cmd
|
|
97
|
-
inv test -c
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
#### CI check: Code formatting
|
|
101
|
-
|
|
102
|
-
Linters are used to check that the code is properly formatted:
|
|
103
|
-
|
|
104
|
-
- [Isort](https://github.com/timothycrosley/isort) for the imports section
|
|
105
|
-
- [Darglint](https://github.com/terrencepreilly/darglint) for the docstrings description
|
|
106
|
-
- [Black](https://github.com/psf/black) for the main code
|
|
107
|
-
- [Pymarkdown](https://github.com/jackdewinter/pymarkdown) for the markdown file README.md
|
|
108
|
-
|
|
109
|
-
The CI check is executed with the following development task:
|
|
110
|
-
|
|
111
|
-
```cmd
|
|
112
|
-
inv lint -c
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
If the CI check fails, execute the following command in the terminal:
|
|
116
|
-
|
|
117
|
-
```cmd
|
|
118
|
-
inv lint
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
This command fixes the parts of the code that should be reformatted. Adding the `-c` (or
|
|
122
|
-
`--check`) optional argument instructs the command to only _check_ if parts of the code should be
|
|
123
|
-
reformatted, without applying any actual changes.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|