Switched to pyproject.toml
This commit is contained in:
parent
3903645dbd
commit
33fa3167e7
6 changed files with 69 additions and 74 deletions
18
.github/workflows/build.yml
vendored
18
.github/workflows/build.yml
vendored
|
@ -47,6 +47,8 @@ jobs:
|
||||||
pip install --force-reinstall Sphinx sphinx-rtd-theme pre-commit
|
pip install --force-reinstall Sphinx sphinx-rtd-theme pre-commit
|
||||||
- name: Library version
|
- name: Library version
|
||||||
run: git describe --dirty --always --tags
|
run: git describe --dirty --always --tags
|
||||||
|
- name: Setup problem matchers
|
||||||
|
uses: adafruit/circuitpython-action-library-ci-problem-matchers@v1
|
||||||
- name: Pre-commit hooks
|
- name: Pre-commit hooks
|
||||||
run: |
|
run: |
|
||||||
pre-commit run --all-files
|
pre-commit run --all-files
|
||||||
|
@ -60,16 +62,16 @@ jobs:
|
||||||
- name: Build docs
|
- name: Build docs
|
||||||
working-directory: docs
|
working-directory: docs
|
||||||
run: sphinx-build -E -W -b html . _build/html
|
run: sphinx-build -E -W -b html . _build/html
|
||||||
- name: Check For setup.py
|
- name: Check For pyproject.toml
|
||||||
id: need-pypi
|
id: need-pypi
|
||||||
run: |
|
run: |
|
||||||
echo ::set-output name=setup-py::$( find . -wholename './setup.py' )
|
echo ::set-output name=pyproject-toml::$( find . -wholename './pyproject.toml' )
|
||||||
- name: Build Python package
|
- name: Build Python package
|
||||||
if: contains(steps.need-pypi.outputs.setup-py, 'setup.py')
|
if: contains(steps.need-pypi.outputs.pyproject-toml, 'pyproject.toml')
|
||||||
run: |
|
run: |
|
||||||
pip install --upgrade setuptools wheel twine readme_renderer testresources
|
pip install --upgrade build twine
|
||||||
python setup.py sdist
|
for file in $(find -not -path "./.*" -not -path "./docs*" \( -name "*.py" -o -name "*.toml" \) ); do
|
||||||
python setup.py bdist_wheel --universal
|
sed -i -e "s/0.0.0-auto.0/1.2.3/" $file;
|
||||||
|
done;
|
||||||
|
python -m build
|
||||||
twine check dist/*
|
twine check dist/*
|
||||||
- name: Setup problem matchers
|
|
||||||
uses: adafruit/circuitpython-action-library-ci-problem-matchers@v1
|
|
||||||
|
|
17
.github/workflows/release.yml
vendored
17
.github/workflows/release.yml
vendored
|
@ -61,25 +61,28 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v1
|
||||||
- name: Check For setup.py
|
- name: Check For pyproject.toml
|
||||||
id: need-pypi
|
id: need-pypi
|
||||||
run: |
|
run: |
|
||||||
echo ::set-output name=setup-py::$( find . -wholename './setup.py' )
|
echo ::set-output name=pyproject-toml::$( find . -wholename './pyproject.toml' )
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
if: contains(steps.need-pypi.outputs.setup-py, 'setup.py')
|
if: contains(steps.need-pypi.outputs.pyproject-toml, 'pyproject.toml')
|
||||||
uses: actions/setup-python@v2
|
uses: actions/setup-python@v2
|
||||||
with:
|
with:
|
||||||
python-version: '3.x'
|
python-version: '3.x'
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
if: contains(steps.need-pypi.outputs.setup-py, 'setup.py')
|
if: contains(steps.need-pypi.outputs.pyproject-toml, 'pyproject.toml')
|
||||||
run: |
|
run: |
|
||||||
python -m pip install --upgrade pip
|
python -m pip install --upgrade pip
|
||||||
pip install setuptools wheel twine
|
pip install --upgrade build twine
|
||||||
- name: Build and publish
|
- name: Build and publish
|
||||||
if: contains(steps.need-pypi.outputs.setup-py, 'setup.py')
|
if: contains(steps.need-pypi.outputs.pyproject-toml, 'pyproject.toml')
|
||||||
env:
|
env:
|
||||||
TWINE_USERNAME: ${{ secrets.pypi_username }}
|
TWINE_USERNAME: ${{ secrets.pypi_username }}
|
||||||
TWINE_PASSWORD: ${{ secrets.pypi_password }}
|
TWINE_PASSWORD: ${{ secrets.pypi_password }}
|
||||||
run: |
|
run: |
|
||||||
python setup.py sdist
|
for file in $(find -not -path "./.*" -not -path "./docs*" \( -name "*.py" -o -name "*.toml" \) ); do
|
||||||
|
sed -i -e "s/0.0.0-auto.0/${{github.event.release.tag_name}}/" $file;
|
||||||
|
done;
|
||||||
|
python -m build
|
||||||
twine upload dist/*
|
twine upload dist/*
|
||||||
|
|
3
optional_requirements.txt
Normal file
3
optional_requirements.txt
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
# SPDX-FileCopyrightText: 2022 Alec Delaney, for Adafruit Industries
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Unlicense
|
45
pyproject.toml
Normal file
45
pyproject.toml
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
# SPDX-FileCopyrightText: 2022 Alec Delaney for Adafruit Industries
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
[build-system]
|
||||||
|
requires = [
|
||||||
|
"setuptools",
|
||||||
|
"wheel",
|
||||||
|
]
|
||||||
|
|
||||||
|
[project]
|
||||||
|
name = "adafruit-circuitpython-pn532"
|
||||||
|
description = "CircuitPython library for controlling PN532 RFID/NFC reader-writer."
|
||||||
|
version = "0.0.0-auto.0"
|
||||||
|
readme = "README.rst"
|
||||||
|
authors = [
|
||||||
|
{name = "Adafruit Industries", email = "circuitpython@adafruit.com"}
|
||||||
|
]
|
||||||
|
urls = {Homepage = "https://github.com/adafruit/Adafruit_CircuitPython_PN532"}
|
||||||
|
keywords = [
|
||||||
|
"adafruit",
|
||||||
|
"pn532",
|
||||||
|
"rfid",
|
||||||
|
"nfc",
|
||||||
|
"hardware",
|
||||||
|
"micropython",
|
||||||
|
"circuitpython",
|
||||||
|
]
|
||||||
|
license = {text = "MIT"}
|
||||||
|
classifiers = [
|
||||||
|
"Intended Audience :: Developers",
|
||||||
|
"Topic :: Software Development :: Libraries",
|
||||||
|
"Topic :: Software Development :: Embedded Systems",
|
||||||
|
"Topic :: System :: Hardware",
|
||||||
|
"License :: OSI Approved :: MIT License",
|
||||||
|
"Programming Language :: Python :: 3",
|
||||||
|
]
|
||||||
|
dynamic = ["dependencies", "optional-dependencies"]
|
||||||
|
|
||||||
|
[tool.setuptools]
|
||||||
|
packages = ["adafruit_pn532"]
|
||||||
|
|
||||||
|
[tool.setuptools.dynamic]
|
||||||
|
dependencies = {file = ["requirements.txt"]}
|
||||||
|
optional-dependencies = {optional = {file = ["optional_requirements.txt"]}}
|
|
@ -1,4 +1,4 @@
|
||||||
# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries
|
# SPDX-FileCopyrightText: 2022 Alec Delaney, for Adafruit Industries
|
||||||
#
|
#
|
||||||
# SPDX-License-Identifier: Unlicense
|
# SPDX-License-Identifier: Unlicense
|
||||||
|
|
||||||
|
|
58
setup.py
58
setup.py
|
@ -1,58 +0,0 @@
|
||||||
# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: MIT
|
|
||||||
|
|
||||||
"""A setuptools based setup module.
|
|
||||||
|
|
||||||
See:
|
|
||||||
https://packaging.python.org/en/latest/distributing.html
|
|
||||||
https://github.com/pypa/sampleproject
|
|
||||||
"""
|
|
||||||
|
|
||||||
# Always prefer setuptools over distutils
|
|
||||||
from setuptools import setup, find_packages
|
|
||||||
|
|
||||||
# To use a consistent encoding
|
|
||||||
from codecs import open
|
|
||||||
from os import path
|
|
||||||
|
|
||||||
here = path.abspath(path.dirname(__file__))
|
|
||||||
|
|
||||||
# Get the long description from the README file
|
|
||||||
with open(path.join(here, "README.rst"), encoding="utf-8") as f:
|
|
||||||
long_description = f.read()
|
|
||||||
|
|
||||||
setup(
|
|
||||||
name="adafruit-circuitpython-pn532",
|
|
||||||
use_scm_version=True,
|
|
||||||
setup_requires=["setuptools_scm"],
|
|
||||||
description="CircuitPython library for controlling PN532 RFID/NFC reader-writer.",
|
|
||||||
long_description=long_description,
|
|
||||||
long_description_content_type="text/x-rst",
|
|
||||||
# The project's main homepage.
|
|
||||||
url="https://github.com/adafruit/Adafruit_CircuitPython_PN532",
|
|
||||||
# Author details
|
|
||||||
author="Adafruit Industries",
|
|
||||||
author_email="circuitpython@adafruit.com",
|
|
||||||
install_requires=[
|
|
||||||
"Adafruit-Blinka",
|
|
||||||
"adafruit-circuitpython-busdevice",
|
|
||||||
"pyserial",
|
|
||||||
],
|
|
||||||
# Choose your license
|
|
||||||
license="MIT",
|
|
||||||
# See https://pypi.python.org/pypi?%3Aaction=list_classifiers
|
|
||||||
classifiers=[
|
|
||||||
"Development Status :: 3 - Alpha",
|
|
||||||
"Intended Audience :: Developers",
|
|
||||||
"Topic :: Software Development :: Libraries",
|
|
||||||
"Topic :: System :: Hardware",
|
|
||||||
"License :: OSI Approved :: MIT License",
|
|
||||||
"Programming Language :: Python :: 3",
|
|
||||||
],
|
|
||||||
# What does your project relate to?
|
|
||||||
keywords="adafruit pn532 rfid nfc hardware micropython circuitpython",
|
|
||||||
# You can just specify the packages manually here if your project is
|
|
||||||
# simple. Or you can use find_packages().
|
|
||||||
packages=["adafruit_pn532"],
|
|
||||||
)
|
|
Loading…
Reference in a new issue