Skip to content

Commit

Permalink
Move packaging metadata into pyproject.toml (again)
Browse files Browse the repository at this point in the history
This change aims to improve the packaging but requiers Python 3.7.
Python 3.6 as been EOL for a while now but patroni still supports
it and some variants of RH 7 still use it. Therefore, the change
was reverted. But now .. is the time!

5fb4964 Revert Move packaging metadata into pyproject.toml
d39122d Move packaging metadata into pyproject.toml
  • Loading branch information
blogh committed Aug 24, 2023
1 parent fd801ef commit a5c284e
Show file tree
Hide file tree
Showing 3 changed files with 64 additions and 64 deletions.
5 changes: 0 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,11 +58,6 @@ check_patroni is licensed under PostgreSQL license.
$ pip install git+https://github.com/dalibo/check_patroni.git
```

check_patroni works on python 3.6, we keep it that way because patroni also
supports it and there are still lots of RH 7 variants around. That being said
python 3.6 has been EOL for age and there is no support for it in the github
CI.

## Support

If you hit a bug or need help, open a [GitHub
Expand Down
63 changes: 62 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,68 @@
[build-system]
requires = ["setuptools", "setuptools-scm"]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"

[project]
name = "check_patroni"
dynamic = ["version"]
description = "Nagios plugin to check on patroni"
readme = "README.md"
license = { text = "PostgreSQL" }
requires-python = ">=3.7"
authors = [
{ name = "Benoit Lobréau", email = "[email protected]" },
{ name = "Dalibo", email = "[email protected]" },
]
maintainers = [
{ name = "Benoit Lobréau", email = "[email protected]" },
]
keywords = [
"cli",
"monitoring",
"patroni",
"nagios",
"check",
]
classifiers = [
"Development Status :: 4 - Beta", # "Development Status :: 5 - Production/Stable",
"Environment :: Console",
"License :: OSI Approved :: PostgreSQL License",
"Programming Language :: Python :: 3",
"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",
"Topic :: System :: Monitoring",
]
dependencies = [
"attrs >= 17, !=21.1",
"requests",
"nagiosplugin >= 1.3.2",
"click >= 8.0.1",
]

[project.optional-dependencies]
test = [
"pytest",
"pytest-mock",
]

[project.scripts]
check_patroni = "check_patroni.cli:main"

[project.urls]
"Bug Tracker" = "https://github.com/dalibo/check_patroni/issues"
Changelog = "https://github.com/dalibo/check_patroni/blob/master/CHANGELOG.md"
Homepage = "https://github.com/dalibo/check_patroni"
"Source code" = "https://github.com/dalibo/check_patroni"

[tool.setuptools.dynamic]
version = { attr = "check_patroni.__version__" }

[tool.setuptools.packages.find]
where = ["."]

[tool.isort]
profile = "black"

60 changes: 2 additions & 58 deletions setup.py
Original file line number Diff line number Diff line change
@@ -1,59 +1,3 @@
import pathlib

from setuptools import find_packages, setup

HERE = pathlib.Path(__file__).parent

long_description = (HERE / "README.md").read_text()


def get_version() -> str:
fpath = HERE / "check_patroni" / "__init__.py"
with fpath.open() as f:
for line in f:
if line.startswith("__version__"):
return line.split('"')[1]
raise Exception(f"version information not found in {fpath}")


setup(
name="check_patroni",
version=get_version(),
author="Dalibo",
author_email="[email protected]",
packages=find_packages(include=["check_patroni*"]),
include_package_data=True,
url="https://github.com/dalibo/check_patroni",
license="PostgreSQL",
description="Nagios plugin to check on patroni",
long_description=long_description,
long_description_content_type="text/markdown",
classifiers=[
"Development Status :: 4 - Beta", # "Development Status :: 5 - Production/Stable",
"Environment :: Console",
"License :: OSI Approved :: PostgreSQL License",
"Programming Language :: Python :: 3",
"Topic :: System :: Monitoring",
],
keywords="patroni nagios check",
python_requires=">=3.6",
install_requires=[
"attrs >= 17, !=21.1",
"requests",
"nagiosplugin >= 1.3.2",
"click >= 8.0.1",
],
extras_require={
"test": [
"pytest",
"pytest-mock",
],
},
entry_points={
"console_scripts": [
"check_patroni=check_patroni.cli:main",
],
},
zip_safe=False,
)
from setuptools import setup

setup()

0 comments on commit a5c284e

Please sign in to comment.