Skip to content

Commit

Permalink
build: fixed setup to allow correct versioning (#139)
Browse files Browse the repository at this point in the history
  • Loading branch information
mrava87 authored Oct 5, 2023
1 parent f7922db commit 54bc6ba
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 55 deletions.
11 changes: 8 additions & 3 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,23 @@ jobs:

runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Get history and tags for SCM versioning to work
run: |
git fetch --prune --unshallow
git fetch --depth=1 origin +refs/tags/*:refs/tags/*
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install --upgrade pip setuptools
pip install flake8 pytest
if [ -f requirements.txt ]; then pip install -r requirements-dev.txt; fi
- name: Install pyproximal
run: |
python -m setuptools_scm
pip install .
- name: Test with pytest
run: |
Expand Down
50 changes: 48 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,49 @@
[build-system]
requires = ["setuptools", "setuptools-scm"]
build-backend = "setuptools.build_meta"
requires = [
"setuptools >= 65",
"setuptools_scm[toml]",
"wheel",
]
build-backend = "setuptools.build_meta"

[project]
name = "pyproximal"
description = "Python library implementing proximal operators to solve non-smooth, constrained convex problems with proximal algorithms"
readme = "README.md"
authors = [
{name = "Matteo Ravasi", email = "matteoravasi@gmail.com"},
]
license = {file = "LICENSE.md"}
keywords = ["algebra", "inverse problems", "proximal", "convex optimization", "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",
]
dependencies = [
"numpy >= 1.15.0",
"scipy >= 1.8.0",
"pylops >= 2.0.0",
]
dynamic = ["version"]

[project.optional-dependencies]
advanced = [
"llvmlite",
"numba",
]

[tool.setuptools.packages.find]
exclude = ["pytests"]

[tool.setuptools_scm]
version_file = "pyproximal/version.py"
50 changes: 0 additions & 50 deletions setup.cfg
Original file line number Diff line number Diff line change
@@ -1,53 +1,3 @@
[metadata]
name = pyproximal
fullname = PyProximal
description = Python library implementing proximal operators to solve non-smooth, constrained convex problems with proximal algorithms
long_description = file: README.md
long_description_content_type = text/markdown
author = The PyLops Development Team
author_email = matteoravasi@gmail.com
maintainer = "Matteo Ravasi"
maintainer_email = matteoravasi@gmail.com
license = LGPL-3.0 License
license_file = LICENSE.md
platform = any
keywords = algebra, inverse problems, proximal, convex optimization, 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/pyproximal

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

[options]
zip_safe = True
include_package_data = True
packages = find:
python_requires = >=3.8
install_requires =
numpy >= 1.15.0
scipy >= 1.8.0
pylops >= 2.0.0

[options.extras_require]
advanced =
llvmlite
numba

[aliases]
test=pytest

Expand Down

0 comments on commit 54bc6ba

Please sign in to comment.