2024-03-11 12:10:09 +00:00
|
|
|
[project]
|
|
|
|
|
name = "cement"
|
|
|
|
|
description = "Application Framework for Python"
|
|
|
|
|
readme = "README.md"
|
|
|
|
|
keywords = [
|
|
|
|
|
"python",
|
|
|
|
|
"module",
|
|
|
|
|
"cli framework"
|
|
|
|
|
]
|
|
|
|
|
authors=[{name = "Data Folk Labs, LLC", email= "derks@datafolklabs.com"}]
|
|
|
|
|
license={file="LICENSE"}
|
|
|
|
|
classifiers = [
|
|
|
|
|
"Programming Language :: Python :: 3",
|
|
|
|
|
"License :: OSI Approved :: MIT License",
|
|
|
|
|
]
|
|
|
|
|
|
2024-03-11 18:46:56 +00:00
|
|
|
dynamic = ["version", "README"]
|
2024-03-11 12:10:09 +00:00
|
|
|
|
|
|
|
|
requires-python = ">=3.8"
|
|
|
|
|
|
|
|
|
|
dependencies = [
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
[project.optional-dependencies]
|
|
|
|
|
alarm = []
|
|
|
|
|
argparse = []
|
|
|
|
|
colorlog = ["colorlog"]
|
|
|
|
|
configparser = []
|
|
|
|
|
daemon = []
|
|
|
|
|
docs = ["sphinx", "sphinx_rtd_theme", "guzzle_sphinx_theme", "sphinxcontrib-napoleon"]
|
|
|
|
|
dummy = []
|
|
|
|
|
generate = ["pyYaml"]
|
|
|
|
|
jinja2 = ["jinja2"]
|
|
|
|
|
json = []
|
|
|
|
|
logging = []
|
|
|
|
|
memcached = ["pylibmc"]
|
|
|
|
|
mustache = ["pystache"]
|
|
|
|
|
plugin = []
|
|
|
|
|
print = []
|
|
|
|
|
redis = ["redis"]
|
|
|
|
|
scrub = []
|
|
|
|
|
smtp = []
|
|
|
|
|
tabulate = ["tabulate"]
|
|
|
|
|
watchdog = ["watchdog"]
|
|
|
|
|
yaml = ["pyYaml"]
|
|
|
|
|
|
|
|
|
|
[project.scripts]
|
|
|
|
|
cement = "cement.cli.main:main"
|
|
|
|
|
|
|
|
|
|
[project.urls]
|
|
|
|
|
homepage = "https://builtoncement.com"
|
|
|
|
|
documentation = "https://docs.builtoncement.com"
|
|
|
|
|
repository = "https://github.com/datafolklabs/cement"
|
|
|
|
|
|
|
|
|
|
[build-system]
|
|
|
|
|
requires = ["pdm-backend"]
|
|
|
|
|
build-backend = "pdm.backend"
|
|
|
|
|
|
|
|
|
|
###############
|
|
|
|
|
# DEVELOPMENT #
|
|
|
|
|
###############
|
|
|
|
|
|
|
|
|
|
[tool.pytest.ini_options]
|
|
|
|
|
testpaths = ["tests"]
|
|
|
|
|
addopts = "-v --cov-report=term --cov-report=html:coverage-report --capture=sys tests/"
|
|
|
|
|
python_files= "test_*.py"
|
|
|
|
|
|
|
|
|
|
[tool.coverage.report]
|
|
|
|
|
precision = 2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[tool.pdm.build]
|
|
|
|
|
package-dir = "cement"
|
2024-03-11 18:46:56 +00:00
|
|
|
includes = [
|
|
|
|
|
"cement",
|
|
|
|
|
"cement/cli/templates/generate",
|
|
|
|
|
"CONTRIBUTORS.md",
|
|
|
|
|
"CHANGELOG.md"
|
|
|
|
|
]
|
2024-03-11 12:10:09 +00:00
|
|
|
excludes = ["tests"]
|
|
|
|
|
|
|
|
|
|
[tool.pdm.version]
|
|
|
|
|
source = "scm"
|
|
|
|
|
|
|
|
|
|
[tool.pdm.dev-dependencies]
|
|
|
|
|
dev = [
|
|
|
|
|
"pytest>=4.3.1",
|
|
|
|
|
"pytest-cov>=2.6.1",
|
|
|
|
|
"coverage>=4.5.3",
|
|
|
|
|
"mypy>=1.9.0",
|
|
|
|
|
"ruff>=0.3.2",
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
[tool.ruff]
|
|
|
|
|
line-length = 100
|
|
|
|
|
exclude = [
|
|
|
|
|
".git",
|
|
|
|
|
"cement/cli/templates",
|
|
|
|
|
"cement/cli/contrib"
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
[tool.ruff.lint]
|
|
|
|
|
extend-select = [
|
|
|
|
|
"F", # pyflakes
|
|
|
|
|
"E", "W", # pycodestyle
|
|
|
|
|
# "N", # pep8-naming - enable later, some variables are not lowercase
|
|
|
|
|
]
|
|
|
|
|
ignore = [
|
|
|
|
|
"E402",
|
|
|
|
|
"E713",
|
|
|
|
|
"E721",
|
|
|
|
|
"E714",
|
|
|
|
|
"F841",
|
|
|
|
|
"F507"
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
# TBD
|
|
|
|
|
# [tool.ruff.format]
|
|
|
|
|
# quote-style = "single"
|
|
|
|
|
|
|
|
|
|
[tool.mypy]
|
|
|
|
|
files = [
|
|
|
|
|
"cement/",
|
|
|
|
|
# "tests/"
|
|
|
|
|
]
|
|
|
|
|
exclude = """(?x)(
|
|
|
|
|
^cement/cli/templates |
|
|
|
|
|
^cement/cli/contrib |
|
|
|
|
|
^.git/ |
|
|
|
|
|
^tests
|
|
|
|
|
)"""
|
|
|
|
|
|
|
|
|
|
# https://mypy.readthedocs.io/en/stable/config_file.html#untyped-definitions-and-calls
|
|
|
|
|
disallow_untyped_calls = true
|
|
|
|
|
disallow_untyped_defs = true
|
|
|
|
|
disallow_incomplete_defs = true
|
|
|
|
|
check_untyped_defs = true
|
|
|
|
|
disallow_untyped_decorators = true
|
|
|
|
|
|
|
|
|
|
# https://mypy.readthedocs.io/en/stable/config_file.html#none-and-optional-handling
|
|
|
|
|
no_implicit_optional = true
|
|
|
|
|
strict_optional = true
|