PyPartMC 1.4.2__cp311-cp311-macosx_13_0_x86_64.whl → 2.0.0rc4__cp311-cp311-macosx_13_0_x86_64.whl
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.
Potentially problematic release.
This version of PyPartMC might be problematic. Click here for more details.
- PyPartMC/.dylibs/libgcc_s.1.1.dylib +0 -0
- PyPartMC/.dylibs/libgfortran.5.dylib +0 -0
- PyPartMC/.dylibs/libquadmath.0.dylib +0 -0
- _PyPartMC.cpython-311-darwin.so → PyPartMC/_PyPartMC.cpython-311-darwin.so +0 -0
- PyPartMC/__init__.py +15 -7
- {PyPartMC-1.4.2.dist-info → pypartmc-2.0.0rc4.dist-info}/METADATA +23 -37
- pypartmc-2.0.0rc4.dist-info/RECORD +9 -0
- pypartmc-2.0.0rc4.dist-info/WHEEL +6 -0
- PyPartMC-1.4.2.dist-info/RECORD +0 -7
- PyPartMC-1.4.2.dist-info/WHEEL +0 -5
- PyPartMC-1.4.2.dist-info/top_level.txt +0 -2
- {PyPartMC-1.4.2.dist-info → pypartmc-2.0.0rc4.dist-info/licenses}/LICENSE +0 -0
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
PyPartMC/__init__.py
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
"""
|
|
2
|
-
.. include
|
|
2
|
+
.. include::../../README.md
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
|
+
# pylint: disable=invalid-name
|
|
6
|
+
import importlib.metadata
|
|
7
|
+
|
|
5
8
|
# pylint: disable=invalid-name,wrong-import-position
|
|
6
9
|
import os
|
|
7
10
|
from collections import namedtuple
|
|
8
11
|
from contextlib import contextmanager
|
|
9
12
|
from pathlib import Path
|
|
10
13
|
|
|
14
|
+
import nanobind
|
|
15
|
+
|
|
11
16
|
|
|
12
17
|
# https://github.com/diegoferigo/cmake-build-extension/blob/master/src/cmake_build_extension/__init__.py
|
|
13
18
|
@contextmanager
|
|
@@ -69,10 +74,13 @@ si = __generate_si()
|
|
|
69
74
|
SI-prefix-aware unit multipliers, resulting in e.g.: `p = 1000 * si.hPa`
|
|
70
75
|
notation. Note: no dimensional analysis is done! """
|
|
71
76
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
+
from ._PyPartMC import * # pylint: disable=import-error
|
|
78
|
+
from ._PyPartMC import ( # pylint: disable=import-error
|
|
79
|
+
__versions_of_build_time_dependencies__,
|
|
80
|
+
)
|
|
81
|
+
|
|
82
|
+
__version__ = importlib.metadata.version(__package__)
|
|
77
83
|
|
|
78
|
-
|
|
84
|
+
# walkaround for MATLAB bindings
|
|
85
|
+
# pylint: disable=undefined-variable
|
|
86
|
+
setattr(nanobind, "nb_type_0", type(_PyPartMC.AeroData))
|
|
@@ -1,23 +1,18 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: PyPartMC
|
|
3
|
-
Version:
|
|
3
|
+
Version: 2.0.0rc4
|
|
4
4
|
Summary: Python interface to PartMC
|
|
5
|
-
Author:
|
|
6
|
-
|
|
7
|
-
License: GPL-3.0
|
|
8
|
-
Project-URL: Tracker, https://github.com/open-atmos/PyPartMC/issues
|
|
5
|
+
Author-Email: "https://github.com/open-atmos/PyPartMC/graphs/contributors" <nriemer@illinois.edu>
|
|
6
|
+
License-Expression: GPL-3.0
|
|
9
7
|
Project-URL: Documentation, https://open-atmos.github.io/PyPartMC
|
|
10
8
|
Project-URL: Source, https://github.com/open-atmos/PyPartMC/
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
License-File: LICENSE
|
|
9
|
+
Project-URL: Tracker, https://github.com/open-atmos/PyPartMC/issues
|
|
10
|
+
Requires-Python: >=3.8
|
|
14
11
|
Requires-Dist: numpy
|
|
12
|
+
Requires-Dist: nanobind
|
|
15
13
|
Provides-Extra: tests
|
|
16
14
|
Requires-Dist: pytest; extra == "tests"
|
|
17
15
|
Requires-Dist: pytest-order; extra == "tests"
|
|
18
|
-
Requires-Dist: fastcore!=1.5.8; extra == "tests"
|
|
19
|
-
Requires-Dist: ghapi; extra == "tests"
|
|
20
|
-
Requires-Dist: scipy; extra == "tests"
|
|
21
16
|
Provides-Extra: examples
|
|
22
17
|
Requires-Dist: matplotlib!=3.10.0; extra == "examples"
|
|
23
18
|
Requires-Dist: ipywidgets; extra == "examples"
|
|
@@ -26,16 +21,8 @@ Requires-Dist: open-atmos-jupyter-utils; extra == "examples"
|
|
|
26
21
|
Requires-Dist: PySDM; extra == "examples"
|
|
27
22
|
Requires-Dist: PyMieScatt; extra == "examples"
|
|
28
23
|
Requires-Dist: SciPy; extra == "examples"
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
Dynamic: description
|
|
32
|
-
Dynamic: description-content-type
|
|
33
|
-
Dynamic: license
|
|
34
|
-
Dynamic: project-url
|
|
35
|
-
Dynamic: provides-extra
|
|
36
|
-
Dynamic: requires-dist
|
|
37
|
-
Dynamic: requires-python
|
|
38
|
-
Dynamic: summary
|
|
24
|
+
Requires-Dist: dustpy; platform_system != "Windows" and extra == "examples"
|
|
25
|
+
Description-Content-Type: text/markdown
|
|
39
26
|
|
|
40
27
|

|
|
41
28
|
|
|
@@ -62,12 +49,13 @@ If interested in contributing to PyPartMC, please have a look a the [notes for d
|
|
|
62
49
|
|
|
63
50
|
[](https://www.gnu.org/licenses/gpl-3.0.html)
|
|
64
51
|
[](https://atmos.illinois.edu/)
|
|
65
|
-
[](https://github.com/open-atmos/PyPartMC/actions/workflows/buildwheels.yml)
|
|
66
53
|
[](https://open-atmos.github.io/PyPartMC/)
|
|
67
54
|
[](https://codecov.io/gh/open-atmos/PyPartMC)
|
|
68
55
|
[](https://doi.org/10.5281/zenodo.7662635)
|
|
69
56
|
[](https://pypi.org/p/PyPartMC)
|
|
70
57
|
[](https://www.repostatus.org/#active)
|
|
58
|
+
[](https://github.com/pyOpenSci/software-review/issues/179)
|
|
71
59
|
|
|
72
60
|
[](https://www.python.org/)
|
|
73
61
|
[](https://en.wikipedia.org/wiki/Linux)
|
|
@@ -129,15 +117,20 @@ pip install PyPartMC[examples]
|
|
|
129
117
|
[](https://colab.research.google.com/github/open-atmos/PyPartMC/blob/main/examples/cloud_parcel.ipynb)
|
|
130
118
|
[](https://mybinder.org/v2/gh/open-atmos/PyPartMC.git/main?urlpath=lab/tree/examples/cloud_parcel.ipynb)
|
|
131
119
|
[](https://jupyterhub.arm.gov/hub/user-redirect/git-pull?repo=https%3A//github.com/open-atmos/PyPartMC&branch=main&urlPath=)
|
|
132
|
-
- Coagulation
|
|
133
|
-
[](https://github.com/open-atmos
|
|
120
|
+
- Coagulation model intercomparison for additive (Golovin) kernel with: PyPartMC, [PySDM](https://open-atmos.github.io/PySDM), [Droplets.jl](https://github.com/emmacware/droplets.jl) and [dustpy](https://stammler.github.io/dustpy/):
|
|
121
|
+
[](https://github.com/open-atmos/PyPartMC/blob/main/examples/additive_coag_comparison.ipynb)
|
|
134
122
|
[](https://colab.research.google.com/github/open-atmos/PyPartMC/blob/main/examples/additive_coag_comparison.ipynb)
|
|
135
123
|
[](https://mybinder.org/v2/gh/open-atmos/PyPartMC.git/main?urlpath=lab/tree/examples/additive_coag_comparison.ipynb)
|
|
136
124
|
[](https://jupyterhub.arm.gov/hub/user-redirect/git-pull?repo=https%3A//github.com/open-atmos/PyPartMC&branch=main&urlPath=)
|
|
125
|
+
- Particle simulation with multiphase chemistry handled using [CAMP](https://doi.org/10.5194/gmd-15-3663-2022) (without coagulation):
|
|
126
|
+
[](https://github.com/open-atmos/PyPartMC/blob/main/examples/particle_simulation_with_camp.ipynb.ipynb)
|
|
127
|
+
[](https://colab.research.google.com/github/open-atmos/PyPartMC/blob/main/examples/particle_simulation_with_camp.ipynb)
|
|
128
|
+
[](https://mybinder.org/v2/gh/open-atmos/PyPartMC.git/main?urlpath=lab/tree/examples/particle_simulation_with_camp.ipynb)
|
|
129
|
+
[](https://jupyterhub.arm.gov/hub/user-redirect/git-pull?repo=https%3A//github.com/open-atmos/PyPartMC&branch=main&urlPath=)
|
|
137
130
|
|
|
138
131
|
## Features
|
|
139
132
|
|
|
140
|
-
- works on Linux, macOS and Windows (compatibility assured with [CI builds](https://github.com/open-atmos/PyPartMC/blob/main/.github/workflows/
|
|
133
|
+
- works on Linux, macOS and Windows (compatibility assured with [CI builds](https://github.com/open-atmos/PyPartMC/blob/main/.github/workflows/buildwheels.yml))
|
|
141
134
|
- hassle-free installation using `pip` (prior PartMC installation **not needed**)
|
|
142
135
|
- works out of the box on [mybinder.org](https://mybinder.org/), [Google Colab](colab.research.google.com/) and alike
|
|
143
136
|
- ships with [a set of examples](https://github.com/open-atmos/PyPartMC/tree/main/examples) maintained in a form of Jupyter notebooks
|
|
@@ -181,9 +174,7 @@ aero_dist = ppmc.AeroDist(
|
|
|
181
174
|
"num_conc": 3200 / si.cm**3,
|
|
182
175
|
"geom_mean_diam": 8.64 * si.nm,
|
|
183
176
|
"log10_geom_std_dev": 0.28,
|
|
184
|
-
}
|
|
185
|
-
},
|
|
186
|
-
{
|
|
177
|
+
},
|
|
187
178
|
"diesel": {
|
|
188
179
|
"mass_frac": [{"OC": [0.3]}, {"BC": [0.7]}],
|
|
189
180
|
"diam_type": "geometric",
|
|
@@ -225,9 +216,7 @@ aero_dist = ppmc.AeroDist(aero_data, (
|
|
|
225
216
|
"num_conc" => 3200 / si.cm^3,
|
|
226
217
|
"geom_mean_diam" => 8.64 * si.nm,
|
|
227
218
|
"log10_geom_std_dev" => .28,
|
|
228
|
-
)
|
|
229
|
-
),
|
|
230
|
-
Dict(
|
|
219
|
+
),
|
|
231
220
|
"diesel" => Dict(
|
|
232
221
|
"mass_frac" => (Dict("OC" => (.3,)), Dict("BC" => (.7,))),
|
|
233
222
|
"diam_type" => "geometric",
|
|
@@ -236,7 +225,7 @@ aero_dist = ppmc.AeroDist(aero_data, (
|
|
|
236
225
|
"geom_mean_diam" => 50 * si.nm,
|
|
237
226
|
"log10_geom_std_dev" => .24,
|
|
238
227
|
)
|
|
239
|
-
)
|
|
228
|
+
),
|
|
240
229
|
))
|
|
241
230
|
|
|
242
231
|
n_part = 100
|
|
@@ -250,7 +239,6 @@ print(aero_state.masses()'aero_state.num_concs, "# kg/m3")
|
|
|
250
239
|
notes (see the [PyPartMC Matlab CI workflow](https://github.com/open-atmos/PyPartMC/blob/main/.github/workflows/readme_listings.yml) for an example on how to achieve it on Ubuntu 20):
|
|
251
240
|
- Matlab ships with convenience copies of C, C++ and Fortran runtime libraries which are `dlopened()` by default; one way to make PyPartMC OK with it is to [pip-]install by compiling from source using the very same version of GCC that Matlab borrowed these libraries from (e.g., [GCC 9 for Matlab R2022a, etc](https://www.mathworks.com/support/requirements/supported-compilers-linux.html));
|
|
252
241
|
- Matlab needs to [use the same Python interpretter/venv](https://www.mathworks.com/support/requirements/python-compatibility.html) as the pip invocation used to install PyPartMC;
|
|
253
|
-
- a single-line `pybind11_builtins.py` file with just `pybind11_type=type` inside needs to be placed within Matlab's `PYTHONPATH` to sort out a [Matlab-pybind11 incompatibility](https://github.com/pybind/pybind11/issues/3945).
|
|
254
242
|
|
|
255
243
|
````Matlab
|
|
256
244
|
ppmc = py.importlib.import_module('PyPartMC');
|
|
@@ -270,9 +258,7 @@ aero_dist = ppmc.AeroDist(aero_data, py.tuple({ ...
|
|
|
270
258
|
"num_conc", 3200 / si.cm^3, ...
|
|
271
259
|
"geom_mean_diam", 8.64 * si.nm, ...
|
|
272
260
|
"log10_geom_std_dev", .28 ...
|
|
273
|
-
)) ...
|
|
274
|
-
)), ...
|
|
275
|
-
py.dict(pyargs( ...
|
|
261
|
+
)), ...
|
|
276
262
|
"diesel", py.dict(pyargs( ...
|
|
277
263
|
"mass_frac", py.tuple({ ...
|
|
278
264
|
py.dict(pyargs("OC", py.tuple({.3}))), ...
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
pypartmc-2.0.0rc4.dist-info/RECORD,,
|
|
2
|
+
pypartmc-2.0.0rc4.dist-info/WHEEL,sha256=-kpY2NkqiMsFcfXtLL-HesLA6_QDkEt6jf2f9U_iaP8,142
|
|
3
|
+
pypartmc-2.0.0rc4.dist-info/METADATA,sha256=lBLrEuhekaomGGZnNoffaa6Fpxzyxes9GGcFxPyTB20,27597
|
|
4
|
+
pypartmc-2.0.0rc4.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
5
|
+
PyPartMC/__init__.py,sha256=e1ngb8Sodfqneb__Vmf_K5eIOoOY11gvrSHmlIZbruM,2349
|
|
6
|
+
PyPartMC/_PyPartMC.cpython-311-darwin.so,sha256=rkkd1wYKdfstSOqMmHelwTXXlK-umhSdKoIk8P25D98,8485472
|
|
7
|
+
PyPartMC/.dylibs/libgfortran.5.dylib,sha256=uZj18mk7PGjzH0FQclHZLMRAcsG4TETIRZt_8CGlEpg,3988672
|
|
8
|
+
PyPartMC/.dylibs/libquadmath.0.dylib,sha256=19PcPx5n69p9h9xP2dOhLmhRI2hzljSQcJBXLyFC2go,379200
|
|
9
|
+
PyPartMC/.dylibs/libgcc_s.1.1.dylib,sha256=mW61tfzTB6d8xKZxf5SR2V03z7kbDW950dagh_mLK_U,266112
|
PyPartMC-1.4.2.dist-info/RECORD
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
_PyPartMC.cpython-311-darwin.so,sha256=FaRwDyNJ35dHoJ1mHnyOyw-gmTTCLGxPbJVho4ETcZ0,8563200
|
|
2
|
-
PyPartMC/__init__.py,sha256=VAqwePpJZEFJ7YieM1GbUvfluRhUyWXciP89pY9xIH4,2217
|
|
3
|
-
PyPartMC-1.4.2.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
4
|
-
PyPartMC-1.4.2.dist-info/METADATA,sha256=13FCHfmpa1L9yZ56niRxU1JdUvig_QFHUfpodvQzAMI,26885
|
|
5
|
-
PyPartMC-1.4.2.dist-info/WHEEL,sha256=eyLsquYthM-ObRdFkuJzc-uB_vjjWjSA-y9i_w5yfWM,114
|
|
6
|
-
PyPartMC-1.4.2.dist-info/top_level.txt,sha256=PJxy22pTnxcBhqrb6r4AIL32rkxA61gzw7ohlzybgSM,19
|
|
7
|
-
PyPartMC-1.4.2.dist-info/RECORD,,
|
PyPartMC-1.4.2.dist-info/WHEEL
DELETED
|
File without changes
|