Skip to content

Commit

Permalink
build: switch from setup.py to pyproject.toml (PyLops#530)
Browse files Browse the repository at this point in the history
build: switch from setup.py to pyproject.toml
  • Loading branch information
mrava87 authored Oct 1, 2023
1 parent 0c50936 commit e6e0338
Show file tree
Hide file tree
Showing 7 changed files with 71 additions and 65 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ jobs:
strategy:
matrix:
platform: [ ubuntu-latest, macos-latest ]
python-version: ["3.7", "3.8", "3.9", "3.10"]
python-version: ["3.8", "3.9", "3.10"]

runs-on: ${{ matrix.platform }}
steps:
Expand Down
13 changes: 9 additions & 4 deletions .github/workflows/codacy-coverage-reporter.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,27 @@ on: [push, pull_request_target]

jobs:
build:
strategy:
matrix:
platform: [ ubuntu-latest, macos-latest ]
python-version: ["3.8", "3.9", "3.10"]

runs-on: ubuntu-latest
runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v3
- name: Set up Python
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: 3.9
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install flake8 pytest coverage
pip install flake8 pytest
if [ -f requirements.txt ]; then pip install -r requirements-dev.txt; fi
- name: Install pylops
run: |
pip install .
pip install coverage
- name: Code coverage with coverage
run: |
coverage run -m pytest
Expand Down
2 changes: 1 addition & 1 deletion .readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,5 @@ sphinx:
python:
install:
- requirements: requirements-dev.txt
- method: setuptools
- method: pip
path: .
8 changes: 4 additions & 4 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ jobs:
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.7'
versionSpec: '3.8'
architecture: 'x64'

- script: |
Expand All @@ -65,7 +65,7 @@ jobs:
displayName: 'Install prerequisites and library'
- script: |
python setup.py test
pytest
condition: succeededOrFailed()
displayName: 'Run tests'
Expand All @@ -84,7 +84,7 @@ jobs:
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.7'
versionSpec: '3.8'
architecture: 'x64'

- script: |
Expand All @@ -94,6 +94,6 @@ jobs:
displayName: 'Install prerequisites and library'
- script: |
python setup.py test
pytest
condition: succeededOrFailed()
displayName: 'Run tests'
3 changes: 3 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[build-system]
requires = ["setuptools", "setuptools-scm"]
build-backend = "setuptools.build_meta"
54 changes: 53 additions & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
@@ -1,3 +1,56 @@
[metadata]
name = pylops
fullname = PyLops
description = Python library implementing linear operators to allow solving large-scale optimization problems
long_description = file: README.md
long_description_content_type = text/markdown
author = The PyLops Development Team
author_email = [email protected]
maintainer = "Matteo Ravasi"
maintainer_email = [email protected]
license = LGPL-3.0 License
license_file = LICENSE.md
platform = any
keywords = algebra, inverse problems, large-scale optimization
classifiers =
Development Status :: 5 - Production/Stable
Intended Audience :: Developers
Intended Audience :: Science/Research
Intended Audience :: Education
License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3),
Natural Language :: English
Operating System :: OS Independent
Programming Language :: Python :: 3 :: Only
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Topic :: Scientific/Engineering : Mathematics
url = https://github.com/pylops/pylops

project_urls =
Documentation = https://pylops.readthedocs.io/
Release Notes = https://github.com/pylops/pylops/releases
Bug Tracker = https://github.com/pylops/pylops/issues
Source Code = https://github.com/pylops/pylops

[options]
zip_safe = True
include_package_data = True
packages = find:
python_requires = >=3.8
install_requires =
numpy >= 1.21.0
scipy >= 1.4.0

[options.extras_require]
advanced =
llvmlite
numba
pyfftw
PyWavelets
scikit-fmm
spgl1

[aliases]
test=pytest

Expand All @@ -11,7 +64,6 @@ per-file-ignores =
__init__.py: F401, F403, F405
max-line-length = 88


# mypy global options
[mypy]
plugins = numpy.typing.mypy_plugin
Expand Down
54 changes: 0 additions & 54 deletions setup.py

This file was deleted.

0 comments on commit e6e0338

Please sign in to comment.