PyOPIA 2.8.2__tar.gz → 2.9.0__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 (28) hide show
  1. pyopia-2.9.0/.gitignore +277 -0
  2. {pyopia-2.8.2 → pyopia-2.9.0}/PKG-INFO +55 -81
  3. {pyopia-2.8.2 → pyopia-2.9.0}/README.md +14 -33
  4. pyopia-2.9.0/pyopia/__init__.py +1 -0
  5. pyopia-2.9.0/pyproject.toml +79 -0
  6. pyopia-2.8.2/pyopia/__init__.py +0 -1
  7. pyopia-2.8.2/pyproject.toml +0 -66
  8. {pyopia-2.8.2 → pyopia-2.9.0}/LICENSE +0 -0
  9. {pyopia-2.8.2 → pyopia-2.9.0}/pyopia/background.py +0 -0
  10. {pyopia-2.8.2 → pyopia-2.9.0}/pyopia/classify.py +0 -0
  11. {pyopia-2.8.2 → pyopia-2.9.0}/pyopia/cli.py +0 -0
  12. {pyopia-2.8.2 → pyopia-2.9.0}/pyopia/exampledata.py +0 -0
  13. {pyopia-2.8.2 → pyopia-2.9.0}/pyopia/instrument/__init__.py +0 -0
  14. {pyopia-2.8.2 → pyopia-2.9.0}/pyopia/instrument/common.py +0 -0
  15. {pyopia-2.8.2 → pyopia-2.9.0}/pyopia/instrument/holo.py +0 -0
  16. {pyopia-2.8.2 → pyopia-2.9.0}/pyopia/instrument/silcam.py +0 -0
  17. {pyopia-2.8.2 → pyopia-2.9.0}/pyopia/instrument/uvp.py +0 -0
  18. {pyopia-2.8.2 → pyopia-2.9.0}/pyopia/io.py +0 -0
  19. {pyopia-2.8.2 → pyopia-2.9.0}/pyopia/pipeline.py +0 -0
  20. {pyopia-2.8.2 → pyopia-2.9.0}/pyopia/plotting.py +0 -0
  21. {pyopia-2.8.2 → pyopia-2.9.0}/pyopia/process.py +0 -0
  22. {pyopia-2.8.2 → pyopia-2.9.0}/pyopia/simulator/__init__.py +0 -0
  23. {pyopia-2.8.2 → pyopia-2.9.0}/pyopia/simulator/silcam.py +0 -0
  24. {pyopia-2.8.2 → pyopia-2.9.0}/pyopia/statistics.py +0 -0
  25. {pyopia-2.8.2 → pyopia-2.9.0}/pyopia/tests/__init__.py +0 -0
  26. {pyopia-2.8.2 → pyopia-2.9.0}/pyopia/tests/test_classify.py +0 -0
  27. {pyopia-2.8.2 → pyopia-2.9.0}/pyopia/tests/test_notebooks.py +0 -0
  28. {pyopia-2.8.2 → pyopia-2.9.0}/pyopia/tests/test_pipeline.py +0 -0
@@ -0,0 +1,277 @@
1
+
2
+ # Created by https://www.gitignore.io/api/vim,python,pycharm,visualstudiocode
3
+ # Edit at https://www.gitignore.io/?templates=vim,python,pycharm,visualstudiocode
4
+
5
+ ### PyCharm ###
6
+ # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
7
+ # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
8
+
9
+ # User-specific stuff
10
+ .idea/
11
+ .idea/**/workspace.xml
12
+ .idea/**/tasks.xml
13
+ .idea/**/usage.statistics.xml
14
+ .idea/**/dictionaries
15
+ .idea/**/shelf
16
+
17
+ # Generated files
18
+ .idea/**/contentModel.xml
19
+
20
+ # Sensitive or high-churn files
21
+ .idea/**/dataSources/
22
+ .idea/**/dataSources.ids
23
+ .idea/**/dataSources.local.xml
24
+ .idea/**/sqlDataSources.xml
25
+ .idea/**/dynamic.xml
26
+ .idea/**/uiDesigner.xml
27
+ .idea/**/dbnavigator.xml
28
+
29
+ # Gradle
30
+ .idea/**/gradle.xml
31
+ .idea/**/libraries
32
+
33
+ # Gradle and Maven with auto-import
34
+ # When using Gradle or Maven with auto-import, you should exclude module files,
35
+ # since they will be recreated, and may cause churn. Uncomment if using
36
+ # auto-import.
37
+ # .idea/modules.xml
38
+ # .idea/*.iml
39
+ # .idea/modules
40
+ # *.iml
41
+ # *.ipr
42
+
43
+ # CMake
44
+ cmake-build-*/
45
+
46
+ # Mongo Explorer plugin
47
+ .idea/**/mongoSettings.xml
48
+
49
+ # File-based project format
50
+ *.iws
51
+
52
+ # IntelliJ
53
+ out/
54
+
55
+ # mpeltonen/sbt-idea plugin
56
+ .idea_modules/
57
+
58
+ # JIRA plugin
59
+ atlassian-ide-plugin.xml
60
+
61
+ # Cursive Clojure plugin
62
+ .idea/replstate.xml
63
+
64
+ # Crashlytics plugin (for Android Studio and IntelliJ)
65
+ com_crashlytics_export_strings.xml
66
+ crashlytics.properties
67
+ crashlytics-build.properties
68
+ fabric.properties
69
+
70
+ # Editor-based Rest Client
71
+ .idea/httpRequests
72
+
73
+ # Android studio 3.1+ serialized cache file
74
+ .idea/caches/build_file_checksums.ser
75
+
76
+ ### PyCharm Patch ###
77
+ # Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
78
+
79
+ # *.iml
80
+ # modules.xml
81
+ # .idea/misc.xml
82
+ # *.ipr
83
+
84
+ # Sonarlint plugin
85
+ .idea/**/sonarlint/
86
+
87
+ # SonarQube Plugin
88
+ .idea/**/sonarIssues.xml
89
+
90
+ # Markdown Navigator plugin
91
+ .idea/**/markdown-navigator.xml
92
+ .idea/**/markdown-navigator/
93
+
94
+ ### Python ###
95
+ # Byte-compiled / optimized / DLL files
96
+ __pycache__/
97
+ *.py[cod]
98
+ *$py.class
99
+
100
+ # C extensions
101
+ *.so
102
+
103
+ # Distribution / packaging
104
+ .Python
105
+ build/
106
+ develop-eggs/
107
+ dist/
108
+ downloads/
109
+ eggs/
110
+ .eggs/
111
+ lib/
112
+ lib64/
113
+ parts/
114
+ sdist/
115
+ var/
116
+ wheels/
117
+ pip-wheel-metadata/
118
+ share/python-wheels/
119
+ *.egg-info/
120
+ .installed.cfg
121
+ *.egg
122
+ MANIFEST
123
+
124
+ # PyInstaller
125
+ # Usually these files are written by a python script from a template
126
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
127
+ *.manifest
128
+ *.spec
129
+
130
+ # Installer logs
131
+ pip-log.txt
132
+ pip-delete-this-directory.txt
133
+
134
+ # Unit test / coverage reports
135
+ htmlcov/
136
+ .tox/
137
+ .nox/
138
+ .coverage
139
+ .coverage.*
140
+ .cache
141
+ nosetests.xml
142
+ coverage.xml
143
+ *.cover
144
+ .hypothesis/
145
+ .pytest_cache/
146
+
147
+ # Translations
148
+ *.mo
149
+ *.pot
150
+
151
+ # Scrapy stuff:
152
+ .scrapy
153
+
154
+ # Sphinx documentation
155
+ docs/_build/
156
+ docs/_autosummary/
157
+ docs/source/
158
+ !docs/source/conf.py
159
+ !docs/source/index.rst
160
+
161
+ # PyBuilder
162
+ target/
163
+
164
+ # pyenv
165
+ .python-version
166
+
167
+ # pipenv
168
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
169
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
170
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
171
+ # install all needed dependencies.
172
+ #Pipfile.lock
173
+
174
+ # celery beat schedule file
175
+ celerybeat-schedule
176
+
177
+ # SageMath parsed files
178
+ *.sage.py
179
+
180
+ # Spyder project settings
181
+ .spyderproject
182
+ .spyproject
183
+
184
+ # Rope project settings
185
+ .ropeproject
186
+
187
+ # Mr Developer
188
+ .mr.developer.cfg
189
+ .project
190
+ .pydevproject
191
+
192
+ # mkdocs documentation
193
+ /site
194
+
195
+ # mypy
196
+ .mypy_cache/
197
+ .dmypy.json
198
+ dmypy.json
199
+
200
+ # Pyre type checker
201
+ .pyre/
202
+
203
+ ### Vim ###
204
+ # Swap
205
+ [._]*.s[a-v][a-z]
206
+ [._]*.sw[a-p]
207
+ [._]s[a-rt-v][a-z]
208
+ [._]ss[a-gi-z]
209
+ [._]sw[a-p]
210
+
211
+ # Session
212
+ Session.vim
213
+ Sessionx.vim
214
+
215
+ # Temporary
216
+ .netrwhist
217
+ *~
218
+
219
+ # Auto-generated tag files
220
+ tags
221
+
222
+ # Persistent undo
223
+ [._]*.un~
224
+
225
+ # Coc configuration directory
226
+ .vim
227
+
228
+ ### VisualStudioCode ###
229
+ .vscode
230
+ .vscode/*
231
+ !.vscode/settings.json
232
+ !.vscode/tasks.json
233
+ !.vscode/launch.json
234
+ !.vscode/extensions.json
235
+
236
+ ### VisualStudioCode Patch ###
237
+ # Ignore all local history of files
238
+ .history
239
+
240
+ ### ipynb checkpoints
241
+ **/*.ipynb_checkpoints/
242
+
243
+ ### data files
244
+ *.silc
245
+ *.bmp
246
+ *.png
247
+ *.h5
248
+ *.pgm
249
+ *.h5
250
+ !docs/logo.PNG
251
+
252
+ # End of https://www.gitignore.io/api/vim,python,pycharm,visualstudiocode
253
+ *.zip
254
+ notebooks/header.tfl.txt
255
+ notebooks/keras_model.h5
256
+ notebooks/github-test-holo.ipynb
257
+
258
+ test-report/*
259
+ docs/.DS_Store
260
+ .DS_Store
261
+ docs/notebooks/header.tfl.txt
262
+ docs/jupyter_execute/
263
+ *.nc
264
+
265
+ poetry.lock
266
+ /notebooks/gas_silcam_images
267
+ /notebooks/oil_silcam_images
268
+ header.tfl.txt
269
+ *.tiff
270
+ notebooks/__MACOSX/*
271
+ notebooks/silcam240822.keras
272
+ model/*
273
+ notebooks/model/*
274
+ *.keras
275
+ *.png
276
+ *-summary.txt
277
+ /dev/*
@@ -1,60 +1,62 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: PyOPIA
3
- Version: 2.8.2
3
+ Version: 2.9.0
4
4
  Summary: A Python Ocean Particle Image Analysis toolbox.
5
- Home-page: https://github.com/sintef/pyopia
6
- Keywords: Ocean,Particles,Imaging,Measurement,Size distribution
7
- Author: Emlyn Davies
8
- Author-email: emlyn.davies@sintef.no
9
- Requires-Python: >=3.12,<4.0
10
- Classifier: Programming Language :: Python :: 3
11
- Classifier: Programming Language :: Python :: 3.12
12
- Classifier: Programming Language :: Python :: 3.13
13
- Provides-Extra: classification
14
- Provides-Extra: classification-arm64
15
- Requires-Dist: cmocean (>=3.0.3,<4.0.0)
16
- Requires-Dist: dask (>=2024.8.1)
17
- Requires-Dist: flake8 (>=6.1.0,<7.0.0)
18
- Requires-Dist: gdown (>=4.7.1,<5.0.0)
19
- Requires-Dist: h5netcdf (>=1.3.0)
20
- Requires-Dist: h5py (>=3.9.0,<4.0.0)
21
- Requires-Dist: imageio (>=2.31.3,<3.0.0)
22
- Requires-Dist: ipykernel (>=6.19.4)
23
- Requires-Dist: jupyter-book (>=0.15.1,<0.16.0)
24
- Requires-Dist: keras (==3.5.0) ; extra == "classification-arm64" or extra == "classification"
25
- Requires-Dist: matplotlib (>=3.7)
26
- Requires-Dist: myst-nb (>=0.17.2,<0.18.0)
27
- Requires-Dist: nbclient (==0.7)
28
- Requires-Dist: nbconvert (>=7.16.4,<8.0.0)
29
- Requires-Dist: numpy (>=1.24.0,<2.0.0)
30
- Requires-Dist: pandas[computation] (>=2.1.1,<3.0.0)
31
- Requires-Dist: poetry-version-plugin (>=0.2.0,<0.3.0)
32
- Requires-Dist: pytest (>=7.2.0)
33
- Requires-Dist: pytest-error-for-skips (>=2.0.2,<3.0.0)
34
- Requires-Dist: readthedocs-sphinx-search (>=0.3.2,<0.4.0)
35
- Requires-Dist: scikit-image (>=0.24.0,<0.25.0)
36
- Requires-Dist: scipy (>=1.11.2,<2.0.0)
37
- Requires-Dist: sphinx (==5.0)
38
- Requires-Dist: sphinx-copybutton (>=0.5.2,<0.6.0)
39
- Requires-Dist: sphinx-rtd-theme (>=0.5.0)
40
- Requires-Dist: sphinx-togglebutton (>=0.3.2,<0.4.0)
41
- Requires-Dist: sphinxcontrib-napoleon (>=0.7)
42
- Requires-Dist: tensorflow-cpu (>=2.16.2,<3.0.0) ; extra == "classification"
43
- Requires-Dist: tensorflow-macos (>=2.16.2,<3.0.0) ; (sys_platform == "darwin" and platform_machine == "arm64") and (extra == "classification-arm64")
44
- Requires-Dist: toml (>=0.10.2,<0.11.0)
45
- Requires-Dist: tqdm (>=4.66.1,<5.0.0)
46
- Requires-Dist: typer[all] (>=0.9.0,<0.10.0)
47
- Requires-Dist: urllib3 (<2.0)
48
- Requires-Dist: xarray (>=2023.12.0,<2024.0.0)
49
- Project-URL: Documentation, https://pyopia.readthedocs.io
50
5
  Project-URL: Repository, https://github.com/sintef/pyopia
6
+ Project-URL: Documentation, https://pyopia.readthedocs.io
7
+ Author-email: Emlyn Davies <emlyn.davies@sintef.no>, "Alex Nimmo Smith@plymouth.ac.uk" <alex.nimmo.smith@plymouth.ac.uk>
8
+ License-File: LICENSE
9
+ Keywords: Imaging,Measurement,Ocean,Particles,Size distribution
10
+ Requires-Python: ~=3.12
11
+ Requires-Dist: cmocean<4,>=3.0.3
12
+ Requires-Dist: dask>=2024.8.1
13
+ Requires-Dist: flake8<7,>=6.1.0
14
+ Requires-Dist: gdown<5,>=4.7.1
15
+ Requires-Dist: h5netcdf>=1.3.0
16
+ Requires-Dist: h5py<4,>=3.9.0
17
+ Requires-Dist: imageio<3,>=2.31.3
18
+ Requires-Dist: ipykernel>=6.19.4
19
+ Requires-Dist: jupyter-book<0.16,>=0.15.1
20
+ Requires-Dist: matplotlib>=3.7
21
+ Requires-Dist: myst-nb<0.18,>=0.17.2
22
+ Requires-Dist: nbclient==0.7
23
+ Requires-Dist: nbconvert<8,>=7.16.4
24
+ Requires-Dist: numpy<2,>=1.24.0
25
+ Requires-Dist: pandas[computation]<3,>=2.1.1
26
+ Requires-Dist: poetry-version-plugin<0.3,>=0.2.0
27
+ Requires-Dist: pytest-error-for-skips<3,>=2.0.2
28
+ Requires-Dist: pytest>=7.2.0
29
+ Requires-Dist: readthedocs-sphinx-search<0.4,>=0.3.2
30
+ Requires-Dist: scikit-image<0.25,>=0.24.0
31
+ Requires-Dist: scipy<2,>=1.11.2
32
+ Requires-Dist: sphinx-copybutton<0.6,>=0.5.2
33
+ Requires-Dist: sphinx-rtd-theme>=0.5.0
34
+ Requires-Dist: sphinx-togglebutton<0.4,>=0.3.2
35
+ Requires-Dist: sphinx==5.0
36
+ Requires-Dist: sphinxcontrib-napoleon>=0.7
37
+ Requires-Dist: toml<0.11,>=0.10.2
38
+ Requires-Dist: tqdm<5,>=4.66.1
39
+ Requires-Dist: typer[all]<0.10,>=0.9.0
40
+ Requires-Dist: urllib3<2.0
41
+ Requires-Dist: xarray<2024,>=2023.12.0
42
+ Provides-Extra: classification
43
+ Requires-Dist: keras==3.5.0; extra == 'classification'
44
+ Requires-Dist: tensorflow<3,>=2.16.2; extra == 'classification'
51
45
  Description-Content-Type: text/markdown
52
46
 
53
- PyOpia
47
+ PyOPIA
54
48
  ===============================
55
49
 
56
50
  A Python Ocean Particle Image Analysis toolbox
57
51
 
52
+ # Quick tryout of PyOPIA
53
+
54
+ 1) Install [uv](https://docs.astral.sh/uv/getting-started/installation)
55
+ 2) Run PyOPIA classification tests on database particles
56
+ ```bash
57
+ uv run --python 3.12 --with git+https://github.com/SINTEF/pyopia --with tensorflow==2.16.2 --with keras==3.5.0 python -m pyopia.tests.test_classify
58
+ ```
59
+
58
60
  # Documentation:
59
61
 
60
62
  [![Jupyter Book Badge](https://jupyterbook.org/badge.svg)](https://pyopia.readthedocs.io) [![Documentation](https://readthedocs.org/projects/pyopia/badge/?version=latest)](https://pyopia.readthedocs.io/en/latest/?badge=latest)
@@ -105,9 +107,8 @@ Users are expected to be familiar with Python. Please refer to the recommended i
105
107
 
106
108
  ## For developers from source
107
109
 
108
- Install [Python](https://github.com/conda-forge/miniforge/#download) version 3.10.
109
110
 
110
- A prompt such as is provided by the [miniforge installation](https://github.com/conda-forge/miniforge/#download) may be used for the following:
111
+ Install (uv)[https://docs.astral.sh/uv/getting-started/installation/]
111
112
 
112
113
  1. Navigate to the folder where you want to install pyopia using the 'cd' command.
113
114
 
@@ -119,44 +120,18 @@ git clone https://github.com/SINTEF/pyopia.git
119
120
  cd pyopia
120
121
  ```
121
122
 
122
- For the next steps, you need to be located in the directory that contains the file 'environment.yml'.
123
-
124
- 1. (optional, but recommended) Create a virtual environment using the environment.yml. This will create an environment called pyopia, but with no dependencies installed. Dependencies are managed by poetry (in step 2):
125
-
126
- ```bash
127
- conda env create -f environment.yml
128
- ```
129
- and activate the environment:
130
-
131
- ```bash
132
- conda activate pyopia
133
- ```
123
+ For the next steps, you need to be located in the PyOPIA root directory that contains the file 'pyproject.toml'.
134
124
 
135
- 2. Install dependencies using poetry:
125
+ 2. Install all requirements with
136
126
 
137
127
  ```bash
138
- poetry install
128
+ uv sync --all-extras
139
129
  ```
140
130
 
141
- Optional dependecies (for classification), can be installed like this:
142
-
143
- ```bash
144
- poetry install --extras "classification"
145
- ```
146
-
147
- or for arm/silicon systems:
148
-
149
- ```bash
150
- poetry install --extras "classification-arm64"
151
- ```
152
-
153
- Note: If poetry spends ages resolving dependencies, you can install a development environment with pip, like this: `pip install -e ".[classification]"` or for arm/silicon: `pip install -e ".[classification-arm64]"`
154
-
155
-
156
131
  3. (optional) Run local tests:
157
132
 
158
133
  ```bash
159
- poetry run pytest
134
+ uv run pytest
160
135
  ```
161
136
 
162
137
  #### Version numbering
@@ -179,4 +154,3 @@ sphinx-build -b html ./docs/ ./docs/build
179
154
  # License
180
155
 
181
156
  PyOpia is licensed under the BSD3 license. See LICENSE. All contributors should be recognised & aknowledged.
182
-
@@ -1,8 +1,16 @@
1
- PyOpia
1
+ PyOPIA
2
2
  ===============================
3
3
 
4
4
  A Python Ocean Particle Image Analysis toolbox
5
5
 
6
+ # Quick tryout of PyOPIA
7
+
8
+ 1) Install [uv](https://docs.astral.sh/uv/getting-started/installation)
9
+ 2) Run PyOPIA classification tests on database particles
10
+ ```bash
11
+ uv run --python 3.12 --with git+https://github.com/SINTEF/pyopia --with tensorflow==2.16.2 --with keras==3.5.0 python -m pyopia.tests.test_classify
12
+ ```
13
+
6
14
  # Documentation:
7
15
 
8
16
  [![Jupyter Book Badge](https://jupyterbook.org/badge.svg)](https://pyopia.readthedocs.io) [![Documentation](https://readthedocs.org/projects/pyopia/badge/?version=latest)](https://pyopia.readthedocs.io/en/latest/?badge=latest)
@@ -53,9 +61,8 @@ Users are expected to be familiar with Python. Please refer to the recommended i
53
61
 
54
62
  ## For developers from source
55
63
 
56
- Install [Python](https://github.com/conda-forge/miniforge/#download) version 3.10.
57
64
 
58
- A prompt such as is provided by the [miniforge installation](https://github.com/conda-forge/miniforge/#download) may be used for the following:
65
+ Install (uv)[https://docs.astral.sh/uv/getting-started/installation/]
59
66
 
60
67
  1. Navigate to the folder where you want to install pyopia using the 'cd' command.
61
68
 
@@ -67,44 +74,18 @@ git clone https://github.com/SINTEF/pyopia.git
67
74
  cd pyopia
68
75
  ```
69
76
 
70
- For the next steps, you need to be located in the directory that contains the file 'environment.yml'.
71
-
72
- 1. (optional, but recommended) Create a virtual environment using the environment.yml. This will create an environment called pyopia, but with no dependencies installed. Dependencies are managed by poetry (in step 2):
73
-
74
- ```bash
75
- conda env create -f environment.yml
76
- ```
77
- and activate the environment:
78
-
79
- ```bash
80
- conda activate pyopia
81
- ```
77
+ For the next steps, you need to be located in the PyOPIA root directory that contains the file 'pyproject.toml'.
82
78
 
83
- 2. Install dependencies using poetry:
79
+ 2. Install all requirements with
84
80
 
85
81
  ```bash
86
- poetry install
82
+ uv sync --all-extras
87
83
  ```
88
84
 
89
- Optional dependecies (for classification), can be installed like this:
90
-
91
- ```bash
92
- poetry install --extras "classification"
93
- ```
94
-
95
- or for arm/silicon systems:
96
-
97
- ```bash
98
- poetry install --extras "classification-arm64"
99
- ```
100
-
101
- Note: If poetry spends ages resolving dependencies, you can install a development environment with pip, like this: `pip install -e ".[classification]"` or for arm/silicon: `pip install -e ".[classification-arm64]"`
102
-
103
-
104
85
  3. (optional) Run local tests:
105
86
 
106
87
  ```bash
107
- poetry run pytest
88
+ uv run pytest
108
89
  ```
109
90
 
110
91
  #### Version numbering
@@ -0,0 +1 @@
1
+ __version__ = "2.9.1"
@@ -0,0 +1,79 @@
1
+ [project]
2
+ name = "PyOPIA"
3
+ version = "2.9.0"
4
+ description = "A Python Ocean Particle Image Analysis toolbox."
5
+ authors = [
6
+ { name = "Emlyn Davies", email = "emlyn.davies@sintef.no" },
7
+ { name = "Alex Nimmo Smith@plymouth.ac.uk", email = "alex.nimmo.smith@plymouth.ac.uk" },
8
+ ]
9
+ requires-python = "~=3.12"
10
+ readme = "README.md"
11
+ keywords = [
12
+ "Ocean",
13
+ "Particles",
14
+ "Imaging",
15
+ "Measurement",
16
+ "Size distribution",
17
+ ]
18
+ dependencies = [
19
+ "flake8>=6.1.0,<7",
20
+ "numpy>=1.24.0,<2",
21
+ "scipy>=1.11.2,<2",
22
+ "pytest>=7.2.0",
23
+ "imageio>=2.31.3,<3",
24
+ "matplotlib>=3.7",
25
+ "tqdm>=4.66.1,<5",
26
+ "pytest-error-for-skips>=2.0.2,<3",
27
+ "nbclient==0.7",
28
+ "sphinx==5.0",
29
+ "sphinx-rtd-theme>=0.5.0",
30
+ "sphinxcontrib-napoleon>=0.7",
31
+ "sphinx-togglebutton>=0.3.2,<0.4",
32
+ "sphinx-copybutton>=0.5.2,<0.6",
33
+ "readthedocs-sphinx-search>=0.3.2,<0.4",
34
+ "myst-nb>=0.17.2,<0.18",
35
+ "jupyter-book>=0.15.1,<0.16",
36
+ "ipykernel>=6.19.4",
37
+ "urllib3<2.0",
38
+ "gdown>=4.7.1,<5",
39
+ "cmocean>=3.0.3,<4",
40
+ "toml>=0.10.2,<0.11",
41
+ "xarray>=2023.12.0,<2024",
42
+ "typer[all]>=0.9.0,<0.10",
43
+ "pandas[computation]>=2.1.1,<3",
44
+ "h5py>=3.9.0,<4",
45
+ "poetry-version-plugin>=0.2.0,<0.3",
46
+ "dask>=2024.8.1",
47
+ "nbconvert>=7.16.4,<8",
48
+ "h5netcdf>= 1.3.0",
49
+ "scikit-image>=0.24.0,<0.25",
50
+ ]
51
+
52
+ [project.optional-dependencies]
53
+
54
+ classification = [
55
+ "tensorflow>=2.16.2,<3",
56
+ "keras==3.5.0",
57
+ ]
58
+
59
+ [project.urls]
60
+ Repository = "https://github.com/sintef/pyopia"
61
+ Documentation = "https://pyopia.readthedocs.io"
62
+
63
+ [project.scripts]
64
+ pyopia = "pyopia.cli:app"
65
+
66
+ [tool.hatch.build.targets.sdist]
67
+ include = ["pyopia"]
68
+
69
+ [tool.hatch.build.targets.wheel]
70
+ include = ["pyopia"]
71
+
72
+ [build-system]
73
+ requires = ["hatchling"]
74
+ build-backend = "hatchling.build"
75
+
76
+ [tool.poetry-version-plugin]
77
+ source = "init"
78
+
79
+ [tool.setuptools_scm]
@@ -1 +0,0 @@
1
- __version__ = '2.8.2'
@@ -1,66 +0,0 @@
1
- [tool.poetry]
2
- name = "PyOPIA"
3
- version = "0"
4
- description = "A Python Ocean Particle Image Analysis toolbox."
5
- authors = [
6
- "Emlyn Davies <emlyn.davies@sintef.no>",
7
- "Alex Nimmo Smith@plymouth.ac.uk <alex.nimmo.smith@plymouth.ac.uk>"
8
- ]
9
- readme = "README.md"
10
- repository = "https://github.com/sintef/pyopia"
11
- documentation = "https://pyopia.readthedocs.io"
12
- keywords = ["Ocean", "Particles", "Imaging", "Measurement", "Size distribution"]
13
- packages = [{include = "pyopia"}]
14
-
15
- [tool.poetry.dependencies]
16
- python = "^3.12"
17
- flake8 = "^6.1.0"
18
- numpy = "^1.24.0"
19
- scipy = "^1.11.2"
20
- pytest = ">=7.2.0"
21
- imageio = "^2.31.3"
22
- matplotlib = ">=3.7"
23
- tqdm = "^4.66.1"
24
- pytest-error-for-skips = "^2.0.2"
25
- nbclient = "0.7"
26
- sphinx = "5.0"
27
- sphinx-rtd-theme = ">=0.5.0"
28
- sphinxcontrib-napoleon = ">=0.7"
29
- sphinx-togglebutton = "^0.3.2"
30
- sphinx-copybutton = "^0.5.2"
31
- readthedocs-sphinx-search = "^0.3.2"
32
- myst-nb = "^0.17.2"
33
- jupyter-book = "^0.15.1"
34
- ipykernel = ">=6.19.4"
35
- urllib3 = "<2.0"
36
- gdown = "^4.7.1"
37
- cmocean = "^3.0.3"
38
- toml = "^0.10.2"
39
- xarray = "^2023.12.0"
40
- typer = {extras = ["all"], version = "^0.9.0"}
41
- pandas = {version = "^2.1.1", extras = ["computation"]}
42
- h5py = "^3.9.0"
43
- poetry-version-plugin = "^0.2.0"
44
- tensorflow-macos = {version = "^2.16.2", optional = true, markers = "sys_platform == 'darwin' and platform_machine == 'arm64'"}
45
- tensorflow-cpu = {version = "^2.16.2", optional = true}
46
- keras = {version = "3.5.0", optional = true}
47
- dask = ">=2024.8.1"
48
- nbconvert = "^7.16.4"
49
- h5netcdf = ">= 1.3.0"
50
- scikit-image = "^0.24.0"
51
-
52
- [tool.poetry.extras]
53
- classification-arm64 = ["tensorflow-macos", "keras"]
54
- classification = ["tensorflow-cpu", "keras"]
55
-
56
- [tool.poetry-version-plugin]
57
- source = "init"
58
-
59
- [tool.poetry.scripts]
60
- pyopia = "pyopia.cli:app"
61
-
62
- [build-system]
63
- requires = ["poetry-core"]
64
- build-backend = "poetry.core.masonry.api"
65
-
66
- [tool.setuptools_scm]
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
File without changes
File without changes
File without changes