Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use pyproject.toml #35

Merged
merged 14 commits into from
Jul 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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.