Skip to content

Commit

Permalink
Move build system over to poetry (#876)
Browse files Browse the repository at this point in the history
  • Loading branch information
scaramallion authored Nov 8, 2023
1 parent 4972781 commit 07af4c8
Show file tree
Hide file tree
Showing 12 changed files with 1,405 additions and 83 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/merge-pytest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11']
python-version: ['3.10', '3.11', '3.12']

steps:
- uses: actions/checkout@v4
Expand All @@ -39,7 +39,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12']
python-version: ['3.10', '3.11', '3.12']

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -98,7 +98,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12']
python-version: ['3.10', '3.11', '3.12']

steps:
- uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr-pytest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12']
python-version: ['3.10', '3.11', '3.12']

steps:
- uses: actions/checkout@v4
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ celerybeat-schedule
.venv/
venv/
ENV/
env*/

# Spyder project settings
.spyderproject
Expand All @@ -96,3 +97,6 @@ ENV/

# PyCharm
.idea

# mypy
.mypy*
File renamed without changes.
4 changes: 0 additions & 4 deletions MANIFEST.in

This file was deleted.

4 changes: 0 additions & 4 deletions lgtm.yml

This file was deleted.

1,310 changes: 1,310 additions & 0 deletions poetry.lock

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion pynetdicom/_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@


# pynetdicom version
__version__ = "2.1.0.dev0"
__version__ = "2.2.0.dev0"

# DICOM Standard version used for SOP classes and instances
__dicom_version__: str = "2021e"
Expand Down
89 changes: 86 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,89 @@
[build-system]
requires = ["setuptools", "wheel"]
build_backend = "setuptools.build_meta"
requires = ["poetry-core >=1.8,<2"]
build-backend = "poetry.core.masonry.api"


[tool.poetry]
authors = [
"pynetdicom contributors"
]
classifiers=[
"License :: OSI Approved :: MIT License",
"Intended Audience :: Developers",
"Intended Audience :: Healthcare Industry",
"Intended Audience :: Science/Research",
"Development Status :: 5 - Production/Stable",
"Natural Language :: English",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Operating System :: OS Independent",
"Topic :: Scientific/Engineering :: Medical Science Apps.",
"Topic :: Software Development :: Libraries",
]
description = "A Python implementation of the DICOM networking protocol"
documentation = "https://pydicom.github.io/pynetdicom"
homepage = "https://github.com/pydicom/pynetdicom"
include = [
"pynetdicom/tests/cert_files/*",
"pynetdicom/tests/dicom_files/*",
"pynetdicom/apps/qrscp/default.ini",
"pynetdicom/py.typed",

"LICENCE",
]

keywords = ["dicom", "networking", "pydicom"]
license = "MIT"
maintainers = [
"scaramallion <[email protected]>",
]
name = "pynetdicom"
readme = "README.rst"
version = "2.2.0.dev0"


[tool.poetry.dependencies]
pydicom = "~2.4"
python = "^3.10"

# Optional dependencies
asv = { version = "^0.6", optional = true }
black = { version = "^23.1", optional = true }
codespell = { version = "^2.2", optional = true }
coverage = { version = "^7.3", optional = true }
flake8 = { version = "^6.1", optional = true }
mypy = { version = "^1.6", optional = true }
numpydoc = { version = "^1.6", optional = true }
pyfakefs = { version = "^5.3", optional = true }
pytest = { version = "^7.4", optional = true }
sphinx = { version = "^7.2", optional = true }
sphinx-copybutton = { version = "^0.5", optional = true }
sphinx-rtd-theme = { version = "^1.3", optional = true }
sqlalchemy = { version = "^2.0", optional = true }


[tool.poetry.extras]
apps = ["sqlalchemy"]
dev = ["asv", "black", "codespell", "coverage", "flake8", "mypy", "pyfakefs", "pytest", "sqlalchemy"]
docs = ["numpydoc", "sphinx", "sphinx-copybutton", "sphinx-rtd-theme"]
tests = ["pyfakefs", "pytest", "sqlalchemy"]


[tool.poetry.scripts]
echoscp = "pynetdicom.apps.echoscp.echoscp:main"
echoscu = "pynetdicom.apps.echoscu.echoscu:main"
findscu = "pynetdicom.apps.findscu.findscu:main"
getscu = "pynetdicom.apps.getscu.getscu:main"
movescu = "pynetdicom.apps.movescu.echoscp:main"
qrscp = "pynetdicom.apps.qrscp.qrscp:main"
storescp = "pynetdicom.apps.storescp.storescp:main"
storescu = "pynetdicom.apps.storescu.storescu:main"


[tool.black]
exclude = ".venv|build|/_.*_dict.py$"
force-exclude = ".venv|/_.*_dict.py$"


[tool.coverage.run]
Expand All @@ -13,7 +96,7 @@ omit = [


[tool.mypy]
python_version = "3.9"
python_version = "3.10" # use the minimum supported Python version
exclude = [
"pynetdicom/tests",
"pynetdicom/apps",
Expand Down
1 change: 0 additions & 1 deletion requirements.txt

This file was deleted.

7 changes: 0 additions & 7 deletions setup.cfg

This file was deleted.

59 changes: 0 additions & 59 deletions setup.py

This file was deleted.

0 comments on commit 07af4c8

Please sign in to comment.