PyPartMC 1.4.2__cp310-cp310-macosx_14_0_arm64.whl → 2.0.0rc3__cp310-cp310-macosx_14_0_arm64.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.

Binary file
Binary file
Binary file
PyPartMC/__init__.py CHANGED
@@ -1,13 +1,18 @@
1
1
  """
2
- .. include::../README.md
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
- with __build_extension_env():
73
- import _PyPartMC
74
- from _PyPartMC import *
75
- from _PyPartMC import __all__ as _PyPartMC_all # pylint: disable=no-name-in-module
76
- from _PyPartMC import __version__, __versions_of_build_time_dependencies__
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
- __all__ = tuple([*_PyPartMC_all, "si"])
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.2
1
+ Metadata-Version: 2.4
2
2
  Name: PyPartMC
3
- Version: 1.4.2
3
+ Version: 2.0.0rc3
4
4
  Summary: Python interface to PartMC
5
- Author: PyPartMC team (see https://github.com/open-atmos/PyPartMC/graphs/contributors)
6
- Author-email: nriemer@illinois.edu
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
- Requires-Python: >=3.7
12
- Description-Content-Type: text/markdown
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
- Dynamic: author
30
- Dynamic: author-email
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
  ![logo](https://raw.githubusercontent.com/wiki/open-atmos/PyPartMC/logo.svg)
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
  [![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0.html)
64
51
  [![Copyright](https://img.shields.io/static/v1?label=Copyright&color=249fe2&message=UIUC&)](https://atmos.illinois.edu/)
65
- [![tests+pypi](https://github.com/open-atmos/PyPartMC/actions/workflows/tests+pypi.yml/badge.svg)](https://github.com/open-atmos/PyPartMC/actions/workflows/tests+pypi.yml)
52
+ [![tests+pypi](https://github.com/open-atmos/PyPartMC/actions/workflows/buildwheels.yml/badge.svg)](https://github.com/open-atmos/PyPartMC/actions/workflows/buildwheels.yml)
66
53
  [![API docs](https://shields.mitmproxy.org/badge/docs-pdoc.dev-brightgreen.svg)](https://open-atmos.github.io/PyPartMC/)
67
54
  [![codecov](https://codecov.io/gh/open-atmos/PyPartMC/graph/badge.svg?token=27IK9ZIQXE)](https://codecov.io/gh/open-atmos/PyPartMC)
68
55
  [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.7662635.svg)](https://doi.org/10.5281/zenodo.7662635)
69
56
  [![PyPI version](https://badge.fury.io/py/PyPartMC.svg)](https://pypi.org/p/PyPartMC)
70
57
  [![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)
58
+ [![pyOpenSci Peer-Reviewed](https://pyopensci.org/badges/peer-reviewed.svg)](https://github.com/pyOpenSci/software-review/issues/179)
71
59
 
72
60
  [![Python 3](https://img.shields.io/static/v1?label=Python&logo=Python&color=3776AB&message=3)](https://www.python.org/)
73
61
  [![Linux OK](https://img.shields.io/static/v1?label=Linux&logo=Linux&color=yellow&message=%E2%9C%93)](https://en.wikipedia.org/wiki/Linux)
@@ -129,7 +117,7 @@ pip install PyPartMC[examples]
129
117
  [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/open-atmos/PyPartMC/blob/main/examples/cloud_parcel.ipynb)
130
118
  [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/open-atmos/PyPartMC.git/main?urlpath=lab/tree/examples/cloud_parcel.ipynb)
131
119
  [![ARM JupyterHub](https://img.shields.io/static/v1?label=launch%20in&logo=jupyter&color=lightblue&message=ARM+JupyterHub)](https://jupyterhub.arm.gov/hub/user-redirect/git-pull?repo=https%3A//github.com/open-atmos/PyPartMC&branch=main&urlPath=)
132
- - Coagulation Model Intercomparison with PySDM, Droplets.jl:
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/):
133
121
  [![View notebook](https://img.shields.io/static/v1?label=render%20on&logo=github&color=87ce3e&message=GitHub)](https://github.com/open-atmos//PyPartMC/blob/main/examples/additive_coag_comparison.ipynb)
134
122
  [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/open-atmos/PyPartMC/blob/main/examples/additive_coag_comparison.ipynb)
135
123
  [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/open-atmos/PyPartMC.git/main?urlpath=lab/tree/examples/additive_coag_comparison.ipynb)
@@ -181,9 +169,7 @@ aero_dist = ppmc.AeroDist(
181
169
  "num_conc": 3200 / si.cm**3,
182
170
  "geom_mean_diam": 8.64 * si.nm,
183
171
  "log10_geom_std_dev": 0.28,
184
- }
185
- },
186
- {
172
+ },
187
173
  "diesel": {
188
174
  "mass_frac": [{"OC": [0.3]}, {"BC": [0.7]}],
189
175
  "diam_type": "geometric",
@@ -225,9 +211,7 @@ aero_dist = ppmc.AeroDist(aero_data, (
225
211
  "num_conc" => 3200 / si.cm^3,
226
212
  "geom_mean_diam" => 8.64 * si.nm,
227
213
  "log10_geom_std_dev" => .28,
228
- )
229
- ),
230
- Dict(
214
+ ),
231
215
  "diesel" => Dict(
232
216
  "mass_frac" => (Dict("OC" => (.3,)), Dict("BC" => (.7,))),
233
217
  "diam_type" => "geometric",
@@ -236,7 +220,7 @@ aero_dist = ppmc.AeroDist(aero_data, (
236
220
  "geom_mean_diam" => 50 * si.nm,
237
221
  "log10_geom_std_dev" => .24,
238
222
  )
239
- )
223
+ ),
240
224
  ))
241
225
 
242
226
  n_part = 100
@@ -250,7 +234,6 @@ print(aero_state.masses()'aero_state.num_concs, "# kg/m3")
250
234
  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
235
  - 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
236
  - 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
237
 
255
238
  ````Matlab
256
239
  ppmc = py.importlib.import_module('PyPartMC');
@@ -270,9 +253,7 @@ aero_dist = ppmc.AeroDist(aero_data, py.tuple({ ...
270
253
  "num_conc", 3200 / si.cm^3, ...
271
254
  "geom_mean_diam", 8.64 * si.nm, ...
272
255
  "log10_geom_std_dev", .28 ...
273
- )) ...
274
- )), ...
275
- py.dict(pyargs( ...
256
+ )), ...
276
257
  "diesel", py.dict(pyargs( ...
277
258
  "mass_frac", py.tuple({ ...
278
259
  py.dict(pyargs("OC", py.tuple({.3}))), ...
@@ -0,0 +1,9 @@
1
+ pypartmc-2.0.0rc3.dist-info/RECORD,,
2
+ pypartmc-2.0.0rc3.dist-info/WHEEL,sha256=hB3Si0PmAvfzZmMoTLLQrTAPmlzass2ozRK-hpNT4QE,141
3
+ pypartmc-2.0.0rc3.dist-info/METADATA,sha256=4aUTawjPsb6pM4Ri_j8vmVSsCzx-O8mdi8jichPcoSs,26630
4
+ pypartmc-2.0.0rc3.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
5
+ PyPartMC/__init__.py,sha256=e1ngb8Sodfqneb__Vmf_K5eIOoOY11gvrSHmlIZbruM,2349
6
+ PyPartMC/_PyPartMC.cpython-310-darwin.so,sha256=yDtGp5WHc3XNK3KbuidvTbWR2jquIDIJsXs8FZMvn-A,7443456
7
+ PyPartMC/.dylibs/libgfortran.5.dylib,sha256=km1CwoEOOdQ0rnDtpLKFu_kqtd3cimtwfuROUUVEKww,2161328
8
+ PyPartMC/.dylibs/libquadmath.0.dylib,sha256=gy7WVBLqY_Wpg2K9WNrW3UoSyNyLfwRLxigKC2p20Bw,362752
9
+ PyPartMC/.dylibs/libgcc_s.1.1.dylib,sha256=LfkHA1R9OeaF4IJJEfdyOOrxeNt2ifUI-5ku7n8xJWc,220352
@@ -0,0 +1,6 @@
1
+ Wheel-Version: 1.0
2
+ Generator: scikit-build-core 0.11.5
3
+ Root-Is-Purelib: false
4
+ Tag: cp310-cp310-macosx_14_0_arm64
5
+ Generator: delocate 0.13.0
6
+
@@ -1,7 +0,0 @@
1
- _PyPartMC.cpython-310-darwin.so,sha256=GZzJIfs3eRbg_lFsl-bJYiwkGPxMiPgGlu8SoWGzSwc,7690880
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=kguEIo1y95ByeMpqL88HD-DaQOIj1RcmicJWfAI9UfA,114
6
- PyPartMC-1.4.2.dist-info/top_level.txt,sha256=PJxy22pTnxcBhqrb6r4AIL32rkxA61gzw7ohlzybgSM,19
7
- PyPartMC-1.4.2.dist-info/RECORD,,
@@ -1,5 +0,0 @@
1
- Wheel-Version: 1.0
2
- Generator: setuptools (75.8.0)
3
- Root-Is-Purelib: false
4
- Tag: cp310-cp310-macosx_14_0_universal2
5
-
@@ -1,2 +0,0 @@
1
- PyPartMC
2
- _PyPartMC