Migrate to pyproject.toml
This commit is contained in:
35
.github/workflows/build.yml
vendored
35
.github/workflows/build.yml
vendored
@@ -11,6 +11,8 @@ on:
|
|||||||
types:
|
types:
|
||||||
- published
|
- published
|
||||||
|
|
||||||
|
# Allows you to run this workflow manually from the Actions tab
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test:
|
test:
|
||||||
@@ -36,6 +38,12 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Set up Python 3.7 to bootstrap py3.6
|
||||||
|
if: ${{ matrix.python-version == '3.6' }}
|
||||||
|
uses: actions/setup-python@v4
|
||||||
|
with:
|
||||||
|
python-version: 3.7
|
||||||
|
|
||||||
- name: Set up Python ${{ matrix.python-version }}
|
- name: Set up Python ${{ matrix.python-version }}
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
@@ -45,7 +53,18 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
python -m pip install -U -r tests/requirements.txt
|
python -m pip install -U -r tests/requirements.txt
|
||||||
|
|
||||||
|
# Python 3.6 cannot install directly from a pyproject.toml
|
||||||
|
# Instead, build a wheel from py3.7 and then install it
|
||||||
|
- name: Install via wheel
|
||||||
|
if: ${{ matrix.python-version == '3.6' }}
|
||||||
|
run: |
|
||||||
|
python3.7 -m pip install build
|
||||||
|
python3.7 -m build
|
||||||
|
python --version
|
||||||
|
python -m pip install ./dist/*.whl
|
||||||
|
|
||||||
- name: Install
|
- name: Install
|
||||||
|
if: ${{ matrix.python-version != '3.6' }}
|
||||||
run: |
|
run: |
|
||||||
python -m pip install .
|
python -m pip install .
|
||||||
|
|
||||||
@@ -120,12 +139,12 @@ jobs:
|
|||||||
mypy --config-file tests/mypy.ini src/peakrdl_regblock
|
mypy --config-file tests/mypy.ini src/peakrdl_regblock
|
||||||
|
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
build_sdist:
|
build:
|
||||||
needs:
|
needs:
|
||||||
- test
|
- test
|
||||||
- lint
|
- lint
|
||||||
- mypy
|
- mypy
|
||||||
name: Build source distribution
|
name: Build distributions
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
@@ -135,17 +154,23 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
python-version: "3.10"
|
python-version: "3.10"
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
python -m pip install -U build
|
||||||
|
|
||||||
- name: Build sdist
|
- name: Build sdist
|
||||||
run: python setup.py sdist
|
run: python -m build
|
||||||
|
|
||||||
- uses: actions/upload-artifact@v3
|
- uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
path: dist/*.tar.gz
|
path: |
|
||||||
|
dist/*.tar.gz
|
||||||
|
dist/*.whl
|
||||||
|
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
deploy:
|
deploy:
|
||||||
needs:
|
needs:
|
||||||
- build_sdist
|
- build
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
|||||||
54
pyproject.toml
Normal file
54
pyproject.toml
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
[build-system]
|
||||||
|
requires = ["setuptools", "setuptools-scm"]
|
||||||
|
build-backend = "setuptools.build_meta"
|
||||||
|
|
||||||
|
[project]
|
||||||
|
name = "peakrdl-regblock"
|
||||||
|
dynamic = ["version"]
|
||||||
|
requires-python = ">=3.6"
|
||||||
|
dependencies = [
|
||||||
|
"systemrdl-compiler >= 1.27.0, < 2",
|
||||||
|
"Jinja2>=2.11",
|
||||||
|
]
|
||||||
|
|
||||||
|
authors = [
|
||||||
|
{name="Alex Mykyta"},
|
||||||
|
]
|
||||||
|
description = "Compile SystemRDL into a SystemVerilog control/status register (CSR) block"
|
||||||
|
readme = "README.md"
|
||||||
|
license = {file = "LICENSE"}
|
||||||
|
keywords = [
|
||||||
|
"SystmRDL", "PeakRDL", "CSR", "compiler", "tool", "registers", "generator",
|
||||||
|
"Verilog", "SystemVerilog", "register abstraction layer",
|
||||||
|
"FPGA", "ASIC",
|
||||||
|
]
|
||||||
|
classifiers = [
|
||||||
|
#"Development Status :: 5 - Production/Stable",
|
||||||
|
"Development Status :: 4 - Beta",
|
||||||
|
"Programming Language :: Python",
|
||||||
|
"Programming Language :: Python :: 3",
|
||||||
|
"Programming Language :: Python :: 3.6",
|
||||||
|
"Programming Language :: Python :: 3.7",
|
||||||
|
"Programming Language :: Python :: 3.8",
|
||||||
|
"Programming Language :: Python :: 3.9",
|
||||||
|
"Programming Language :: Python :: 3.10",
|
||||||
|
"Programming Language :: Python :: 3.11",
|
||||||
|
"Programming Language :: Python :: 3.12",
|
||||||
|
"Programming Language :: Python :: 3 :: Only",
|
||||||
|
"Intended Audience :: Developers",
|
||||||
|
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
|
||||||
|
"Operating System :: OS Independent",
|
||||||
|
"Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)",
|
||||||
|
]
|
||||||
|
|
||||||
|
[project.urls]
|
||||||
|
Source = "https://github.com/SystemRDL/PeakRDL-regblock"
|
||||||
|
Tracker = "https://github.com/SystemRDL/PeakRDL-regblock/issues"
|
||||||
|
Changelog = "https://github.com/SystemRDL/PeakRDL-regblock/releases"
|
||||||
|
Documentation = "https://peakrdl-regblock.readthedocs.io/"
|
||||||
|
|
||||||
|
[tool.setuptools.dynamic]
|
||||||
|
version = {attr = "peakrdl_regblock.__about__.__version__"}
|
||||||
|
|
||||||
|
[project.entry-points."peakrdl.exporters"]
|
||||||
|
regblock = "peakrdl_regblock.__peakrdl__:Exporter"
|
||||||
59
setup.py
59
setup.py
@@ -1,59 +0,0 @@
|
|||||||
import os
|
|
||||||
import setuptools
|
|
||||||
|
|
||||||
with open("README.md", "r", encoding='utf-8') as fh:
|
|
||||||
long_description = fh.read()
|
|
||||||
|
|
||||||
|
|
||||||
with open(os.path.join("src/peakrdl_regblock", "__about__.py"), encoding='utf-8') as f:
|
|
||||||
v_dict = {}
|
|
||||||
exec(f.read(), v_dict)
|
|
||||||
version = v_dict['__version__']
|
|
||||||
|
|
||||||
setuptools.setup(
|
|
||||||
name="peakrdl-regblock",
|
|
||||||
version=version,
|
|
||||||
author="Alex Mykyta",
|
|
||||||
author_email="amykyta3@github.com",
|
|
||||||
description="Compile SystemRDL into a SystemVerilog control/status register (CSR) block",
|
|
||||||
long_description=long_description,
|
|
||||||
long_description_content_type="text/markdown",
|
|
||||||
url="https://github.com/SystemRDL/PeakRDL-regblock",
|
|
||||||
package_dir={'': 'src'},
|
|
||||||
packages=setuptools.find_packages("src"),
|
|
||||||
include_package_data=True,
|
|
||||||
python_requires='>=3.6',
|
|
||||||
install_requires=[
|
|
||||||
"systemrdl-compiler >= 1.27.0, < 2",
|
|
||||||
"Jinja2>=2.11",
|
|
||||||
],
|
|
||||||
entry_points = {
|
|
||||||
"peakrdl.exporters": [
|
|
||||||
'regblock = peakrdl_regblock.__peakrdl__:Exporter'
|
|
||||||
]
|
|
||||||
},
|
|
||||||
classifiers=(
|
|
||||||
#"Development Status :: 5 - Production/Stable",
|
|
||||||
"Development Status :: 3 - Alpha",
|
|
||||||
"Programming Language :: Python",
|
|
||||||
"Programming Language :: Python :: 3",
|
|
||||||
"Programming Language :: Python :: 3.6",
|
|
||||||
"Programming Language :: Python :: 3.7",
|
|
||||||
"Programming Language :: Python :: 3.8",
|
|
||||||
"Programming Language :: Python :: 3.9",
|
|
||||||
"Programming Language :: Python :: 3.10",
|
|
||||||
"Programming Language :: Python :: 3.11",
|
|
||||||
"Programming Language :: Python :: 3.12",
|
|
||||||
"Programming Language :: Python :: 3 :: Only",
|
|
||||||
"Intended Audience :: Developers",
|
|
||||||
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
|
|
||||||
"Operating System :: OS Independent",
|
|
||||||
"Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)",
|
|
||||||
),
|
|
||||||
project_urls={
|
|
||||||
"Documentation": "http://peakrdl-regblock.readthedocs.io",
|
|
||||||
"Source": "https://github.com/SystemRDL/PeakRDL-regblock",
|
|
||||||
"Tracker": "https://github.com/SystemRDL/PeakRDL-regblock/issues",
|
|
||||||
"Changelog": "https://github.com/SystemRDL/PeakRDL-regblock/releases",
|
|
||||||
},
|
|
||||||
)
|
|
||||||
Reference in New Issue
Block a user