Skip to content

Commit 9166124

Browse files
committed
created pyproject.toml and moved old config to backup folder
1 parent 9153332 commit 9166124

File tree

4 files changed

+90
-0
lines changed

4 files changed

+90
-0
lines changed
File renamed without changes.
File renamed without changes.
File renamed without changes.

pyproject.toml

+90
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
[build-system]
2+
requires = ["setuptools>=42", "wheel"]
3+
build-backend = "setuptools.build_meta"
4+
5+
[project]
6+
name = "patterns"
7+
description = "A collection of design patterns and idioms in Python."
8+
version = "0.1.0"
9+
readme = "README.md"
10+
requires-python = ">=3.9"
11+
license = {text = "MIT"}
12+
classifiers = [
13+
"Programming Language :: Python :: 3.9",
14+
"Programming Language :: Python :: 3.10",
15+
"Programming Language :: Python :: 3.11",
16+
"Programming Language :: Python :: 3.12",
17+
"Programming Language :: Python :: 3.13",
18+
]
19+
20+
[project.optional-dependencies]
21+
dev = ["pytest", "pytest-cov", "pytest-randomly", "flake8", "mypy", "coverage"]
22+
23+
[tool.setuptools]
24+
packages = ["patterns"]
25+
26+
[tool.pytest.ini_options]
27+
filterwarnings = [
28+
"ignore::Warning:.*test class 'TestRunner'.*"
29+
]
30+
# Adding settings from tox.ini for pytest
31+
testpaths = ["tests", "patterns"]
32+
python_files = ["test_*.py", "*_test.py"]
33+
doctest_modules = ["patterns"]
34+
randomly_seed = 1234
35+
log_level = "INFO"
36+
37+
[tool.coverage.run]
38+
branch = true
39+
source = ["patterns"]
40+
41+
[tool.coverage.report]
42+
# Regexes for lines to exclude from consideration
43+
exclude_lines = [
44+
"def __repr__",
45+
"if self\\.debug",
46+
"raise AssertionError",
47+
"raise NotImplementedError",
48+
"if 0:",
49+
"if __name__ == .__main__.:",
50+
"@(abc\\.)?abstractmethod"
51+
]
52+
ignore_errors = true
53+
54+
[tool.coverage.html]
55+
directory = "coverage_html_report"
56+
57+
[tool.mypy]
58+
python_version = "3.12"
59+
ignore_missing_imports = true
60+
61+
[tool.flake8]
62+
max-line-length = 120
63+
ignore = ["E266", "E731", "W503"]
64+
exclude = ["venv*"]
65+
66+
[tool.tox]
67+
legacy_tox_ini = """
68+
[tox]
69+
envlist = py312,cov-report
70+
skip_missing_interpreters = true
71+
usedevelop = true
72+
73+
[testenv]
74+
setenv =
75+
COVERAGE_FILE = .coverage.{envname}
76+
deps =
77+
-r requirements-dev.txt
78+
commands =
79+
flake8 --exclude="venv/,.tox/" patterns/
80+
pytest --randomly-seed=1234 --doctest-modules patterns/
81+
pytest -s -vv --cov=patterns/ --log-level=INFO tests/
82+
83+
[testenv:cov-report]
84+
setenv =
85+
COVERAGE_FILE = .coverage
86+
deps = coverage
87+
commands =
88+
coverage combine
89+
coverage report
90+
"""

0 commit comments

Comments
 (0)