chromstream 0.0.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.
- chromstream-0.0.1/LICENSE.md +9 -0
- chromstream-0.0.1/MANIFEST.in +1 -0
- chromstream-0.0.1/PKG-INFO +141 -0
- chromstream-0.0.1/README.md +91 -0
- chromstream-0.0.1/pyproject.toml +190 -0
- chromstream-0.0.1/setup.cfg +4 -0
- chromstream-0.0.1/src/chromstream/__init__.py +15 -0
- chromstream-0.0.1/src/chromstream/data_processing.py +363 -0
- chromstream-0.0.1/src/chromstream/objects.py +358 -0
- chromstream-0.0.1/src/chromstream/parsers.py +745 -0
- chromstream-0.0.1/src/chromstream/py.typed +0 -0
- chromstream-0.0.1/src/chromstream.egg-info/PKG-INFO +141 -0
- chromstream-0.0.1/src/chromstream.egg-info/SOURCES.txt +16 -0
- chromstream-0.0.1/src/chromstream.egg-info/dependency_links.txt +1 -0
- chromstream-0.0.1/src/chromstream.egg-info/requires.txt +25 -0
- chromstream-0.0.1/src/chromstream.egg-info/top_level.txt +1 -0
- chromstream-0.0.1/tests/test_objects.py +225 -0
- chromstream-0.0.1/tests/test_parsers.py +166 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
MIT Licencse
|
|
2
|
+
|
|
3
|
+
Copyright <2025> <Sebastian Rejman>
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
6
|
+
|
|
7
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
8
|
+
|
|
9
|
+
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
graft src/chromstream
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: chromstream
|
|
3
|
+
Version: 0.0.1
|
|
4
|
+
Summary: A Python package description goes here.
|
|
5
|
+
Author-email: Sebastian Rejman <s.rejman@uu.nl>
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: repository, https://github.com/Quantum-Accelerators/chromstream
|
|
8
|
+
Project-URL: documentation, https://quantum-accelerators.github.io/chromstream/
|
|
9
|
+
Project-URL: changelog, https://github.com/Quantum-Accelerators/chromstream/blob/main/CHANGELOG.md
|
|
10
|
+
Keywords: MyKeyword1,MyKeyword2
|
|
11
|
+
Classifier: Development Status :: 4 - Beta
|
|
12
|
+
Classifier: Intended Audience :: Science/Research
|
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
18
|
+
Classifier: Intended Audience :: Science/Research
|
|
19
|
+
Classifier: Topic :: Scientific/Engineering
|
|
20
|
+
Classifier: Operating System :: Microsoft :: Windows
|
|
21
|
+
Classifier: Operating System :: Unix
|
|
22
|
+
Classifier: Operating System :: MacOS
|
|
23
|
+
Requires-Python: >=3.9
|
|
24
|
+
Description-Content-Type: text/markdown
|
|
25
|
+
License-File: LICENSE.md
|
|
26
|
+
Requires-Dist: ipykernel>=6.30.1
|
|
27
|
+
Requires-Dist: ipympl>=0.9.7
|
|
28
|
+
Requires-Dist: matplotlib>=3.9.4
|
|
29
|
+
Requires-Dist: mkdocs-include-markdown-plugin>=7.1.7
|
|
30
|
+
Requires-Dist: numpy
|
|
31
|
+
Requires-Dist: pandas>=2.3.2
|
|
32
|
+
Requires-Dist: scipy>=1.13.1
|
|
33
|
+
Provides-Extra: dev
|
|
34
|
+
Requires-Dist: pytest>=7.4.0; extra == "dev"
|
|
35
|
+
Requires-Dist: pytest-cov>=3.0.0; extra == "dev"
|
|
36
|
+
Requires-Dist: ruff>=0.0.285; extra == "dev"
|
|
37
|
+
Provides-Extra: docs
|
|
38
|
+
Requires-Dist: mkdocs>=1.6.1; extra == "docs"
|
|
39
|
+
Requires-Dist: mkdocs-autorefs>=1.4.3; extra == "docs"
|
|
40
|
+
Requires-Dist: mkdocs-gen-files>=0.5.0; extra == "docs"
|
|
41
|
+
Requires-Dist: mkdocs-include-markdown-plugin>=7.1.7; extra == "docs"
|
|
42
|
+
Requires-Dist: mkdocs-jupyter>=0.25.1; extra == "docs"
|
|
43
|
+
Requires-Dist: mkdocs-literate-nav>=0.6.2; extra == "docs"
|
|
44
|
+
Requires-Dist: mkdocs-material>=9.6.19; extra == "docs"
|
|
45
|
+
Requires-Dist: mkdocstrings>=0.30.0; extra == "docs"
|
|
46
|
+
Requires-Dist: mkdocstrings-python>=1.18.2; extra == "docs"
|
|
47
|
+
Requires-Dist: pillow>=10.0.0; extra == "docs"
|
|
48
|
+
Requires-Dist: cairosvg>=2.7.1; extra == "docs"
|
|
49
|
+
Dynamic: license-file
|
|
50
|
+
|
|
51
|
+
# ChromStream
|
|
52
|
+
|
|
53
|
+
<p align="center">
|
|
54
|
+
<img src="docs/assets/chromstream_logo.svg" alt="pyGCxGC Logo" width="200"/>
|
|
55
|
+
</p>
|
|
56
|
+
|
|
57
|
+
A Python package for processing on-line gas chromatography data. ChromStream provides tools to parse, analyze, and visualize chromatographic data from various GC systems, and combine it with data from logfiles such as temperature and pressure.
|
|
58
|
+
|
|
59
|
+
## Features
|
|
60
|
+
|
|
61
|
+
- Parse chromatographic data from multiple formats (Chromeleon, FID, etc.)
|
|
62
|
+
- Access to data at experiment, channel and chromatogram level
|
|
63
|
+
- Quick plotting of chromatograms
|
|
64
|
+
- Small selection of baseline corrections, possibility to use custom ones
|
|
65
|
+
- Integration using a dict of peaks
|
|
66
|
+
- Addition of logfiles
|
|
67
|
+
|
|
68
|
+
## Installation
|
|
69
|
+
|
|
70
|
+
### Installing using pip
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
pip install ChromStream
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Install using uv
|
|
77
|
+
|
|
78
|
+
If you're using [uv](https://github.com/astral-sh/uv) for fast Python package management:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
uv add ChromStream
|
|
82
|
+
```
|
|
83
|
+
## Quick Start
|
|
84
|
+
|
|
85
|
+
Check the Quickstart Notebook to see a full demonstration of the most important features of the package.
|
|
86
|
+
Here's a simple example of how to set up an experiment, add chromatograms and plot them:
|
|
87
|
+
|
|
88
|
+
```python
|
|
89
|
+
import chromstream as cs
|
|
90
|
+
|
|
91
|
+
exp = cs.Experiment(name='hello there')
|
|
92
|
+
exp.add_chromatogram('path-to-your-chromatogram') #loop over files to add multiple
|
|
93
|
+
exp.plot_chromatograms()
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
To access specific channels:
|
|
97
|
+
```python
|
|
98
|
+
exp.channels['channel-name'].plot()
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
For specific chromatograms:
|
|
102
|
+
|
|
103
|
+
```python
|
|
104
|
+
exp.channels['channel-name'].chromatograms[0].plot()
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## Supported File Formats
|
|
108
|
+
|
|
109
|
+
ChromStream currently supports parsing data from:
|
|
110
|
+
|
|
111
|
+
- Chromeleon software exports (`.txt`)
|
|
112
|
+
- (software names) (ascii files)
|
|
113
|
+
- simple log files (e.g. exported from labview)
|
|
114
|
+
|
|
115
|
+
## Documentation
|
|
116
|
+
|
|
117
|
+
- You can find the full documentation of the package [here](https://myonics.github.io/ChromStream/).
|
|
118
|
+
|
|
119
|
+
## Example Notebooks
|
|
120
|
+
|
|
121
|
+
Check out the `example_notebooks/` directory for comprehensive examples:
|
|
122
|
+
|
|
123
|
+
- `example_calibration.ipynb` - GC calibration procedures
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
## Roadmap
|
|
127
|
+
- Support for more files formats
|
|
128
|
+
- Addition of more data sources such as spectroscopy
|
|
129
|
+
- JSON saving and parsings
|
|
130
|
+
- tests
|
|
131
|
+
|
|
132
|
+
## Contributing
|
|
133
|
+
This package is in active development. Any help is appreciated. You can submit feature requests or bug reports as issues on the repository.
|
|
134
|
+
If you have a specific file format which presently is nto supported please provide an example file.
|
|
135
|
+
PRs are more than welcome.
|
|
136
|
+
|
|
137
|
+
## Authors
|
|
138
|
+
|
|
139
|
+
Sebastian Rejman - Utrecht University
|
|
140
|
+
|
|
141
|
+
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# ChromStream
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<img src="docs/assets/chromstream_logo.svg" alt="pyGCxGC Logo" width="200"/>
|
|
5
|
+
</p>
|
|
6
|
+
|
|
7
|
+
A Python package for processing on-line gas chromatography data. ChromStream provides tools to parse, analyze, and visualize chromatographic data from various GC systems, and combine it with data from logfiles such as temperature and pressure.
|
|
8
|
+
|
|
9
|
+
## Features
|
|
10
|
+
|
|
11
|
+
- Parse chromatographic data from multiple formats (Chromeleon, FID, etc.)
|
|
12
|
+
- Access to data at experiment, channel and chromatogram level
|
|
13
|
+
- Quick plotting of chromatograms
|
|
14
|
+
- Small selection of baseline corrections, possibility to use custom ones
|
|
15
|
+
- Integration using a dict of peaks
|
|
16
|
+
- Addition of logfiles
|
|
17
|
+
|
|
18
|
+
## Installation
|
|
19
|
+
|
|
20
|
+
### Installing using pip
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
pip install ChromStream
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### Install using uv
|
|
27
|
+
|
|
28
|
+
If you're using [uv](https://github.com/astral-sh/uv) for fast Python package management:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
uv add ChromStream
|
|
32
|
+
```
|
|
33
|
+
## Quick Start
|
|
34
|
+
|
|
35
|
+
Check the Quickstart Notebook to see a full demonstration of the most important features of the package.
|
|
36
|
+
Here's a simple example of how to set up an experiment, add chromatograms and plot them:
|
|
37
|
+
|
|
38
|
+
```python
|
|
39
|
+
import chromstream as cs
|
|
40
|
+
|
|
41
|
+
exp = cs.Experiment(name='hello there')
|
|
42
|
+
exp.add_chromatogram('path-to-your-chromatogram') #loop over files to add multiple
|
|
43
|
+
exp.plot_chromatograms()
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
To access specific channels:
|
|
47
|
+
```python
|
|
48
|
+
exp.channels['channel-name'].plot()
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
For specific chromatograms:
|
|
52
|
+
|
|
53
|
+
```python
|
|
54
|
+
exp.channels['channel-name'].chromatograms[0].plot()
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Supported File Formats
|
|
58
|
+
|
|
59
|
+
ChromStream currently supports parsing data from:
|
|
60
|
+
|
|
61
|
+
- Chromeleon software exports (`.txt`)
|
|
62
|
+
- (software names) (ascii files)
|
|
63
|
+
- simple log files (e.g. exported from labview)
|
|
64
|
+
|
|
65
|
+
## Documentation
|
|
66
|
+
|
|
67
|
+
- You can find the full documentation of the package [here](https://myonics.github.io/ChromStream/).
|
|
68
|
+
|
|
69
|
+
## Example Notebooks
|
|
70
|
+
|
|
71
|
+
Check out the `example_notebooks/` directory for comprehensive examples:
|
|
72
|
+
|
|
73
|
+
- `example_calibration.ipynb` - GC calibration procedures
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
## Roadmap
|
|
77
|
+
- Support for more files formats
|
|
78
|
+
- Addition of more data sources such as spectroscopy
|
|
79
|
+
- JSON saving and parsings
|
|
80
|
+
- tests
|
|
81
|
+
|
|
82
|
+
## Contributing
|
|
83
|
+
This package is in active development. Any help is appreciated. You can submit feature requests or bug reports as issues on the repository.
|
|
84
|
+
If you have a specific file format which presently is nto supported please provide an example file.
|
|
85
|
+
PRs are more than welcome.
|
|
86
|
+
|
|
87
|
+
## Authors
|
|
88
|
+
|
|
89
|
+
Sebastian Rejman - Utrecht University
|
|
90
|
+
|
|
91
|
+
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "chromstream"
|
|
7
|
+
description="A Python package description goes here."
|
|
8
|
+
version = "0.0.1"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
license = { text = "MIT" }
|
|
11
|
+
authors = [{ name = "Sebastian Rejman", email = "s.rejman@uu.nl" }]
|
|
12
|
+
keywords = ["MyKeyword1", "MyKeyword2"]
|
|
13
|
+
classifiers = [
|
|
14
|
+
"Development Status :: 4 - Beta",
|
|
15
|
+
"Intended Audience :: Science/Research",
|
|
16
|
+
"Programming Language :: Python :: 3",
|
|
17
|
+
"Programming Language :: Python :: 3.10",
|
|
18
|
+
"Programming Language :: Python :: 3.11",
|
|
19
|
+
"Programming Language :: Python :: 3.12",
|
|
20
|
+
"Programming Language :: Python :: 3.13",
|
|
21
|
+
"Intended Audience :: Science/Research",
|
|
22
|
+
"Topic :: Scientific/Engineering",
|
|
23
|
+
"Operating System :: Microsoft :: Windows",
|
|
24
|
+
"Operating System :: Unix",
|
|
25
|
+
"Operating System :: MacOS",
|
|
26
|
+
]
|
|
27
|
+
requires-python = ">=3.9"
|
|
28
|
+
dependencies = [
|
|
29
|
+
"ipykernel>=6.30.1",
|
|
30
|
+
"ipympl>=0.9.7",
|
|
31
|
+
"matplotlib>=3.9.4",
|
|
32
|
+
"mkdocs-include-markdown-plugin>=7.1.7",
|
|
33
|
+
"numpy",
|
|
34
|
+
"pandas>=2.3.2",
|
|
35
|
+
"scipy>=1.13.1",
|
|
36
|
+
]
|
|
37
|
+
|
|
38
|
+
[project.optional-dependencies]
|
|
39
|
+
dev = ["pytest>=7.4.0", "pytest-cov>=3.0.0", "ruff>=0.0.285"]
|
|
40
|
+
docs = [
|
|
41
|
+
"mkdocs>=1.6.1",
|
|
42
|
+
"mkdocs-autorefs>=1.4.3",
|
|
43
|
+
"mkdocs-gen-files>=0.5.0",
|
|
44
|
+
"mkdocs-include-markdown-plugin>=7.1.7",
|
|
45
|
+
"mkdocs-jupyter>=0.25.1",
|
|
46
|
+
"mkdocs-literate-nav>=0.6.2",
|
|
47
|
+
"mkdocs-material>=9.6.19",
|
|
48
|
+
"mkdocstrings>=0.30.0",
|
|
49
|
+
"mkdocstrings-python>=1.18.2",
|
|
50
|
+
"pillow>=10.0.0",
|
|
51
|
+
"cairosvg>=2.7.1"
|
|
52
|
+
]
|
|
53
|
+
|
|
54
|
+
[project.urls]
|
|
55
|
+
repository = "https://github.com/Quantum-Accelerators/chromstream"
|
|
56
|
+
documentation = "https://quantum-accelerators.github.io/chromstream/"
|
|
57
|
+
changelog = "https://github.com/Quantum-Accelerators/chromstream/blob/main/CHANGELOG.md"
|
|
58
|
+
|
|
59
|
+
[tool.setuptools.package-data]
|
|
60
|
+
chromstream = ["py.typed"]
|
|
61
|
+
|
|
62
|
+
[tool.pyright]
|
|
63
|
+
include = ["chromstream"]
|
|
64
|
+
exclude = ["**/__pycache__"]
|
|
65
|
+
typeCheckingMode = "basic"
|
|
66
|
+
reportGeneralTypeIssues = false
|
|
67
|
+
reportOptionalMemberAccess = false
|
|
68
|
+
reportOptionalSubscript = false
|
|
69
|
+
reportOptionalOperand = false
|
|
70
|
+
|
|
71
|
+
[tool.pytest.ini_options]
|
|
72
|
+
minversion = "6.0"
|
|
73
|
+
addopts = ["-p no:warnings", "--import-mode=importlib"]
|
|
74
|
+
xfail_strict = true
|
|
75
|
+
log_cli_level = "warn"
|
|
76
|
+
pythonpath = "src"
|
|
77
|
+
testpaths = ["tests"]
|
|
78
|
+
|
|
79
|
+
[tool.black]
|
|
80
|
+
exclude = '''
|
|
81
|
+
/(
|
|
82
|
+
\.git
|
|
83
|
+
| \.tox
|
|
84
|
+
)/
|
|
85
|
+
'''
|
|
86
|
+
skip-magic-trailing-comma = true
|
|
87
|
+
line-length = 88
|
|
88
|
+
|
|
89
|
+
[tool.isort]
|
|
90
|
+
profile = 'black'
|
|
91
|
+
skip_gitignore = true
|
|
92
|
+
|
|
93
|
+
[tool.coverage.run]
|
|
94
|
+
source = ["src"]
|
|
95
|
+
|
|
96
|
+
[tool.coverage.report]
|
|
97
|
+
exclude_also = [
|
|
98
|
+
"if TYPE_CHECKING:",
|
|
99
|
+
"if __name__ == .__main__.:",
|
|
100
|
+
"except ImportError",
|
|
101
|
+
]
|
|
102
|
+
|
|
103
|
+
[tool.ruff]
|
|
104
|
+
lint.select = [
|
|
105
|
+
"A", # flake8-builtins
|
|
106
|
+
"ARG", # flake8-unused-arguments
|
|
107
|
+
"ASYNC", # flake8-async
|
|
108
|
+
"ASYNC1", # flake8-async1
|
|
109
|
+
"B", # flake8-bugbear
|
|
110
|
+
"C4", # flake8-comprehensions
|
|
111
|
+
"E", # pycodestyle error
|
|
112
|
+
"EXE", # flake8-executable
|
|
113
|
+
"F", # pyflakes
|
|
114
|
+
"FA", # flake8-future-annotations
|
|
115
|
+
"FLY", # flynt
|
|
116
|
+
"I", # isort
|
|
117
|
+
"ICN", # flake8-import-conventions
|
|
118
|
+
"INT", # flake8-gettext
|
|
119
|
+
"ISC", # flake8-implicit-str-concat
|
|
120
|
+
"NPY", # numpy-specific rules
|
|
121
|
+
"PD", # pandas-vet
|
|
122
|
+
"PERF", # perflint
|
|
123
|
+
"PIE", # flake8-pie
|
|
124
|
+
"PL", # pylint
|
|
125
|
+
"PT", # flake8-pytest-style
|
|
126
|
+
"PYI", # flake8-pyi
|
|
127
|
+
"RET", # flake8-return
|
|
128
|
+
"RSE", # flake8-raise
|
|
129
|
+
"RUF", # Ruff-specific rules
|
|
130
|
+
"SIM", # flake8-simplify
|
|
131
|
+
"SLOT", # flake8-slots
|
|
132
|
+
"T20", # flake8-print
|
|
133
|
+
"TCH", # flake8-type-checking
|
|
134
|
+
"TID", # flake8-tidy-imports
|
|
135
|
+
"UP", # pyupgrade
|
|
136
|
+
"W", # pycodestyle warning
|
|
137
|
+
"YTT", # flake8-2020
|
|
138
|
+
]
|
|
139
|
+
lint.ignore = [
|
|
140
|
+
"E501", # Line too long (enable length checking via ruff/black below)
|
|
141
|
+
"ISC001", # single-line-implicit-string-concatenation
|
|
142
|
+
"PLR", # Design related pylint codes
|
|
143
|
+
"PERF203", # try-except-in-loop
|
|
144
|
+
"RET505", # Unnecessary `elif` after `return`
|
|
145
|
+
"PLC0415", # `import` should be at the top-level of a file
|
|
146
|
+
"I001",
|
|
147
|
+
]
|
|
148
|
+
lint.unfixable = [
|
|
149
|
+
"T20", # Removes print statements
|
|
150
|
+
"F841", # Removes unused variables
|
|
151
|
+
]
|
|
152
|
+
lint.pydocstyle.convention = "numpy"
|
|
153
|
+
lint.isort.known-first-party = ["chromstream"]
|
|
154
|
+
lint.isort.required-imports = ["from __future__ import annotations"]
|
|
155
|
+
lint.isort.split-on-trailing-comma=false
|
|
156
|
+
src = ["src"]
|
|
157
|
+
extend-include = ["*.ipynb"]
|
|
158
|
+
line-length = 88
|
|
159
|
+
|
|
160
|
+
[tool.ruff.format]
|
|
161
|
+
docstring-code-format = true
|
|
162
|
+
skip-magic-trailing-comma = true
|
|
163
|
+
|
|
164
|
+
[tool.ruff.lint.per-file-ignores]
|
|
165
|
+
"__init__.py" = ["F401"]
|
|
166
|
+
"tests/**" = ["ANN", "ARG", "D", "E402", "PTH", "S101"]
|
|
167
|
+
|
|
168
|
+
[tool.docformatter]
|
|
169
|
+
pre-summary-newline = true
|
|
170
|
+
black = true
|
|
171
|
+
|
|
172
|
+
[tool.mypy]
|
|
173
|
+
ignore_missing_imports = true
|
|
174
|
+
namespace_packages = true
|
|
175
|
+
explicit_package_bases = true
|
|
176
|
+
no_implicit_optional = false
|
|
177
|
+
disable_error_code = ["annotation-unchecked", "operator"]
|
|
178
|
+
check_untyped_defs = false
|
|
179
|
+
disallow_untyped_calls = false
|
|
180
|
+
warn_return_any = false
|
|
181
|
+
|
|
182
|
+
lint.quotes = "double"
|
|
183
|
+
|
|
184
|
+
[tool.uv.sources]
|
|
185
|
+
chromstream = { workspace = true }
|
|
186
|
+
|
|
187
|
+
[dependency-groups]
|
|
188
|
+
docs = [
|
|
189
|
+
"chromstream",
|
|
190
|
+
]
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"""Init data"""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from importlib.metadata import version
|
|
6
|
+
|
|
7
|
+
from .parsers import *
|
|
8
|
+
|
|
9
|
+
from .objects import *
|
|
10
|
+
|
|
11
|
+
from .data_processing import *
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# Load the version
|
|
15
|
+
__version__ = version("chromstream")
|