detquantlib 2.0.6__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.
@@ -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.
@@ -62,6 +62,35 @@ def save_plotly_fig_to_json(
62
62
  f.write(fig_json)
63
63
 
64
64
 
65
+ def save_plotly_fig_to_html(
66
+ fig: go.Figure,
67
+ filename: str,
68
+ folder_dir: Path = get_default_plotly_folder_dir(),
69
+ standard_layout: bool = True,
70
+ ):
71
+ """
72
+ Saves a plotly figure object to an html file.
73
+
74
+ Args:
75
+ fig: Plotly figure
76
+ filename: Name of html file in which plotly figure will be saved
77
+ folder_dir: Folder directory where the html file will be saved
78
+ standard_layout: If true, enforces a standard plotly layout
79
+ """
80
+ # Create plotly folder if it doesn't exist yet
81
+ folder_dir.mkdir(parents=True, exist_ok=True)
82
+
83
+ # Define html file directory
84
+ file_dir = folder_dir.joinpath(f"{filename}.html")
85
+
86
+ # Adjust figure layout
87
+ if standard_layout:
88
+ fig = set_standard_layout(fig)
89
+
90
+ # Save figure to html
91
+ fig.write_html(file_dir)
92
+
93
+
65
94
  def show_plotly_fig_json(filename: str, folder_dir: Path = get_default_plotly_folder_dir()):
66
95
  """
67
96
  Short helper function to display a plotly figure stored in a json file.
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "detquantlib"
3
- version = "2.0.6"
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 = 5
37
+ multi_line_output = 3
37
38
  include_trailing_comma = true
38
39
  line_length = 99
39
40
  force_grid_wrap = 0
@@ -1,143 +0,0 @@
1
- Metadata-Version: 2.3
2
- Name: detquantlib
3
- Version: 2.0.6
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
-
@@ -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