diff --git a/.circleci/config.yml b/.circleci/config.yml index cc41bab..2d4eb9b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -34,7 +34,7 @@ jobs: name: Build package under test and check for PyPI compliance via twine command: | . venv/bin/activate - pip install twine + pip install twine --only-binary=cryptography python setup.py sdist twine check dist/`ls dist/ | grep .tar.gz` - run: diff --git a/MANIFEST.in b/MANIFEST.in index de581b8..10c3d88 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,5 +1,6 @@ include README.rst include LICENSE recursive-include LICENSES * +include pyproject.toml include glmnet/*.pyf exclude glmnet/*.c diff --git a/dev-requirements.txt b/dev-requirements.txt index 92ad1ad..8ff9fe1 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -1,5 +1,5 @@ # Pin exact dependency version numbers for local dev and CircleCI. -numpy==1.19.0 +numpy==1.19.2 pytest==5.4.3 scikit-learn==0.23.1 scipy==1.5.0 diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..71812b8 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,14 @@ +[project] +requires-python = ">=3.6" + +[build-system] +build-backend = "setuptools.build_meta" +# We need at least 1.19.0 for ABI compatibility, but otherwise prefer the oldest available wheel (eg: 1.19.3 for py3.9) +requires = [ + "numpy==1.19.0; python_version<'3.9'", + "numpy==1.19.3; python_version=='3.9'", + "numpy==1.22.4; python_version=='3.10'", + "numpy; python_version>'3.10'", + "setuptools", + "wheel" +]