File: pyproject.toml

package info (click to toggle)
python-cron-descriptor 2.0.6-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 756 kB
  • sloc: python: 1,641; makefile: 7; sh: 4
file content (108 lines) | stat: -rw-r--r-- 2,744 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
[build-system]
requires = ["setuptools"]
build-backend = 'setuptools.build_meta'

[project]
name = "cron_descriptor"
license = "MIT"
dynamic = ["version"]
requires-python = ">= 3.9"
description = "A Python library that converts cron expressions into human readable strings."

classifiers = [
    "Development Status :: 5 - Production/Stable",
    "Environment :: Web Environment",
    "Environment :: Console",
    "Intended Audience :: Developers",
    "Operating System :: OS Independent",
    "Programming Language :: Python",
    "Programming Language :: Python :: Implementation :: CPython",
    "Programming Language :: Python :: Implementation :: PyPy",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
    "Topic :: Software Development",
]

dependencies = [
    "typing_extensions"
]

[project.optional-dependencies]
dev = [
    "ruff",
    "mypy",
    "polib"
]
test = ["pytest"]

[project.readme]
file = "README.md"
content-type = "text/markdown"

[[project.authors]]
name = "Adam Schubert"
email = "adam.schubert@sg1-game.net"


[project.urls]
Homepage = "https://github.com/Salamek/cron-descriptor"

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

[tool.setuptools.packages.find]
include = ["cron_descriptor", "cron_descriptor*"]

[tool.setuptools.package-data]
"cron_descriptor" = ["locale/*.mo"]

[tool.ruff]
line-length = 200
target-version = "py39"

[tool.ruff.lint]
select = ["ALL"]
ignore = ["N999", "D"]  #  Invalid module name GetText instead of get_text, comments

[tool.ruff.lint.mccabe]
max-complexity = 20

[tool.ruff.lint.pylint]
allow-magic-value-types = ["int", "str"]
max-args = 8
max-branches = 16
max-returns = 10


[tool.ruff.lint.per-file-ignores]
"cron_descriptor/__main__.py" = ["T201"]  # print in code
"tests/*" = ["S101"]  # Use of assert detected
"tests/test_import.py" = ["PLC0415"]  # Top level import
"examples/crontabReader.py" = ["T201", "INP001"]  # print in code, not a package
"tools/resx2po.py" = ["S314", "INP001"] # xml parse untrusted and not a package
"tools/compilepos.py" = ["INP001"] # xml parse untrusted and not a package
"cron_descriptor/ExpressionValidator.py" = ["PLR0915", "PLR0912"] # too many statements/branches
"cron_descriptor/Exception.py" = ["N818"] # Deprecated incorrect exception names


[tool.mypy]
files = ["cron_descriptor", "tests"]
python_version = 3.9
ignore_missing_imports = true
strict = true



[tool.pytest.ini_options]
# Tell pytest where to look for tests
testpaths = [
    "tests",
]

# Pattern to match test files
python_files = [
    "test_*.py",
]