Skip to content

Commit

Permalink
ADD: pyproject.toml
Browse files Browse the repository at this point in the history
* "setup.py" becomes DEPRECATED in 2023-09-xx with "pip"
* Retain "setup.py" (as duplicate) for now
  until Python 2.7 support is dropped
  (needed in some case w/ old "pip" versions).
  • Loading branch information
jenisys committed Jul 2, 2023
1 parent 36f9cfb commit c7b7880
Showing 1 changed file with 142 additions and 0 deletions.
142 changes: 142 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
# =============================================================================
# PACKAGING: parse_type
# =============================================================================
# SEE: https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html
# SEE: https://pypi.org/classifiers/
# MAYBE: requires = ["setuptools", "setuptools-scm"]
[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"


[project]
name = "parse_type"
authors = [
{name = "Jens Engel", email = "jenisys@noreply.github.com"},
]
description = "Simplifies to build parse types based on the parse module"
readme = "README.rst"
requires-python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
keywords = ["parse", "parsing"]
license = {text = "MIT"}
classifiers = [
"Development Status :: 5 - Production/Stable",
"Environment :: Console",
"Environment :: Web Environment",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT",
"Operating System :: OS Independent",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3.2",
"Programming Language :: Python :: 3.3",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"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 :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
"Topic :: Software Development :: Code Generators",
"Topic :: Software Development :: Libraries :: Python Modules",
]
dependencies = [
"parse >= 1.18.0; python_version >= '3.0'",
"parse >= 1.13.1; python_version <= '2.7'",
"enum34; python_version < '3.4'",
"six >= 1.15",
]
# PREPARED:
dynamic = ["version"]


[project.urls]
Homepage = "https://github.com/jenisys/parse_type"
Download = "http://pypi.python.org/pypi/parse_type"
"Source Code" = "https://github.com/jenisys/parse_type"
"Issue Tracker" = "https://github.com/jenisys/parse_type/issues/"


[project.optional-dependencies]
develop = [
"build >= 0.5.1",
"twine >= 1.13.0",
"coverage >= 4.4",
"pytest < 5.0; python_version < '3.0'", # >= 4.2
"pytest >= 5.0; python_version >= '3.0'",
"pytest-html >= 1.19.0",
"pytest-cov",
"tox >=2.8,<4.0",
"virtualenv < 20.22.0; python_version <= '3.6'", # -- SUPPORT FOR: Python 2.7, Python <= 3.6
"virtualenv >= 20.0.0; python_version > '3.6'",
"ruff; python_version >= '3.7'",
"pylint",
]
docs = [
"Sphinx >=1.6",
"sphinx_bootstrap_theme >= 0.6.0"
]
testing = [
"pytest < 5.0; python_version < '3.0'", # >= 4.2
"pytest >= 5.0; python_version >= '3.0'",
"pytest-html >= 1.19.0",
]


[tool.distutils.bdist_wheel]
universal = true


# -----------------------------------------------------------------------------
# PACAKING TOOL SPECIFIC PARTS:
# -----------------------------------------------------------------------------
[tool.setuptools]
platforms = ["any"]
zip-safe = true

# -- PREPARED:
[tool.setuptools.dynamic]
version = {attr = "parse_type.__version__"}

[tool.setuptools.packages.find]
where = ["."]
include = ["parse_type*"]
exclude = ["tests*"]
namespaces = false


# =============================================================================
# OTHER TOOLS
# =============================================================================
[tool.black]
line_length = 100
target-version = ['py38']
include = '\.pyi?$'
exclude = '''
(
/(
\.git
| \.venv
| \.netbox
| \.vscode
| configuration
)/
)
'''

[tool.isort]
profile = "black"
multi_line_output = 3
line_length = 100


# -----------------------------------------------------------------------------
# PYLINT:
# -----------------------------------------------------------------------------
[tool.pylint.messages_control]
disable = "C0330, C0326"

[tool.pylint.format]
max-line-length = "100"

0 comments on commit c7b7880

Please sign in to comment.