Merge pull request #34 from timrid/feature/pyproject-toml
Switch to `pyproject.toml` and trusted publishing
This commit is contained in:
commit
fb3f0c926f
6 changed files with 126 additions and 91 deletions
27
.github/workflows/main.yml
vendored
27
.github/workflows/main.yml
vendored
|
|
@ -62,3 +62,30 @@ jobs:
|
|||
- name: Run pyright
|
||||
run: |
|
||||
pyright
|
||||
|
||||
create_wheel_and_sdist:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.13'
|
||||
architecture: x64
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install wheel build
|
||||
|
||||
- name: Build wheel and sdist
|
||||
run: |
|
||||
python -m build
|
||||
|
||||
- name: Upload wheel and sdist as artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: Package-Distributions-construct-typing
|
||||
path: dist/
|
||||
39
.github/workflows/python-publish.yml
vendored
39
.github/workflows/python-publish.yml
vendored
|
|
@ -1,6 +1,3 @@
|
|||
# This workflows will upload a Python Package using Twine when a release is created
|
||||
# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries
|
||||
|
||||
name: Upload Python Package
|
||||
|
||||
on:
|
||||
|
|
@ -8,24 +5,28 @@ on:
|
|||
types: [created]
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
create_wheel_and_sdist:
|
||||
name: create_wheel_and_sdist
|
||||
uses: ./.github/workflows/main.yml
|
||||
with:
|
||||
attest-package: "true"
|
||||
|
||||
deploy:
|
||||
depends-on: create_wheel_and_sdist
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
environment: pypi
|
||||
permissions:
|
||||
id-token: write. # IMPORTANT: this permission is mandatory for Trusted Publishing
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v2
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Download artifacts
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
python-version: '3.x'
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install setuptools wheel twine
|
||||
- name: Build and publish
|
||||
env:
|
||||
TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
|
||||
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
|
||||
run: |
|
||||
python setup.py sdist bdist_wheel
|
||||
twine upload dist/*
|
||||
name: Package-Distributions-construct-typing
|
||||
path: ./dist
|
||||
|
||||
- name: Publish package distributions to PyPI
|
||||
uses: pypa/gh-action-pypi-publish@release/v1
|
||||
|
|
|
|||
3
mypy.ini
3
mypy.ini
|
|
@ -1,3 +0,0 @@
|
|||
[mypy]
|
||||
strict = True
|
||||
warn_unused_ignores = False
|
||||
76
pyproject.toml
Normal file
76
pyproject.toml
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
|
||||
[build-system]
|
||||
requires = ["setuptools >= 75.8.0"]
|
||||
build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name="construct-typing"
|
||||
dynamic = ["version"]
|
||||
license = { file = "LICENSE" }
|
||||
description="Extension for the python package 'construct' that adds typing features"
|
||||
readme = "README.md"
|
||||
authors=[{ name = "Tim Riddermann" }]
|
||||
requires-python = ">=3.9"
|
||||
dependencies = [
|
||||
"construct==2.10.70",
|
||||
"typing_extensions>=4.6.0"
|
||||
]
|
||||
keywords = [
|
||||
"construct",
|
||||
"kaitai",
|
||||
"declarative",
|
||||
"data structure",
|
||||
"struct",
|
||||
"binary",
|
||||
"symmetric",
|
||||
"parser",
|
||||
"builder",
|
||||
"parsing",
|
||||
"building",
|
||||
"pack",
|
||||
"unpack",
|
||||
"packer",
|
||||
"unpacker",
|
||||
"bitstring",
|
||||
"bytestring",
|
||||
"annotation",
|
||||
"type hint",
|
||||
"typing",
|
||||
"typed",
|
||||
"bitstruct",
|
||||
"PEP 561",
|
||||
]
|
||||
classifiers = [
|
||||
"Development Status :: 3 - Alpha",
|
||||
"License :: OSI Approved :: MIT License",
|
||||
"Intended Audience :: Developers",
|
||||
"Topic :: Software Development :: Libraries :: Python Modules",
|
||||
"Topic :: Software Development :: Build Tools",
|
||||
"Topic :: Software Development :: Code Generators",
|
||||
"Programming Language :: Python :: 3",
|
||||
"Programming Language :: Python :: 3.9",
|
||||
"Programming Language :: Python :: 3.10",
|
||||
"Programming Language :: Python :: 3.11",
|
||||
"Programming Language :: Python :: 3.12",
|
||||
"Programming Language :: Python :: 3.13",
|
||||
"Programming Language :: Python :: Implementation :: CPython",
|
||||
"Typing :: Typed",
|
||||
]
|
||||
|
||||
[project.urls]
|
||||
"Homepage" = "https://github.com/timrid/construct-typing"
|
||||
"Bug Reports" = "https://github.com/timrid/construct-typing/issues"
|
||||
|
||||
[tool.setuptools]
|
||||
packages=[
|
||||
"construct-stubs",
|
||||
"construct-stubs.lib",
|
||||
"construct_typed"
|
||||
]
|
||||
|
||||
[tool.setuptools.dynamic]
|
||||
version = {attr = "construct_typed.version.version_string"}
|
||||
|
||||
[tool.mypy]
|
||||
strict = true
|
||||
warn_unused_ignores = false
|
||||
|
|
@ -9,3 +9,6 @@ black
|
|||
isort
|
||||
mypy
|
||||
cryptography
|
||||
build
|
||||
setuptools
|
||||
wheel
|
||||
|
|
|
|||
69
setup.py
69
setup.py
|
|
@ -1,69 +0,0 @@
|
|||
#!/usr/bin/env python
|
||||
from setuptools import setup
|
||||
|
||||
version_string = "?.?.?"
|
||||
exec(open("./construct_typed/version.py").read())
|
||||
|
||||
setup(
|
||||
name="construct-typing",
|
||||
version=version_string,
|
||||
packages=["construct-stubs", "construct_typed"],
|
||||
package_data={
|
||||
"construct-stubs": ["*.pyi", "lib/*.pyi"],
|
||||
"construct_typed": ["py.typed"],
|
||||
},
|
||||
license="MIT",
|
||||
license_files=("LICENSE",),
|
||||
description="Extension for the python package 'construct' that adds typing features",
|
||||
long_description=open("README.md").read(),
|
||||
long_description_content_type="text/markdown",
|
||||
platforms=["POSIX", "Windows"],
|
||||
url="https://github.com/timrid/construct-typing",
|
||||
author="Tim Riddermann",
|
||||
python_requires=">=3.7",
|
||||
install_requires=[
|
||||
"construct==2.10.70",
|
||||
"typing_extensions>=4.6.0"
|
||||
],
|
||||
keywords=[
|
||||
"construct",
|
||||
"kaitai",
|
||||
"declarative",
|
||||
"data structure",
|
||||
"struct",
|
||||
"binary",
|
||||
"symmetric",
|
||||
"parser",
|
||||
"builder",
|
||||
"parsing",
|
||||
"building",
|
||||
"pack",
|
||||
"unpack",
|
||||
"packer",
|
||||
"unpacker",
|
||||
"bitstring",
|
||||
"bytestring",
|
||||
"annotation",
|
||||
"type hint",
|
||||
"typing",
|
||||
"typed",
|
||||
"bitstruct",
|
||||
"PEP 561",
|
||||
],
|
||||
classifiers=[
|
||||
"Development Status :: 3 - Alpha",
|
||||
"License :: OSI Approved :: MIT License",
|
||||
"Intended Audience :: Developers",
|
||||
"Topic :: Software Development :: Libraries :: Python Modules",
|
||||
"Topic :: Software Development :: Build Tools",
|
||||
"Topic :: Software Development :: Code Generators",
|
||||
"Programming Language :: Python :: 3",
|
||||
"Programming Language :: Python :: 3.9",
|
||||
"Programming Language :: Python :: 3.10",
|
||||
"Programming Language :: Python :: 3.11",
|
||||
"Programming Language :: Python :: 3.12",
|
||||
"Programming Language :: Python :: 3.13",
|
||||
"Programming Language :: Python :: Implementation :: CPython",
|
||||
"Typing :: Typed",
|
||||
],
|
||||
)
|
||||
Loading…
Add table
Add a link
Reference in a new issue