PyPartMC 1.3.13__cp311-cp311-macosx_14_0_arm64.whl → 2.0.0rc3__cp311-cp311-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.
- 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.3.13.dist-info → pypartmc-2.0.0rc3.dist-info}/METADATA +98 -39
- pypartmc-2.0.0rc3.dist-info/RECORD +9 -0
- pypartmc-2.0.0rc3.dist-info/WHEEL +6 -0
- PyPartMC-1.3.13.dist-info/RECORD +0 -7
- PyPartMC-1.3.13.dist-info/WHEEL +0 -5
- PyPartMC-1.3.13.dist-info/top_level.txt +0 -2
- {PyPartMC-1.3.13.dist-info → pypartmc-2.0.0rc3.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,33 +1,28 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: PyPartMC
|
|
3
|
-
Version:
|
|
3
|
+
Version: 2.0.0rc3
|
|
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
|
-
|
|
19
|
-
Requires-Dist:
|
|
20
|
-
Requires-Dist:
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
Dynamic: requires-dist
|
|
29
|
-
Dynamic: requires-python
|
|
30
|
-
Dynamic: summary
|
|
16
|
+
Provides-Extra: examples
|
|
17
|
+
Requires-Dist: matplotlib!=3.10.0; extra == "examples"
|
|
18
|
+
Requires-Dist: ipywidgets; extra == "examples"
|
|
19
|
+
Requires-Dist: voila; extra == "examples"
|
|
20
|
+
Requires-Dist: open-atmos-jupyter-utils; extra == "examples"
|
|
21
|
+
Requires-Dist: PySDM; extra == "examples"
|
|
22
|
+
Requires-Dist: PyMieScatt; extra == "examples"
|
|
23
|
+
Requires-Dist: SciPy; extra == "examples"
|
|
24
|
+
Requires-Dist: dustpy; platform_system != "Windows" and extra == "examples"
|
|
25
|
+
Description-Content-Type: text/markdown
|
|
31
26
|
|
|
32
27
|

|
|
33
28
|
|
|
@@ -42,6 +37,7 @@ Additionally, the ability to easily package examples, simple simulations, and re
|
|
|
42
37
|
allows PyPartMC to support the efforts of many members of the scientific community, including researchers,
|
|
43
38
|
instructors, and students, with nominal software and hardware requirements.
|
|
44
39
|
|
|
40
|
+
Documentation of PyPartMC is hosted at https://open-atmos.github.io/PyPartMC.
|
|
45
41
|
PyPartMC is implemented in C++ and it also constitutes a C++ API to the PartMC Fortran internals.
|
|
46
42
|
The Python API can facilitate using PartMC from other environments - see, e.g., Julia and Matlab examples below.
|
|
47
43
|
|
|
@@ -53,14 +49,13 @@ If interested in contributing to PyPartMC, please have a look a the [notes for d
|
|
|
53
49
|
|
|
54
50
|
[](https://www.gnu.org/licenses/gpl-3.0.html)
|
|
55
51
|
[](https://atmos.illinois.edu/)
|
|
56
|
-
[](https://github.com/open-atmos/PyPartMC/actions/workflows/buildwheels.yml)
|
|
57
53
|
[](https://open-atmos.github.io/PyPartMC/)
|
|
58
54
|
[](https://codecov.io/gh/open-atmos/PyPartMC)
|
|
59
55
|
[](https://doi.org/10.5281/zenodo.7662635)
|
|
60
56
|
[](https://pypi.org/p/PyPartMC)
|
|
61
57
|
[](https://www.repostatus.org/#active)
|
|
62
|
-
|
|
63
|
-
## TL;DR (try in a Jupyter notebook)
|
|
58
|
+
[](https://github.com/pyOpenSci/software-review/issues/179)
|
|
64
59
|
|
|
65
60
|
[](https://www.python.org/)
|
|
66
61
|
[](https://en.wikipedia.org/wiki/Linux)
|
|
@@ -68,9 +63,11 @@ If interested in contributing to PyPartMC, please have a look a the [notes for d
|
|
|
68
63
|
[](https://en.wikipedia.org/wiki/Windows)
|
|
69
64
|
[](https://jupyter.org/)
|
|
70
65
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
66
|
+
## Installation
|
|
67
|
+
|
|
68
|
+
### Using the command-line `pip` tool (also applies to conda environments)
|
|
69
|
+
```bash
|
|
70
|
+
pip install PyPartMC
|
|
74
71
|
```
|
|
75
72
|
|
|
76
73
|
Note that, depending on the environment (OS, hardware, Python version), the pip-install invocation
|
|
@@ -79,9 +76,21 @@ In the latter case, a Fortran compiler and some development tools includiong CMa
|
|
|
79
76
|
are required (while all non-Python dependencies are included in the PyPartMC source archive).
|
|
80
77
|
In both cases, all Python dependencies will be resolved by pip.
|
|
81
78
|
|
|
79
|
+
### In a Jupyter notebook cell (also on Colab or jupyter-hub instances)
|
|
80
|
+
|
|
81
|
+
```python
|
|
82
|
+
! pip install PyPartMC
|
|
83
|
+
import PyPartMC
|
|
84
|
+
```
|
|
85
|
+
|
|
82
86
|
#### Jupyter notebooks with examples
|
|
83
87
|
Note: clicking the badges below redirects to cloud-computing platforms. The mybinder.org links allow anonymous execution, Google Colab requires logging in with a Google account, ARM JupyerHub requires logging in with an ARM account (and directing Jupyter to a particular notebook within the `examples` folder).
|
|
84
88
|
|
|
89
|
+
The example notebooks feature additional dependencies that can be installed with:
|
|
90
|
+
```bash
|
|
91
|
+
pip install PyPartMC[examples]
|
|
92
|
+
```
|
|
93
|
+
|
|
85
94
|
- Urban plume scenario demo (as in [PartMC](https://github.com/compdyn/partmc/tree/master/scenarios/1_urban_plume)):
|
|
86
95
|
[](https://github.com/open-atmos/PyPartMC/blob/main/examples/particle_simulation.ipynb)
|
|
87
96
|
[](https://colab.research.google.com/github/open-atmos/PyPartMC/blob/main/examples/particle_simulation.ipynb)
|
|
@@ -108,6 +117,11 @@ Note: clicking the badges below redirects to cloud-computing platforms. The mybi
|
|
|
108
117
|
[](https://colab.research.google.com/github/open-atmos/PyPartMC/blob/main/examples/cloud_parcel.ipynb)
|
|
109
118
|
[](https://mybinder.org/v2/gh/open-atmos/PyPartMC.git/main?urlpath=lab/tree/examples/cloud_parcel.ipynb)
|
|
110
119
|
[](https://jupyterhub.arm.gov/hub/user-redirect/git-pull?repo=https%3A//github.com/open-atmos/PyPartMC&branch=main&urlPath=)
|
|
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)
|
|
122
|
+
[](https://colab.research.google.com/github/open-atmos/PyPartMC/blob/main/examples/additive_coag_comparison.ipynb)
|
|
123
|
+
[](https://mybinder.org/v2/gh/open-atmos/PyPartMC.git/main?urlpath=lab/tree/examples/additive_coag_comparison.ipynb)
|
|
124
|
+
[](https://jupyterhub.arm.gov/hub/user-redirect/git-pull?repo=https%3A//github.com/open-atmos/PyPartMC&branch=main&urlPath=)
|
|
111
125
|
|
|
112
126
|
## Features
|
|
113
127
|
|
|
@@ -155,9 +169,7 @@ aero_dist = ppmc.AeroDist(
|
|
|
155
169
|
"num_conc": 3200 / si.cm**3,
|
|
156
170
|
"geom_mean_diam": 8.64 * si.nm,
|
|
157
171
|
"log10_geom_std_dev": 0.28,
|
|
158
|
-
}
|
|
159
|
-
},
|
|
160
|
-
{
|
|
172
|
+
},
|
|
161
173
|
"diesel": {
|
|
162
174
|
"mass_frac": [{"OC": [0.3]}, {"BC": [0.7]}],
|
|
163
175
|
"diam_type": "geometric",
|
|
@@ -199,9 +211,7 @@ aero_dist = ppmc.AeroDist(aero_data, (
|
|
|
199
211
|
"num_conc" => 3200 / si.cm^3,
|
|
200
212
|
"geom_mean_diam" => 8.64 * si.nm,
|
|
201
213
|
"log10_geom_std_dev" => .28,
|
|
202
|
-
)
|
|
203
|
-
),
|
|
204
|
-
Dict(
|
|
214
|
+
),
|
|
205
215
|
"diesel" => Dict(
|
|
206
216
|
"mass_frac" => (Dict("OC" => (.3,)), Dict("BC" => (.7,))),
|
|
207
217
|
"diam_type" => "geometric",
|
|
@@ -210,7 +220,7 @@ aero_dist = ppmc.AeroDist(aero_data, (
|
|
|
210
220
|
"geom_mean_diam" => 50 * si.nm,
|
|
211
221
|
"log10_geom_std_dev" => .24,
|
|
212
222
|
)
|
|
213
|
-
)
|
|
223
|
+
),
|
|
214
224
|
))
|
|
215
225
|
|
|
216
226
|
n_part = 100
|
|
@@ -224,7 +234,6 @@ print(aero_state.masses()'aero_state.num_concs, "# kg/m3")
|
|
|
224
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):
|
|
225
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));
|
|
226
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;
|
|
227
|
-
- 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).
|
|
228
237
|
|
|
229
238
|
````Matlab
|
|
230
239
|
ppmc = py.importlib.import_module('PyPartMC');
|
|
@@ -244,9 +253,7 @@ aero_dist = ppmc.AeroDist(aero_data, py.tuple({ ...
|
|
|
244
253
|
"num_conc", 3200 / si.cm^3, ...
|
|
245
254
|
"geom_mean_diam", 8.64 * si.nm, ...
|
|
246
255
|
"log10_geom_std_dev", .28 ...
|
|
247
|
-
)) ...
|
|
248
|
-
)), ...
|
|
249
|
-
py.dict(pyargs( ...
|
|
256
|
+
)), ...
|
|
250
257
|
"diesel", py.dict(pyargs( ...
|
|
251
258
|
"mass_frac", py.tuple({ ...
|
|
252
259
|
py.dict(pyargs("OC", py.tuple({.3}))), ...
|
|
@@ -273,6 +280,17 @@ fprintf('%g # kg/m3\n', dot([masses{:}], [num_concs{:}]))
|
|
|
273
280
|
|
|
274
281
|
PyPartMC is used within the [test workflow of the PySDM project](https://github.com/atmos-cloud-sim-uj/PySDM/tree/main/tests/smoke_tests/box/partmc).
|
|
275
282
|
|
|
283
|
+
## Other packages with relevant feature scope
|
|
284
|
+
|
|
285
|
+
- [aerosolGDEFoam](https://openaerosol.sourceforge.io/): OpenFOAM CFD-coupled aerosol dynamics including nucleation, coagulation, and surface growth
|
|
286
|
+
- [AIOMFAC and AIOMFAC-web](http://www.aiomfac.caltech.edu/): Fortran-implemented aerosol thermodynamic model for calculation of activity coefficients in organic-inorganic mixtures – from simple binary solutions to complex multicomponent systems
|
|
287
|
+
- [DustPy](https://stammler.github.io/dustpy/): Python package for modelling dust evolution in protoplanetary disks (differences: focus on astrophysical applications vs. atmospheric aerosol)
|
|
288
|
+
- [multilayerpy](https://github.com/tintin554/multilayerpy): kinetic multi-layer model for aerosol particles and films
|
|
289
|
+
- [PyBox](https://pybox.readthedocs.io): aerosol simulation model featuring gas and particle chamistry (differences: PyBox focuses on chemical mechanisms; PyPartMC is an interface to PartMC which focuses on physics - e.g., collisions of aerosol particles - while chemical processes are handled with external software, e.g., CAMP or MOSAIC)
|
|
290
|
+
- [PyCHAM](https://github.com/simonom/PyCHAM): CHemistry with Aerosol Microphysics in Python Box Model for modelling of indoor environments, including aerosol chambers
|
|
291
|
+
- [PySDM](https://open-atmos.github.io/PySDM): particle-based Monte-Carlo aerosol-cloud simulation package (differences: PySDM focuses on growth and breakup processes relevant to cloud droplets; PyPartMC focuses on processes relevant to air pollutants and their chemical and physical transformations)
|
|
292
|
+
- [SSH-aerosol](https://github.com/sshaerosol/ssh-aerosol): C++/Fortran package for simulating evolution of primary and secondary atmospheric aerosols
|
|
293
|
+
|
|
276
294
|
## FAQ
|
|
277
295
|
- Q: How to install PyPartMC with MOSAIC enabled?
|
|
278
296
|
A: Installation can be done using `pip`, however, `pip` needs to be instructed not to use binary packages available at pypi.org but rather to compile from source (pip will download the source from pip.org), and the path to compiled MOSAIC library needs to be provided at compile-time; the following command should convey it:
|
|
@@ -314,6 +332,47 @@ Could not find NC_M4 using the following names: m4, m4.exe
|
|
|
314
332
|
```
|
|
315
333
|
Try installing `m4` (e.g., using [MSYS2](https://packages.msys2.org/package/m4?repo=msys&variant=x86_64) on Windows).
|
|
316
334
|
|
|
335
|
+
## Acknowledgement and citations
|
|
336
|
+
|
|
337
|
+
We would greatly appreciate citation of the PartMC model description paper (Riemer et al., 2009)
|
|
338
|
+
and the PyPartMC description paper (D’Aquino et al., 2024) if PyPartMC was used in your study.
|
|
339
|
+
The citations are:
|
|
340
|
+
- Riemer, N., M. West, R. A. Zaveri, R. C. Easter: Simulating the evolution of soot
|
|
341
|
+
mixing-state with a particle-resolved aerosol model
|
|
342
|
+
J. Geophys. Res., 114, D09202, 2009, DOI: [10.1029/2008JD011073](https://doi.org/10.1029/2008JD011073)
|
|
343
|
+
- D’Aquino, Z., S. Arabas, J. H. Curtis, A. Vaishnav, N. Riemer, M. West: PyPartMC: A
|
|
344
|
+
pythonic interfact to a particle-resolved, Monte Carlo aerosol simulation framework
|
|
345
|
+
SoftwareX, 25, 101613, 2024, DOI: [10.1016/j.softx.2023.101613](https://doi.org/10.1016/j.softx.2023.101613)
|
|
346
|
+
|
|
347
|
+
The following paragraph provides a more substantial description of PartMC (text released into the public domain and can be freely copied by anyone for any purpose):
|
|
348
|
+
|
|
349
|
+
> PartMC is a stochastic, particle-resolved aerosol box model. It tracks the
|
|
350
|
+
composition of many computational particles (10<sup>4</sup> to 10<sup>6</sup>) within a well-mixed air
|
|
351
|
+
volume, each represented by a composition vector that evolves based on physical
|
|
352
|
+
and chemical processes. The physical processes—including Brownian coagulation,
|
|
353
|
+
new particle formation, emissions, dilution, and deposition—are simulated using a
|
|
354
|
+
stochastic Monte Carlo approach via a Poisson process while chemical processes are
|
|
355
|
+
simulated deterministically for each computational particle. The weighted flow
|
|
356
|
+
algorithm (DeVille, Riemer, and West, 2011, 2019) enhances efficiency and reduces
|
|
357
|
+
ensemble variance. Detailed numerical methods are described in Riemer et al.
|
|
358
|
+
(2009), DeVille et al. (2011, 2019), and Curtis et al. (2016). PartMC is open-source
|
|
359
|
+
under the GNU GPL v2 and available at
|
|
360
|
+
[github.com/compdyn/partmc](https://github.com/compdyn/partmc).
|
|
361
|
+
>
|
|
362
|
+
> References:
|
|
363
|
+
> - Curtis, J. H., M. D. Michelotti, N. Riemer, M. T. Heath, M. West: Accelerated
|
|
364
|
+
simulation of stochastic particle removal processes in particle-resolved aerosol
|
|
365
|
+
models, J. Computational Phys., 322, 21-32, 2016, DOI: [10.1016/j.jcp.2016.06.029](https://doi.org/10.1016/j.jcp.2016.06.029)
|
|
366
|
+
> - DeVille, L., N. Riemer, M. West, Convergence of a generalized weighted flow
|
|
367
|
+
algorithm for stochastic particle coagulation, J. Computational Dynamics, 6, 69-94,
|
|
368
|
+
2019, DOI: [10.3934/jcd.2019003](https://doi.org/10.3934/jcd.2019003)
|
|
369
|
+
> - DeVille, R. E. L., N. Riemer, M. West, The Weighted Flow Algorithm (WFA) for
|
|
370
|
+
stochastic particle coagulation, J. Computational Phys., 230, 8427-8451, 2011,
|
|
371
|
+
DOI: [10.1016/j.jcp.2011.07.027](https://doi.org/10.1016/j.jcp.2011.07.027)
|
|
372
|
+
> - Riemer, N., M. West, R. A. Zaveri, R. C. Easter, Simulating the evolution of soot
|
|
373
|
+
mixing-state with a particle-resolved aerosol model, J. Geophys. Res., 114, D09202,
|
|
374
|
+
2009., DOI: [10.1029/2008JD011073](https://doi.org/10.1029/2008JD011073)
|
|
375
|
+
|
|
317
376
|
## Credits
|
|
318
377
|
|
|
319
378
|
#### PyPartMC:
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
pypartmc-2.0.0rc3.dist-info/RECORD,,
|
|
2
|
+
pypartmc-2.0.0rc3.dist-info/WHEEL,sha256=emBhFCg8-qcjB27fWAvB5QXuvx9awpzTTZvaRY6KvLw,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-311-darwin.so,sha256=bgr3VXs_8MQ6QxgHuCx1Abj2aLAMzfNrwa9S8JdOPh4,7443360
|
|
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
|
PyPartMC-1.3.13.dist-info/RECORD
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
_PyPartMC.cpython-311-darwin.so,sha256=HHIehdLNLLA-kV_YIvZcaBb825Nl04YP0zh1hqTBQoo,7690880
|
|
2
|
-
PyPartMC/__init__.py,sha256=VAqwePpJZEFJ7YieM1GbUvfluRhUyWXciP89pY9xIH4,2217
|
|
3
|
-
PyPartMC-1.3.13.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
4
|
-
PyPartMC-1.3.13.dist-info/METADATA,sha256=nEjH71WXy6XtldH_CyAmNG5I5Y3kNO_ttyh5KZUn_18,20642
|
|
5
|
-
PyPartMC-1.3.13.dist-info/WHEEL,sha256=YWg2rtE80mHMfvkso9qlDPXrqE_cY9eEEGMiaTrHlTg,114
|
|
6
|
-
PyPartMC-1.3.13.dist-info/top_level.txt,sha256=PJxy22pTnxcBhqrb6r4AIL32rkxA61gzw7ohlzybgSM,19
|
|
7
|
-
PyPartMC-1.3.13.dist-info/RECORD,,
|
PyPartMC-1.3.13.dist-info/WHEEL
DELETED
|
File without changes
|