Skip to content

Commit

Permalink
Merge pull request #35 from radionets-project/pyproject
Browse files Browse the repository at this point in the history
Use pyproject.toml
  • Loading branch information
tgross03 authored Jul 18, 2024
2 parents 3fc7db5 + 04f32d2 commit 37b98b6
Show file tree
Hide file tree
Showing 7 changed files with 113 additions and 70 deletions.
14 changes: 10 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,31 +39,37 @@ 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: |
# setup correct python version
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
env:
PYTHON_VERSION: ${{ matrix.python-version }}
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'
run: micromamba list

- name: Tests
run: |
py.test --cov --cov-report=xml
pytest --cov --cov-report=xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
Expand Down
1 change: 1 addition & 0 deletions docs/changes/35.maintenance.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- switch from setup.py to pyproject.toml
12 changes: 8 additions & 4 deletions environment.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,18 @@
---
# A conda environment with all useful packages for pyvisgen developers
name: pyvisgen
channels:
- pytorch
- defaults
- conda-forge
dependencies:
- python
- astropy<=6.1.0
- pytorch
- numpy
- matplotlib
- pip
- pip:
- towncrier
- -e .
- towncrier
- jupyter
- pytest
- pytest-cov
- pytest-runner
94 changes: 94 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
[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 = "[email protected]"},
{name = "Felix Geyer", email = "[email protected]"},
]
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",
]

requires-python = ">=3.10"

dependencies = [
"numpy",
"astropy<=6.1.0",
"torch",
"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.setuptools.packages.find]
where = ["pyvisgen"]

[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} <https://github.com/cta-observatory/ctapipe/pull/{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 = ""
5 changes: 0 additions & 5 deletions setup.cfg

This file was deleted.

57 changes: 0 additions & 57 deletions setup.py

This file was deleted.

Empty file added tests/__init__.py
Empty file.

0 comments on commit 37b98b6

Please sign in to comment.