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
|
[build-system]
requires = ["hatchling", "hatch-vcs"]
build-backend = "hatchling.build"
[project]
name = "schwifty"
dynamic = ["version"]
readme = "README.rst"
license = "MIT"
classifiers = [
"Development Status :: 5 - Production/Stable",
"License :: OSI Approved :: MIT License",
"Intended Audience :: Developers",
"Topic :: Office/Business :: Financial",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
]
requires-python = ">=3.8"
authors = [
{ name = "Martin Domke", email = "mail@martindomke.net" },
]
dependencies = [
"importlib_resources>=5.10; python_version <= '3.11'",
"typing-extensions>=4.0.1; python_version <= '3.10'",
"pycountry",
"rstr",
]
[project.optional-dependencies]
pydantic = [
"pydantic>=2.0"
]
[project.urls]
Changelog = "https://github.com/mdomke/schwifty/blob/main/CHANGELOG.rst"
Documentation = "https://schwifty.readthedocs.io/en/latest/"
Homepage = "http://github.com/mdomke/schwifty"
[tool.hatch.version]
source = "vcs"
[tool.hatch.build.targets.wheel]
packages = [
"schwifty",
]
[tool.pytest.pytest.ini_options]
addopts = """
--pyargs schwifty
--doctest-modules
--junit-xml test-results.xml
--cov-report xml
--cov-report term-missing
"""
console_output_style = "progress"
doctest_optionflags = "ALLOW_UNICODE IGNORE_EXCEPTION_DETAIL"
[tool.ruff]
target-version = "py38"
line-length = 100
[tool.ruff.lint]
extend-select = ["A", "B", "C", "C4", "E", "F", "I", "N", "PT", "Q", "RUF", "S", "SIM", "T10", "UP", "W", "YTT"]
extend-fixable = ["RUF100", "I001"]
extend-ignore = [
"S101", # Allow usage of asserts
"A001", # Allow shadowing bultins
"A003", # Allow shadowing bultins on classes
]
[tool.ruff.lint.per-file-ignores]
"scripts/get_*_registry*.py" = [
"S113", # Allow requests call without timeout
]
[tool.ruff.lint.mccabe]
max-complexity = 15
[tool.ruff.lint.isort]
force-single-line = true
lines-after-imports = 2
order-by-type = false
[tool.coverage.run]
branch = true
parallel = true
source = ["schwifty"]
[tool.doc8]
max-line-length = 100
[tool.mypy]
exclude = ["docs"]
|