Skip to content

Commit

Permalink
fix merge conflict
Browse files Browse the repository at this point in the history
  • Loading branch information
slayoo committed Nov 10, 2024
2 parents dc82190 + 4315ea3 commit 0c9d4dc
Show file tree
Hide file tree
Showing 50 changed files with 1,298 additions and 1,052 deletions.
8 changes: 4 additions & 4 deletions .github/workflows/readme_snippets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
python:
strategy:
matrix:
platform: [ubuntu-latest, macos-12, macos-14, windows-latest]
platform: [ubuntu-latest, macos-13, macos-14, windows-latest]
runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v4.1.6
Expand All @@ -27,7 +27,7 @@ jobs:
- run: python -m pip install $PIP_INSTALL_ARGS pytest-codeblocks pytest
- run: python -m pip install $PIP_INSTALL_ARGS "pyparsing<3.0.0" # https://github.com/matplotlib/matplotlib/issues/25204
- run: |
python -c "import os,pytest_codeblocks; code=pytest_codeblocks.extract_from_file('README.md'); f=open('readme.py', 'w', encoding='utf-8'); f.write('# coding: utf-8'+os.linesep); f.writelines(block.code for block in code if block.syntax=='Python'); f.close()"
python -c "import os,pytest_codeblocks; code=pytest_codeblocks.extract_from_file('docs/markdown/pysdm_landing.md'); f=open('readme.py', 'w', encoding='utf-8'); f.write('# coding: utf-8'+os.linesep); f.writelines(block.code for block in code if block.syntax=='Python'); f.close()"
- run: cat -n readme.py
- run: |
python -We readme.py
Expand All @@ -51,7 +51,7 @@ jobs:
python-version: "3.10"
- run: pip install -e .
- run: pip install pytest-codeblocks pytest
- run: python -c "import pytest_codeblocks; code=pytest_codeblocks.extract_from_file('README.md'); f=open('readme.jl', 'w'); f.writelines(block.code for block in code if block.syntax=='Julia'); f.close()"
- run: python -c "import pytest_codeblocks; code=pytest_codeblocks.extract_from_file('docs/markdown/pysdm_landing.md'); f=open('readme.jl', 'w'); f.writelines(block.code for block in code if block.syntax=='Julia'); f.close()"
- uses: julia-actions/setup-julia@v1.9.6
- run: cat -n readme.jl
- run: julia readme.jl
Expand All @@ -67,7 +67,7 @@ jobs:
python-version: 3.8
- run: pip install -e .
- run: pip install pytest-codeblocks pytest
- run: python -c "import pytest_codeblocks; code=pytest_codeblocks.extract_from_file('README.md'); f=open('readme.m', 'w'); f.writelines(block.code for block in code if block.syntax=='Matlab'); f.close()"
- run: python -c "import pytest_codeblocks; code=pytest_codeblocks.extract_from_file('docs/markdown/pysdm_landing.md'); f=open('readme.m', 'w'); f.writelines(block.code for block in code if block.syntax=='Matlab'); f.close()"
- run: cat -n readme.m
- uses: matlab-actions/setup-matlab@v2.1.0
with:
Expand Down
63 changes: 43 additions & 20 deletions .github/workflows/tests+artifacts+pypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ jobs:
pdoc:
strategy:
matrix:
platform: [ubuntu-latest, macos-12, windows-latest]
platform: [ubuntu-latest, macos-13, windows-latest]
runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v4.1.6
Expand All @@ -69,10 +69,18 @@ jobs:
with:
python-version: "3.12"
- run: |
pip install pdoc
pip install pdoc nbformat
pip install -e .
pip install -e examples
PDOC_ALLOW_EXEC=1 python -We -m pdoc -o html PySDM examples/PySDM_examples -t pdoc_templates
python - <<EOF
import glob, nbformat
for notebook_path in glob.glob('examples/PySDM_examples/*/*.ipynb'):
with open(notebook_path, encoding="utf8") as fin:
with open(notebook_path + ".badges.md", 'w') as fout:
fout.write(nbformat.read(fin, nbformat.NO_CONVERT).cells[0].source)
EOF
PDOC_ALLOW_EXEC=1 python -We -m pdoc -o html PySDM examples/PySDM_examples -t docs/templates --math --mermaid
- if: ${{ github.ref == 'refs/heads/main' && matrix.platform == 'ubuntu-latest' }}
uses: JamesIves/github-pages-deploy-action@4.1.1
with:
Expand All @@ -86,7 +94,7 @@ jobs:
- uses: actions/checkout@v4.1.6
with:
submodules: recursive
fetch-depth: 0
fetch-depth: 0
- name: Set up Python 3.9
uses: actions/setup-python@v5.0.0
with:
Expand Down Expand Up @@ -114,15 +122,15 @@ jobs:
steps:
- uses: actions/checkout@v4.1.6
- uses: notiz-dev/github-action-json-property@release
with:
with:
path: '.zenodo.json'
prop_path: 'creators'

tests:
needs: [pdoc, nojit_and_codecov, zenodo_json]
strategy:
matrix:
platform: [ubuntu-latest, macos-12, macos-14, windows-latest]
platform: [ubuntu-latest, macos-13, macos-14, windows-latest]
python-version: ["3.9", "3.12"]
test-suite: ["unit_tests/!(dynamics)", "unit_tests/dynamics/!(condensation)", "unit_tests/dynamics/condensation", "smoke_tests/no_env", "smoke_tests/box", "smoke_tests/parcel_a", "smoke_tests/parcel_b", "smoke_tests/parcel_c", "smoke_tests/kinematic_1d", "smoke_tests/kinematic_2d", "tutorials_tests"]
exclude:
Expand Down Expand Up @@ -165,7 +173,7 @@ jobs:
# install devops_tests for tutorials_tests
- if: matrix.test-suite == 'tutorials_tests'
run: pip install -r tests/devops_tests/requirements.txt
run: pip install -r tests/devops_tests/requirements.txt

# https://github.com/numba/numba/issues/6350#issuecomment-728174860
- if: startsWith(matrix.platform, 'ubuntu-')
Expand All @@ -188,7 +196,7 @@ jobs:
needs: [nojit_and_codecov]
strategy:
matrix:
platform: [ubuntu-22.04, macos-12, windows-latest]
platform: [ubuntu-24.04, macos-13, windows-latest]
python-version: ["3.9", "3.12"]
runs-on: ${{ matrix.platform }}
steps:
Expand Down Expand Up @@ -224,7 +232,7 @@ jobs:
needs: [examples-setup]
strategy:
matrix:
platform: [ubuntu-22.04, macos-12, windows-latest]
platform: [ubuntu-24.04, macos-13, windows-latest]
python-version: ["3.9", "3.12"]
test-suite: [ "chemistry_freezing_isotopes", "condensation_a", "condensation_b", "coagulation", "breakup", "multi-process_a", "multi-process_b"]
fail-fast: false
Expand Down Expand Up @@ -255,16 +263,29 @@ jobs:
- if: startsWith(matrix.platform, 'ubuntu-')
run: echo NUMBA_THREADING_LAYER=omp >> $GITHUB_ENV

- if: startsWith(matrix.platform, 'ubuntu-')
- if: startsWith(matrix.platform, 'ubuntu-') && matrix.test-suite == 'multi-process_a'
run: |
sudo apt-get update
sudo apt-get install python3-paraview
- if: startsWith(matrix.platform, 'macos-')
sudo apt-get install libegl1 libopengl0 ghostscript
wget -nv "https://paraview.org/paraview-downloads/download.php?submit=Download&version=v5.13&type=binary&os=Linux&downloadFile=ParaView-5.13.1-egl-MPI-Linux-Python3.10-x86_64.tar.gz" -O paraview.tar.gz
tar xzf paraview.tar.gz
echo `pwd`/`dirname ParaView*/bin/pvpython` >> $GITHUB_PATH
- if: startsWith(matrix.platform, 'macos-') && matrix.test-suite == 'multi-process_a'
run: |
brew install --cask paraview
echo `dirname /Applications/ParaView-*.app/Contents/bin/pvpython | head -1` >> $GITHUB_PATH
- if: matrix.platform != 'windows-latest'
run: pvpython --version
brew install ghostscript
- if: startsWith(matrix.platform, 'windows-') && matrix.test-suite == 'multi-process_a'
run: |
curl "https://www.paraview.org/paraview-downloads/download.php?submit=Download&version=v5.13&type=binary&os=Windows&downloadFile=ParaView-5.13.1-Windows-Python3.10-msvc2017-AMD64.msi" -o paraview.msi
msiexec //i paraview.msi //quiet //qn //norestart
echo "C:\\Program Files\\ParaView 5.13.1\\bin\\" >> $GITHUB_PATH
- if: matrix.test-suite == 'multi-process_a'
run: |
pvpython --version
pvpython -c "from paraview import simple"
- env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -279,7 +300,7 @@ jobs:
with:
submodules: recursive
fetch-depth: 0 # https://github.com/pypa/setuptools_scm/issues/480
- run: pip install -r tests/devops_tests/requirements.txt
- run: pip install -r tests/devops_tests/requirements.txt "flexparser<0.4"
- env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: pytest --durations=10 -v -s -We -p no:unraisableexception -k "not test_run_notebooks" tests/devops_tests
Expand Down Expand Up @@ -320,7 +341,7 @@ jobs:
pkg_install_check:
strategy:
matrix:
platform: [ubuntu-latest, macos-12, macos-14, windows-latest]
platform: [ubuntu-latest, macos-13, macos-14, windows-latest]
python-version: ["3.9", "3.12"]
exclude:
- platform: macos-14
Expand All @@ -335,7 +356,7 @@ jobs:
with:
pattern: dist-*
merge-multiple: true
path: dist
path: dist
- run: python -m pip install $PIP_INSTALL_ARGS dist/*.whl
- run: python -c "import PySDM; print(PySDM.__version__)"
- run: python -c "import PySDM_examples; print(PySDM_examples.__version__)"
Expand All @@ -353,12 +374,14 @@ jobs:
path: dist

- if: github.event_name == 'push' && github.ref == 'refs/heads/main'
uses: pypa/gh-action-pypi-publish@unstable/v1
uses: pypa/gh-action-pypi-publish@release/v1.12
with:
attestations: false
repository_url: https://test.pypi.org/legacy/
packages-dir: dist

- if: startsWith(github.ref, 'refs/tags')
uses: pypa/gh-action-pypi-publish@unstable/v1
uses: pypa/gh-action-pypi-publish@release/v1.12
with:
attestations: false
packages-dir: dist
5 changes: 5 additions & 0 deletions .zenodo.json
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,11 @@
"name": "Mackay, J. Ben",
"orcid": "0000-0001-8677-3562"
},
{
"affiliation": "AGH University of Krakow, Poland",
"name": "Magnuszewski, Paweł",
"orcid": "0009-0007-9269-6795"
},
{
"affiliation": "California Institute of Technology, Pasadena, CA, USA",
"name": "Mints, Mikhail"
Expand Down
21 changes: 1 addition & 20 deletions PySDM/__init__.py
Original file line number Diff line number Diff line change
@@ -1,25 +1,6 @@
# pylint:disable=invalid-name
"""
PySDM offers a set of building blocks for development of atmospheric cloud
simulation systems revolving around the particle-based microphysics modelling concept
and the Super-Droplet Method algorithm ([Shima et al. 2009](https://doi.org/10.1002/qj.441))
for numerically tackling the probabilistic representation of particle coagulation.
For an overview of PySDM, see [Bartman, Arabas et al. 2021](https://arxiv.org/abs/2103.17238).
PySDM is released under the [GNU GPL v3 license](https://www.gnu.org/licenses/gpl-3.0.en.html).
PySDM development has been spearheaded at the Faculty of Mathematics and Computer Science,
[Jagiellonian University in Kraków](https://en.uj.edu.pl/en) (the copyright holder).
For details on PySDM dependencies and installation procedures, see project
[README.md file](https://github.com/open-atmos/PySDM/blob/master/README.md)
which also includes basic usage examples in **Python**, **Julia** and **Matlab**.
A set of more elaborate examples engineered in Python and accompanied by Jupyter
notebooks are maintained in the
[PySDM-examples package](https://github.com/open-atmos/PySDM-examples).
PySDM test-suite built using [pytest](https://docs.pytest.org/) is located in the
[tests package](https://github.com/open-atmos/PySDM/tree/master/tests).
.. include:: ../docs/markdown/pysdm_landing.md
"""

from importlib.metadata import PackageNotFoundError, version
Expand Down
Loading

0 comments on commit 0c9d4dc

Please sign in to comment.