From 140584097d57511e2b884c7890a5b68aee5fe8f6 Mon Sep 17 00:00:00 2001 From: Kevin Schmidt Date: Thu, 18 Jul 2024 14:40:08 +0200 Subject: [PATCH 01/14] create pyproject.toml --- pyproject.toml | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 pyproject.toml diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..1090f2f --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,91 @@ +[build-system] +requires = ["setuptools>=64", "setuptools_scm[toml]>=8"] +build-backend = "setuptools.build_meta" + +[project] +name = "pyvisgen" +version = "0.2.0" +description = "Simulate radio interferometer observations and visibility generation with the RIME formalism." +readme = "README.md" +authors = [ + {name = "Kevin Schmidt, Felix Geyer, Stefan Fröse"}, +] +maintainers = [ + {name = "Kevin Schmidt", email = "kevin3.schmidt@tu-dortmund.de"}, + {name = "Felix Geyer", email = "felix.geyer@tu-dortmund.de"}, +] +license = {text = "MIT"} +classifiers = [ + "Intended Audience :: Science/Research", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Topic :: Scientific/Engineering :: Astronomy", + "Topic :: Scientific/Engineering :: Physics", + "Topic :: Scientific/Engineering :: Information Analysis", + "Development Status :: 4 - Beta", +] + +dynamic = ["version"] +requires-python = ">=3.10" + +dependencies = [ + "numpy", + "astropy<=6.1.0", + "matplotlib", + "ipython", + "scipy", + "pandas", + "toml", + "pytest", + "pytest-cov", + "jupyter", + "astroplan", + "torch", + "tqdm", + "numexpr", + "click", + "h5py", + "natsort", + "pre-commit", +] + +[project.scripts] + pyvisgen_create_dataset = "pyvisgen.simulation.scripts.create_dataset:main" + +[tool.towncrier] + package = "ctapipe" + directory = "docs/changes" + filename = "CHANGES.rst" + template = "docs/changes/template.rst" + # let towncrier create proper links to the merged PR + issue_format = "`#{issue} `__" + + [tool.towncrier.fragment.feature] + name = "New Features" + showcontent = true + + [tool.towncrier.fragment.bugfix] + name = "Bug Fixes" + showcontent = true + + [tool.towncrier.fragment.api] + name = "API Changes" + showcontent = true + + [tool.towncrier.fragment.datamodel] + name = "Data Model Changes" + showcontent = true + + [tool.towncrier.fragment.optimization] + name = "Refactoring and Optimization" + showcontent = true + + [tool.towncrier.fragment.maintenance] + name = "Maintenance" + showcontent = true + + [[tool.towncrier.section]] + name = "" + path = "" From 3c534e9ba30e958bdc23bd5784d512a2788cc43a Mon Sep 17 00:00:00 2001 From: Kevin Schmidt Date: Thu, 18 Jul 2024 14:40:33 +0200 Subject: [PATCH 02/14] delete old setup files --- setup.cfg | 5 ----- setup.py | 57 ------------------------------------------------------- 2 files changed, 62 deletions(-) delete mode 100644 setup.cfg delete mode 100644 setup.py diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index 20ce0d7..0000000 --- a/setup.cfg +++ /dev/null @@ -1,5 +0,0 @@ -[aliases] -test=pytest - -[tool:pytest] -addopts = -v diff --git a/setup.py b/setup.py deleted file mode 100644 index c8533a7..0000000 --- a/setup.py +++ /dev/null @@ -1,57 +0,0 @@ -from setuptools import find_packages, setup - -setup( - name="pyvisgen", - version="0.2.0", - description="Simulate radio interferometer observations \ - and visibility generation with the RIME formalism.", - url="https://github.com/radionets-project/pyvisgen", - author="Kevin Schmidt, Felix Geyer, Stefan Fröse", - author_email="kevin3.schmidt@tu-dortmund.de", - license="MIT", - include_package_data=True, - packages=find_packages(), - install_requires=[ - "numpy", - "astropy", - "matplotlib", - "ipython", - "scipy", - "pandas", - "toml", - "pytest", - "pytest-cov", - "jupyter", - "astroplan", - "torch", - "tqdm", - "numexpr", - "click", - "h5py", - "natsort", - "pre-commit", - ], - setup_requires=["pytest-runner"], - tests_require=["pytest"], - zip_safe=False, - entry_points={ - "console_scripts": [ - "pyvisgen_create_dataset = pyvisgen.simulation.scripts.create_dataset:main", - ], - }, - classifiers=[ - "Development Status :: 4 - Beta", - "Intended Audience :: Science/Research", - "License :: OSI Approved :: MIT License", - "Natural Language :: English", - "Operating System :: OS Independent", - "Programming Language :: Python", - "Programming Language :: Python :: 3.7", - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3 :: Only", - "Topic :: Scientific/Engineering :: Astronomy", - "Topic :: Scientific/Engineering :: Physics", - "Topic :: Scientific/Engineering :: Information Analysis", - ], -) From 7602687904da7bad5003296fd7206487cb67c232 Mon Sep 17 00:00:00 2001 From: Kevin Schmidt Date: Thu, 18 Jul 2024 14:42:42 +0200 Subject: [PATCH 03/14] add changelog --- docs/changes/35.maintenance.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 docs/changes/35.maintenance.rst diff --git a/docs/changes/35.maintenance.rst b/docs/changes/35.maintenance.rst new file mode 100644 index 0000000..598cc4f --- /dev/null +++ b/docs/changes/35.maintenance.rst @@ -0,0 +1 @@ +- switch from setup.py to pyproject.toml From 6495516e81c810362c10701c5c84a7f2fc2e25cc Mon Sep 17 00:00:00 2001 From: Kevin Schmidt Date: Thu, 18 Jul 2024 14:44:19 +0200 Subject: [PATCH 04/14] add torch to dependencies --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index 1090f2f..0139550 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -33,6 +33,7 @@ requires-python = ">=3.10" dependencies = [ "numpy", "astropy<=6.1.0", + "pytorch", "matplotlib", "ipython", "scipy", From ddff3d2a8f773acb432e2cb8c3357f00d1636664 Mon Sep 17 00:00:00 2001 From: Kevin Schmidt Date: Thu, 18 Jul 2024 14:51:29 +0200 Subject: [PATCH 05/14] update ci workflow --- .github/workflows/ci.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fc84415..f382051 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -39,7 +39,7 @@ jobs: fetch-depth: 0 - name: Prepare mamba installation - if: matrix.install-method == 'mamba' + if: matrix.install-method == 'mamba' && contains(github.event.pull_request.labels.*.name, 'documentation-only') == false env: PYTHON_VERSION: ${{ matrix.python-version }} run: | @@ -47,8 +47,11 @@ jobs: sed -i -e "s/- python.*/- python=$PYTHON_VERSION/g" environment.yml - name: mamba setup - if: matrix.install-method == 'mamba' + if: matrix.install-method == 'mamba' && contains(github.event.pull_request.labels.*.name, 'documentation-only') == false uses: mamba-org/setup-micromamba@v1 + with: + environment-file: environment.yml + cache-downloads: true - name: Install dependencies run: | From 26cfe7fa2dfccbb73173cc01a5f7833a583ba3e2 Mon Sep 17 00:00:00 2001 From: Kevin Schmidt Date: Thu, 18 Jul 2024 14:55:26 +0200 Subject: [PATCH 06/14] update environment --- environment.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/environment.yml b/environment.yml index 6e2c2d4..9011884 100644 --- a/environment.yml +++ b/environment.yml @@ -1,4 +1,4 @@ ---- +# A conda environment with all useful packages for pyvisgen developers name: pyvisgen channels: - pytorch @@ -6,9 +6,15 @@ channels: - conda-forge dependencies: - python + - astropy<=6.1.0 - pytorch - numpy + - matplotlib - pip + - towncrier + - jupyter + - pytest + - pytest-cov + - pytest-runner - pip: - - towncrier - -e . From 75d2d0c8ce6092a39156a31392096c51e6c6d0aa Mon Sep 17 00:00:00 2001 From: Kevin Schmidt Date: Thu, 18 Jul 2024 14:56:05 +0200 Subject: [PATCH 07/14] del dynamic version --- pyproject.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 0139550..13f7a6c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -27,7 +27,6 @@ classifiers = [ "Development Status :: 4 - Beta", ] -dynamic = ["version"] requires-python = ">=3.10" dependencies = [ From 1307075ed733d7071907801487da7691bae21cfa Mon Sep 17 00:00:00 2001 From: Kevin Schmidt Date: Thu, 18 Jul 2024 15:00:21 +0200 Subject: [PATCH 08/14] provide package dir --- pyproject.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index 13f7a6c..6cb3035 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -54,6 +54,9 @@ dependencies = [ [project.scripts] pyvisgen_create_dataset = "pyvisgen.simulation.scripts.create_dataset:main" +[tool.setuptools.packages.find] + where = ["pyvisgen"] + [tool.towncrier] package = "ctapipe" directory = "docs/changes" From b2558da0aec0419c7108bbb2295f3e307fa7975b Mon Sep 17 00:00:00 2001 From: Kevin Schmidt Date: Thu, 18 Jul 2024 15:02:53 +0200 Subject: [PATCH 09/14] fix torch --- environment.yml | 2 +- pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/environment.yml b/environment.yml index 9011884..1f6ca67 100644 --- a/environment.yml +++ b/environment.yml @@ -7,7 +7,7 @@ channels: dependencies: - python - astropy<=6.1.0 - - pytorch + - torch - numpy - matplotlib - pip diff --git a/pyproject.toml b/pyproject.toml index 6cb3035..8b0211f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -32,7 +32,7 @@ requires-python = ">=3.10" dependencies = [ "numpy", "astropy<=6.1.0", - "pytorch", + "torch", "matplotlib", "ipython", "scipy", From 87385eb814bf70452c373833267cd8a5ba407090 Mon Sep 17 00:00:00 2001 From: Kevin Schmidt Date: Thu, 18 Jul 2024 15:04:12 +0200 Subject: [PATCH 10/14] use pytorch for mamba --- environment.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/environment.yml b/environment.yml index 1f6ca67..9011884 100644 --- a/environment.yml +++ b/environment.yml @@ -7,7 +7,7 @@ channels: dependencies: - python - astropy<=6.1.0 - - torch + - pytorch - numpy - matplotlib - pip From c0a6c9dde12bc8630a7e2fd98cd0ce1ef3cdc5cf Mon Sep 17 00:00:00 2001 From: Kevin Schmidt Date: Thu, 18 Jul 2024 15:10:47 +0200 Subject: [PATCH 11/14] fix workflow --- .github/workflows/ci.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f382051..4910744 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -57,8 +57,9 @@ jobs: run: | python --version pip install pytest-cov restructuredtext-lint pytest-xdist 'coverage!=6.3.0' - pip install .[all] + pip install -e .[all] pip freeze + pip list - name: List installed package versions (conda) if: matrix.environment-type == 'mamba' @@ -66,7 +67,7 @@ jobs: - name: Tests run: | - py.test --cov --cov-report=xml + pytest --cov --cov-report=xml - name: Upload coverage to Codecov uses: codecov/codecov-action@v4 From afc6c31d3982a35714c470545b5872bdba6a45de Mon Sep 17 00:00:00 2001 From: Kevin Schmidt Date: Thu, 18 Jul 2024 15:14:53 +0200 Subject: [PATCH 12/14] delete installation --- environment.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/environment.yml b/environment.yml index 9011884..b62bdda 100644 --- a/environment.yml +++ b/environment.yml @@ -16,5 +16,3 @@ dependencies: - pytest - pytest-cov - pytest-runner - - pip: - - -e . From 43fdcef14275b4b807679e7f0ec2b8ed9f9a8689 Mon Sep 17 00:00:00 2001 From: Kevin Schmidt Date: Thu, 18 Jul 2024 15:21:28 +0200 Subject: [PATCH 13/14] add env info --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4910744..f6d9eb9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -54,6 +54,8 @@ jobs: cache-downloads: true - name: Install dependencies + env: + PYTHON_VERSION: ${{ matrix.python-version }} run: | python --version pip install pytest-cov restructuredtext-lint pytest-xdist 'coverage!=6.3.0' From 04f32d21d1b552b285cdcdcc0e95724dbb262e78 Mon Sep 17 00:00:00 2001 From: Kevin Schmidt Date: Thu, 18 Jul 2024 15:32:10 +0200 Subject: [PATCH 14/14] add init in tests --- tests/__init__.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 tests/__init__.py diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 0000000..e69de29