netbox/pyproject.toml
Martin Hauser d68f42140f
Closes #19535 - Add Project Stanza to pyproject toml (#19643)
* feat(project): Add project metadata to pyproject.toml

Introduces project metadata, including name, version, authors, and
description, to `pyproject.toml` for enhanced package definition.
Also includes URLs for source code, documentation, and issue tracking.

* docs(release): Add checklist item for Python versions in pyproject.toml

Include step to update minimum and supported Python versions
in the project metadata file as part of the release process.

* docs(release): Update checklist to include pyproject.toml versioning

Add a step to update the version in `pyproject.toml` alongside
`release.yaml`.

* feat(project): Update pyproject.toml for best practices

Refreshes metadata to resolve deprecations and follow packaging best
practices. Updates include description, license, Python versions,
classifiers, maintainers, and repository URLs for improved compliance.

* fix(project): Update repository URL key in pyproject.toml

Replaces the 'Repository' key with 'Source' in accordance with updated
metadata conventions. This ensures compliance with modern best
practices for project metadata.

* fix(project): Specify Python 3 :: Only in classifiers

Updates the Python version classifier in `pyproject.toml` to indicate
support exclusively for Python 3. This change ensures clarity in the
supported Python versions for the project metadata.
2025-06-04 14:37:18 -05:00

57 lines
1.4 KiB
TOML

# See PEP 518 for the spec of this file
# https://www.python.org/dev/peps/pep-0518/
[project]
name = "netbox"
version = "4.3.1"
requires-python = ">=3.10"
authors = [
{ name = "NetBox Community" }
]
maintainers = [
{ name = "NetBox Community" }
]
description = "The premier source of truth powering network automation."
readme = "README.md"
license = "Apache-2.0"
license-files = ["LICENSE.txt"]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Framework :: Django",
"Intended Audience :: Developers",
"Intended Audience :: System Administrators",
"Natural Language :: English",
"Programming Language :: Python",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
]
[project.urls]
Homepage = "https://netboxlabs.com/products/netbox/"
Documentation = "https://netboxlabs.com/docs/netbox/"
Source = "https://github.com/netbox-community/netbox"
Issues = "https://github.com/netbox-community/netbox/issues"
[tool.black]
line-length = 120
target_version = ['py310', 'py311', 'py312']
skip-string-normalization = true
[tool.isort]
profile = "black"
[tool.pylint]
max-line-length = 120
[tool.pyright]
include = ["netbox"]
exclude = [
"**/node_modules",
"**/__pycache__",
]
reportMissingImports = true
reportMissingTypeStubs = false