ozzy-pic 1.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.
Files changed (49) hide show
  1. ozzy_pic-1.0.1/LICENSE +9 -0
  2. ozzy_pic-1.0.1/PKG-INFO +155 -0
  3. ozzy_pic-1.0.1/README.md +102 -0
  4. ozzy_pic-1.0.1/pyproject.toml +151 -0
  5. ozzy_pic-1.0.1/src/ozzy/__init__.py +17 -0
  6. ozzy_pic-1.0.1/src/ozzy/accessors.py +571 -0
  7. ozzy_pic-1.0.1/src/ozzy/backend_interface.py +261 -0
  8. ozzy_pic-1.0.1/src/ozzy/backends/__init__.py +1 -0
  9. ozzy_pic-1.0.1/src/ozzy/backends/lcode_backend.py +995 -0
  10. ozzy_pic-1.0.1/src/ozzy/backends/lcode_file_key.csv +22 -0
  11. ozzy_pic-1.0.1/src/ozzy/backends/osiris_backend.py +292 -0
  12. ozzy_pic-1.0.1/src/ozzy/backends/ozzy_backend.py +72 -0
  13. ozzy_pic-1.0.1/src/ozzy/backends/template_backend.py +73 -0
  14. ozzy_pic-1.0.1/src/ozzy/core.py +493 -0
  15. ozzy_pic-1.0.1/src/ozzy/fields.py +258 -0
  16. ozzy_pic-1.0.1/src/ozzy/fonts/Crimson_Pro/CrimsonPro-Italic-VariableFont_wght.ttf +0 -0
  17. ozzy_pic-1.0.1/src/ozzy/fonts/Crimson_Pro/CrimsonPro-VariableFont_wght.ttf +0 -0
  18. ozzy_pic-1.0.1/src/ozzy/fonts/Crimson_Pro/OFL.txt +93 -0
  19. ozzy_pic-1.0.1/src/ozzy/fonts/Crimson_Pro/README.txt +79 -0
  20. ozzy_pic-1.0.1/src/ozzy/fonts/Maitree/Maitree-Bold.ttf +0 -0
  21. ozzy_pic-1.0.1/src/ozzy/fonts/Maitree/Maitree-ExtraLight.ttf +0 -0
  22. ozzy_pic-1.0.1/src/ozzy/fonts/Maitree/Maitree-Light.ttf +0 -0
  23. ozzy_pic-1.0.1/src/ozzy/fonts/Maitree/Maitree-Medium.ttf +0 -0
  24. ozzy_pic-1.0.1/src/ozzy/fonts/Maitree/Maitree-Regular.ttf +0 -0
  25. ozzy_pic-1.0.1/src/ozzy/fonts/Maitree/Maitree-SemiBold.ttf +0 -0
  26. ozzy_pic-1.0.1/src/ozzy/fonts/Maitree/OFL.txt +93 -0
  27. ozzy_pic-1.0.1/src/ozzy/fonts/Noto_Serif/NotoSerif-Italic-VariableFont_wdth,wght.ttf +0 -0
  28. ozzy_pic-1.0.1/src/ozzy/fonts/Noto_Serif/NotoSerif-VariableFont_wdth,wght.ttf +0 -0
  29. ozzy_pic-1.0.1/src/ozzy/fonts/Noto_Serif/OFL.txt +93 -0
  30. ozzy_pic-1.0.1/src/ozzy/fonts/Noto_Serif/README.txt +136 -0
  31. ozzy_pic-1.0.1/src/ozzy/fonts/Roboto_Serif/OFL.txt +93 -0
  32. ozzy_pic-1.0.1/src/ozzy/fonts/Roboto_Serif/README.txt +786 -0
  33. ozzy_pic-1.0.1/src/ozzy/fonts/Roboto_Serif/RobotoSerif-Italic-VariableFont_GRAD,opsz,wdth,wght.ttf +0 -0
  34. ozzy_pic-1.0.1/src/ozzy/fonts/Roboto_Serif/RobotoSerif-VariableFont_GRAD,opsz,wdth,wght.ttf +0 -0
  35. ozzy_pic-1.0.1/src/ozzy/fonts/STIX_Two_Text/OFL.txt +93 -0
  36. ozzy_pic-1.0.1/src/ozzy/fonts/STIX_Two_Text/README.txt +71 -0
  37. ozzy_pic-1.0.1/src/ozzy/fonts/STIX_Two_Text/STIXTwoText-Italic-VariableFont_wght.ttf +0 -0
  38. ozzy_pic-1.0.1/src/ozzy/fonts/STIX_Two_Text/STIXTwoText-VariableFont_wght.ttf +0 -0
  39. ozzy_pic-1.0.1/src/ozzy/fonts/Source_Serif_4/OFL.txt +91 -0
  40. ozzy_pic-1.0.1/src/ozzy/fonts/Source_Serif_4/README.txt +128 -0
  41. ozzy_pic-1.0.1/src/ozzy/fonts/Source_Serif_4/SourceSerif4-Italic-VariableFont_opsz,wght.ttf +0 -0
  42. ozzy_pic-1.0.1/src/ozzy/fonts/Source_Serif_4/SourceSerif4-VariableFont_opsz,wght.ttf +0 -0
  43. ozzy_pic-1.0.1/src/ozzy/grid_mixin.py +118 -0
  44. ozzy_pic-1.0.1/src/ozzy/new_dataobj.py +66 -0
  45. ozzy_pic-1.0.1/src/ozzy/part_mixin.py +742 -0
  46. ozzy_pic-1.0.1/src/ozzy/plot.py +1095 -0
  47. ozzy_pic-1.0.1/src/ozzy/statistics.py +314 -0
  48. ozzy_pic-1.0.1/src/ozzy/tol_colors.py +825 -0
  49. ozzy_pic-1.0.1/src/ozzy/utils.py +942 -0
ozzy_pic-1.0.1/LICENSE ADDED
@@ -0,0 +1,9 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Mariana Moreira
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,155 @@
1
+ Metadata-Version: 2.1
2
+ Name: ozzy-pic
3
+ Version: 1.0.1
4
+ Summary: PIC simulation data analysis for the lazy and impatient
5
+ Home-page: https://mtrocadomoreira.github.io/ozzy/
6
+ License: MIT
7
+ Author: Mariana Moreira
8
+ Author-email: mtrocadomoreira@gmail.com
9
+ Requires-Python: >=3.10,<4
10
+ Classifier: Development Status :: 4 - Beta
11
+ Classifier: Framework :: Hypothesis
12
+ Classifier: Framework :: IPython
13
+ Classifier: Framework :: Jupyter
14
+ Classifier: Framework :: Jupyter :: JupyterLab
15
+ Classifier: Framework :: Matplotlib
16
+ Classifier: Framework :: MkDocs
17
+ Classifier: Framework :: Pytest
18
+ Classifier: Intended Audience :: Science/Research
19
+ Classifier: License :: OSI Approved :: MIT License
20
+ Classifier: Natural Language :: English
21
+ Classifier: Operating System :: MacOS
22
+ Classifier: Operating System :: Microsoft
23
+ Classifier: Operating System :: Unix
24
+ Classifier: Programming Language :: Python
25
+ Classifier: Programming Language :: Python :: 3
26
+ Classifier: Programming Language :: Python :: 3.10
27
+ Classifier: Programming Language :: Python :: 3.11
28
+ Classifier: Programming Language :: Python :: 3.12
29
+ Classifier: Programming Language :: Python :: 3.13
30
+ Classifier: Topic :: Scientific/Engineering :: Physics
31
+ Classifier: Topic :: Scientific/Engineering :: Visualization
32
+ Provides-Extra: perf
33
+ Requires-Dist: cmcrameri (>=1.9,<2.0)
34
+ Requires-Dist: dask (>=2024.10.0,<2025.0.0)
35
+ Requires-Dist: dask-expr (>=1.1.16,<2.0.0)
36
+ Requires-Dist: flox (>=0.9.13,<0.10.0)
37
+ Requires-Dist: h5netcdf (>=1.4.0,<2.0.0)
38
+ Requires-Dist: h5py (>=3.12.1,<4.0.0)
39
+ Requires-Dist: hvplot (>=0.11.1,<0.12.0)
40
+ Requires-Dist: ipykernel (>=6.29.5,<7.0.0)
41
+ Requires-Dist: ipython (>=8.28.0,<9.0.0)
42
+ Requires-Dist: jupyter-bokeh (>=4.0.5,<5.0.0)
43
+ Requires-Dist: matplotlib (>=3.9.2,<4.0.0)
44
+ Requires-Dist: numba (>=0.60.0,<0.61.0)
45
+ Requires-Dist: numbagg (>=0.8.2,<0.9.0) ; extra == "perf"
46
+ Requires-Dist: numpy-groupies (>=0.11.2,<0.12.0) ; extra == "perf"
47
+ Requires-Dist: seaborn (>=0.13.2,<0.14.0)
48
+ Requires-Dist: tqdm (>=4.66.5,<5.0.0)
49
+ Requires-Dist: xarray (>=2024.9.0,<2025.0.0)
50
+ Project-URL: Repository, https://github.com/mtrocadomoreira/ozzy.git
51
+ Description-Content-Type: text/markdown
52
+
53
+
54
+ <picture>
55
+ <source media="(prefers-color-scheme: dark)" srcset="docs/docs/assets/ozzy_logo_dark.svg" >
56
+ <source media="(prefers-color-scheme: light)" srcset="docs/docs/assets/ozzy_logo.svg">
57
+ <img width="250" title="ozzy logo" alt="ozzy logo" src="docs/docs/assets/ozzy_logo.svg">
58
+ </picture>
59
+
60
+ #
61
+
62
+ Ozzy is a data visualization and data wrangling Python package geared towards **particle-in-cell (PIC) simulations** and the **plasma physics** community.
63
+
64
+ Ozzy's philosophy is to make the analysis of simulation data originating from multiple simulation codes and often contained in large files as easy as possible by building on the powerful features of the [xarray](https://xarray.dev/) package.
65
+
66
+
67
+ ### **Why ozzy?**
68
+
69
+ - **Any simulation code**
70
+
71
+ Read and plot simulation data written by any PIC simulation code. Write the backend to parse the data once and move on. *Currently available*: [OSIRIS](https://osiris-code.github.io/) and [LCODE](https://lcode.info/).
72
+
73
+ - **Labeled dimensions** (thanks to [xarray](https://xarray.dev/))
74
+
75
+ Think like a physicist, not like a software engineer. You'll never have to wonder which numerical index corresponds to the $x$ dimension of that array again.
76
+
77
+ - **No file size too large** (thanks to [Dask](https://www.dask.org/))
78
+
79
+ Chunking and lazy-loading of large data files are handled automatically by [xarray](https://xarray.dev/) and [Dask](https://www.dask.org/).
80
+
81
+ - **Flexible**
82
+
83
+ We embrace [xarray](https://xarray.dev/) and [Dask](https://www.dask.org/) data objects, but you don't have to. Easily manipulate your data as trusty [NumPy](https://numpy.org/) arrays whenever convenient.
84
+
85
+ - **Beautiful plots with one line of code**
86
+
87
+ Ozzy lays the groundwork using the dataset's metadata.
88
+
89
+
90
+ ## Installation
91
+
92
+ > [!IMPORTANT]
93
+ > Ozzy requires Python >= 3.10.
94
+
95
+ A detailed guide is available in the ["Installation" page of the documentation](https://mtrocadomoreira.github.io/ozzy/user-guide/installation/).
96
+
97
+ We highly recommend installing ozzy in its own virtual environment.
98
+
99
+ ### conda (recommended)
100
+
101
+ ```bash
102
+ conda install ozzy-pic
103
+ ```
104
+
105
+ ### pip
106
+
107
+ ```bash
108
+ python3 -m pip install ozzy-pic
109
+ ```
110
+
111
+
112
+ Head to the documentation page to see some [examples of how to get started](https://mtrocadomoreira.github.io/ozzy/user-guide/getting-started/).
113
+
114
+ ## Documentation
115
+
116
+ All the documentation can be found at [https://mtrocadomoreira.github.io/ozzy](https://mtrocadomoreira.github.io/ozzy).
117
+
118
+ ## Acknowledgment
119
+
120
+ Please consider acknowledging ozzy if you use it to produce images or results published in a scientific publication, for example by including the following text in the acknowledgments and/or citing ozzy's Zenodo reference[^1]:
121
+
122
+ > The data and plots in this publication were processed with ozzy[^1], a freely available data visualization and analysis package.
123
+
124
+ [^1]: M. Moreira, “Ozzy: A flexible Python package for PIC simulation data analysis and visualization”. Zenodo, Jul. 16, 2024. [doi: 10.5281/zenodo.12752995](https://doi.org/10.5281/zenodo.12752995).
125
+
126
+ In addition, please note that `ozzy.plot` uses two [color maps developed by Fabio Crameri](https://www.fabiocrameri.ch/colourmaps/) (licensed under an MIT license) by default: vik (diverging) and lipari (sequential). **These color maps should be acknowledged if used in a published image**, for example with:
127
+
128
+ > The Scientific colour map lipari[^2] is used in this study to prevent visual distortion of the data and exclusion of readers with colour-vision deficiencies[^3].
129
+
130
+ [^2]: F. Crameri, "Scientific colour maps". Zenodo, Oct. 05, 2023. [doi: 10.5281/zenodo.8409685](http://doi.org/10.5281/zenodo.8409685).
131
+
132
+ [^3]: F. Crameri, G.E. Shephard, and P.J. Heron, "The misuse of colour in science communication". Nat. Commun. **11**, 5444 (2020). [doi: 10.1038/s41467-020-19160-7](https://doi.org/10.1038/s41467-020-19160-7).
133
+
134
+ More information about the colour libraries used by ozzy can be found in the ["Plotting" section of the User Guide]().
135
+
136
+
137
+ ## License
138
+
139
+ Copyright &copy; 2024 Mariana Moreira - All Rights Reserved
140
+
141
+ You may use, distribute and modify this code under the terms of the MIT License.
142
+
143
+ Ozzy bundles [Paul Tol's colour schemes definition](https://personal.sron.nl/~pault/), which is available under a ["3-clause BSD" license](https://opensource.org/license/BSD-3-Clause). The qualitative colour scheme "muted" is used by default in `ozzy.plot`.
144
+
145
+ The plotting submodule of ozzy (`ozzy.plot`) also bundles a few different fonts under the [SIL Open Font License (OFL)](https://openfontlicense.org/), which is a free and open-source license. The full text of these licenses is included for each font in the fonts directory (`src/ozzy/fonts/`). See more details about the bundled fonts and their copyright notices in the ["License" section of the documentation](https://mtrocadomoreira.github.io/ozzy/about/license/#fonts).
146
+
147
+
148
+
149
+ <picture>
150
+ <source media="(prefers-color-scheme: dark)" srcset="docs/docs/assets/ozzy_icon_dark.svg" >
151
+ <source media="(prefers-color-scheme: light)" srcset="docs/docs/assets/ozzy_icon.svg">
152
+ <img width="60" title="ozzy icon" alt="ozzy icon" src="docs/docs/assets/ozzy_icon.svg">
153
+ </picture>
154
+
155
+
@@ -0,0 +1,102 @@
1
+
2
+ <picture>
3
+ <source media="(prefers-color-scheme: dark)" srcset="docs/docs/assets/ozzy_logo_dark.svg" >
4
+ <source media="(prefers-color-scheme: light)" srcset="docs/docs/assets/ozzy_logo.svg">
5
+ <img width="250" title="ozzy logo" alt="ozzy logo" src="docs/docs/assets/ozzy_logo.svg">
6
+ </picture>
7
+
8
+ #
9
+
10
+ Ozzy is a data visualization and data wrangling Python package geared towards **particle-in-cell (PIC) simulations** and the **plasma physics** community.
11
+
12
+ Ozzy's philosophy is to make the analysis of simulation data originating from multiple simulation codes and often contained in large files as easy as possible by building on the powerful features of the [xarray](https://xarray.dev/) package.
13
+
14
+
15
+ ### **Why ozzy?**
16
+
17
+ - **Any simulation code**
18
+
19
+ Read and plot simulation data written by any PIC simulation code. Write the backend to parse the data once and move on. *Currently available*: [OSIRIS](https://osiris-code.github.io/) and [LCODE](https://lcode.info/).
20
+
21
+ - **Labeled dimensions** (thanks to [xarray](https://xarray.dev/))
22
+
23
+ Think like a physicist, not like a software engineer. You'll never have to wonder which numerical index corresponds to the $x$ dimension of that array again.
24
+
25
+ - **No file size too large** (thanks to [Dask](https://www.dask.org/))
26
+
27
+ Chunking and lazy-loading of large data files are handled automatically by [xarray](https://xarray.dev/) and [Dask](https://www.dask.org/).
28
+
29
+ - **Flexible**
30
+
31
+ We embrace [xarray](https://xarray.dev/) and [Dask](https://www.dask.org/) data objects, but you don't have to. Easily manipulate your data as trusty [NumPy](https://numpy.org/) arrays whenever convenient.
32
+
33
+ - **Beautiful plots with one line of code**
34
+
35
+ Ozzy lays the groundwork using the dataset's metadata.
36
+
37
+
38
+ ## Installation
39
+
40
+ > [!IMPORTANT]
41
+ > Ozzy requires Python >= 3.10.
42
+
43
+ A detailed guide is available in the ["Installation" page of the documentation](https://mtrocadomoreira.github.io/ozzy/user-guide/installation/).
44
+
45
+ We highly recommend installing ozzy in its own virtual environment.
46
+
47
+ ### conda (recommended)
48
+
49
+ ```bash
50
+ conda install ozzy-pic
51
+ ```
52
+
53
+ ### pip
54
+
55
+ ```bash
56
+ python3 -m pip install ozzy-pic
57
+ ```
58
+
59
+
60
+ Head to the documentation page to see some [examples of how to get started](https://mtrocadomoreira.github.io/ozzy/user-guide/getting-started/).
61
+
62
+ ## Documentation
63
+
64
+ All the documentation can be found at [https://mtrocadomoreira.github.io/ozzy](https://mtrocadomoreira.github.io/ozzy).
65
+
66
+ ## Acknowledgment
67
+
68
+ Please consider acknowledging ozzy if you use it to produce images or results published in a scientific publication, for example by including the following text in the acknowledgments and/or citing ozzy's Zenodo reference[^1]:
69
+
70
+ > The data and plots in this publication were processed with ozzy[^1], a freely available data visualization and analysis package.
71
+
72
+ [^1]: M. Moreira, “Ozzy: A flexible Python package for PIC simulation data analysis and visualization”. Zenodo, Jul. 16, 2024. [doi: 10.5281/zenodo.12752995](https://doi.org/10.5281/zenodo.12752995).
73
+
74
+ In addition, please note that `ozzy.plot` uses two [color maps developed by Fabio Crameri](https://www.fabiocrameri.ch/colourmaps/) (licensed under an MIT license) by default: vik (diverging) and lipari (sequential). **These color maps should be acknowledged if used in a published image**, for example with:
75
+
76
+ > The Scientific colour map lipari[^2] is used in this study to prevent visual distortion of the data and exclusion of readers with colour-vision deficiencies[^3].
77
+
78
+ [^2]: F. Crameri, "Scientific colour maps". Zenodo, Oct. 05, 2023. [doi: 10.5281/zenodo.8409685](http://doi.org/10.5281/zenodo.8409685).
79
+
80
+ [^3]: F. Crameri, G.E. Shephard, and P.J. Heron, "The misuse of colour in science communication". Nat. Commun. **11**, 5444 (2020). [doi: 10.1038/s41467-020-19160-7](https://doi.org/10.1038/s41467-020-19160-7).
81
+
82
+ More information about the colour libraries used by ozzy can be found in the ["Plotting" section of the User Guide]().
83
+
84
+
85
+ ## License
86
+
87
+ Copyright &copy; 2024 Mariana Moreira - All Rights Reserved
88
+
89
+ You may use, distribute and modify this code under the terms of the MIT License.
90
+
91
+ Ozzy bundles [Paul Tol's colour schemes definition](https://personal.sron.nl/~pault/), which is available under a ["3-clause BSD" license](https://opensource.org/license/BSD-3-Clause). The qualitative colour scheme "muted" is used by default in `ozzy.plot`.
92
+
93
+ The plotting submodule of ozzy (`ozzy.plot`) also bundles a few different fonts under the [SIL Open Font License (OFL)](https://openfontlicense.org/), which is a free and open-source license. The full text of these licenses is included for each font in the fonts directory (`src/ozzy/fonts/`). See more details about the bundled fonts and their copyright notices in the ["License" section of the documentation](https://mtrocadomoreira.github.io/ozzy/about/license/#fonts).
94
+
95
+
96
+
97
+ <picture>
98
+ <source media="(prefers-color-scheme: dark)" srcset="docs/docs/assets/ozzy_icon_dark.svg" >
99
+ <source media="(prefers-color-scheme: light)" srcset="docs/docs/assets/ozzy_icon.svg">
100
+ <img width="60" title="ozzy icon" alt="ozzy icon" src="docs/docs/assets/ozzy_icon.svg">
101
+ </picture>
102
+
@@ -0,0 +1,151 @@
1
+ [build-system]
2
+ requires = ["poetry-core"]
3
+ build-backend = "poetry.core.masonry.api"
4
+
5
+ [tool.poetry]
6
+ name = "ozzy-pic"
7
+ version = "1.0.1"
8
+ description = "PIC simulation data analysis for the lazy and impatient"
9
+ authors = [
10
+ "Mariana Moreira <mtrocadomoreira@gmail.com>",
11
+ ]
12
+ license = "MIT"
13
+ readme = "README.md"
14
+ homepage = "https://mtrocadomoreira.github.io/ozzy/"
15
+ repository = "https://github.com/mtrocadomoreira/ozzy.git"
16
+ keywords = []
17
+ classifiers = [
18
+ "Development Status :: 4 - Beta",
19
+ "Programming Language :: Python",
20
+ "License :: OSI Approved :: MIT License",
21
+ "Framework :: Hypothesis",
22
+ "Framework :: Pytest",
23
+ "Framework :: IPython",
24
+ "Framework :: Jupyter",
25
+ "Framework :: Jupyter :: JupyterLab",
26
+ "Framework :: Matplotlib",
27
+ "Framework :: MkDocs",
28
+ "Intended Audience :: Science/Research",
29
+ "Natural Language :: English",
30
+ "Operating System :: MacOS",
31
+ "Operating System :: Microsoft",
32
+ "Operating System :: Unix",
33
+ "Topic :: Scientific/Engineering :: Physics",
34
+ "Topic :: Scientific/Engineering :: Visualization",
35
+ # Specify the Python versions you support here.
36
+ "Programming Language :: Python :: 3",
37
+ "Programming Language :: Python :: 3.10",
38
+ "Programming Language :: Python :: 3.11",
39
+ "Programming Language :: Python :: 3.12",
40
+ ]
41
+ packages = [{include = "ozzy", from="src"}]
42
+
43
+ [tool.poetry.dependencies]
44
+ python = ">=3.10,<4"
45
+ xarray = "^2024.9.0"
46
+ tqdm = "^4.66.5"
47
+ numba = "^0.60.0"
48
+ h5py = "^3.12.1"
49
+ h5netcdf = "^1.4.0"
50
+ flox = "^0.9.13"
51
+ dask = "^2024.10.0"
52
+ dask-expr = "^1.1.16"
53
+ matplotlib = "^3.9.2"
54
+ cmcrameri = "^1.9"
55
+ seaborn = "^0.13.2"
56
+ ipython = "^8.28.0"
57
+ ipykernel = "^6.29.5"
58
+ hvplot = "^0.11.1"
59
+ jupyter-bokeh = "^4.0.5"
60
+ # Optional packages
61
+ numpy-groupies = {version = "^0.11.2", optional = true}
62
+ numbagg = {version = "^0.8.2", optional = true}
63
+
64
+ [tool.poetry.extras]
65
+ perf = ["numpy-groupies", "numbagg"]
66
+
67
+ [tool.poetry.group.docs.dependencies]
68
+ mkdocs-material = "^9.5.42"
69
+ mkdocstrings-python = "^1.12.2"
70
+ mkdocs-git-revision-date-localized-plugin = "^1.2.9"
71
+ mkdocs-glightbox = "^0.4.0"
72
+ black = "^24.10.0"
73
+ mkdocs-include-markdown-plugin = "^7.0.0"
74
+
75
+ [tool.poetry.group.dev.dependencies]
76
+ pytest = "^8.3.3"
77
+ hypothesis = "^6.115.3"
78
+ pytest-mock = "^3.14.0"
79
+ python-semantic-release = "^9.12.0"
80
+ ruff = "^0.7.0"
81
+ setuptools = "^75.3.0"
82
+
83
+ [tool.semantic_release]
84
+ version_variables = [
85
+ "src/ozzy/__init__.py:__version__",
86
+ ]
87
+ version_toml = [
88
+ "pyproject.toml:tool.poetry.version",
89
+ ]
90
+ branch = "main"
91
+ assets = []
92
+ build_command = "pip install poetry && poetry build"
93
+ build_command_env = []
94
+ commit_message = "{version}\n\nAutomatically generated by python-semantic-release"
95
+ commit_parser = "angular"
96
+ logging_use_named_masks = false
97
+ major_on_zero = true
98
+ allow_zero_version = true
99
+ no_git_verify = false
100
+ tag_format = "v{version}"
101
+
102
+ [tool.semantic_release.branches.main]
103
+ match = "(main|master)"
104
+ prerelease_token = "rc"
105
+ prerelease = false
106
+
107
+ [tool.semantic_release.changelog]
108
+ template_dir = "templates"
109
+ changelog_file = "CHANGELOG.md"
110
+ exclude_commit_patterns = ["test", "style", "chore", '''Merge? .*''']
111
+
112
+ [tool.semantic_release.changelog.environment]
113
+ block_start_string = "{%"
114
+ block_end_string = "%}"
115
+ variable_start_string = "{{"
116
+ variable_end_string = "}}"
117
+ comment_start_string = "{#"
118
+ comment_end_string = "#}"
119
+ trim_blocks = false
120
+ lstrip_blocks = false
121
+ newline_sequence = "\n"
122
+ keep_trailing_newline = false
123
+ extensions = []
124
+ autoescape = true
125
+
126
+ [tool.semantic_release.commit_author]
127
+ env = "GIT_COMMIT_AUTHOR"
128
+ default = "semantic-release <semantic-release>"
129
+
130
+ [tool.semantic_release.commit_parser_options]
131
+ allowed_tags = ["chore", "docs", "feat", "fix", "perf", "style", "refactor", "test"]
132
+ minor_tags = ["feat"]
133
+ patch_tags = ["fix", "perf"]
134
+ default_bump_level = 0
135
+
136
+ [tool.semantic_release.remote]
137
+ name = "origin"
138
+ type = "github"
139
+ ignore_token_for_push = false
140
+ insecure = false
141
+
142
+ [tool.semantic_release.publish]
143
+ dist_glob_patterns = ["dist/*"]
144
+ upload_to_vcs_release = true
145
+
146
+ [tool.pytest.ini_options]
147
+ addopts = [
148
+ "--import-mode=importlib",
149
+ ]
150
+
151
+ [tool.ruff]
@@ -0,0 +1,17 @@
1
+ from .core import *
2
+
3
+ __all__ = [
4
+ "accessors",
5
+ "backend_interface",
6
+ "core",
7
+ "fields",
8
+ "grid_mixin",
9
+ "new_dataobj",
10
+ "part_mixin",
11
+ "plot",
12
+ "statistics",
13
+ "utils",
14
+ ]
15
+
16
+
17
+ __version__ = "1.0.1"