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
|
[tool.poetry]
name = "pyrail"
version = "0.4.0"
description = "A Python wrapper for the iRail API"
authors = ["Jorim Tielemans <tielemans.jorim@gmail.com>"]
license = "Apache-2.0"
readme = "README.md"
homepage = "https://github.com/tjorim/pyrail"
repository = "https://github.com/tjorim/pyrail"
documentation = "https://github.com/tjorim/pyrail"
keywords = ["irail", "nmbs"]
classifiers = [
"Topic :: Software Development :: Libraries :: Python Modules"
]
packages = [
{ include = "pyrail" },
]
[tool.poetry.dependencies]
python = "^3.12"
aiohttp = "^3.11.11"
mashumaro = {extras = ["orjson"], version = "^3.15"}
[tool.poetry.group.test.dependencies]
pytest = "^8.3.4"
pytest-mock = "^3.14.0"
pytest-asyncio = "^0.25.1"
[tool.poetry.group.dev.dependencies]
ruff = ">=0.8.4,<0.10.0"
mypy = "^1.14.1"
[tool.mypy]
check_untyped_defs = true
disallow_incomplete_defs = true
disallow_untyped_calls = true
disallow_untyped_decorators = true
disallow_untyped_defs = true
exclude = ["^tests/"]
no_implicit_optional = true
python_version = "3.12"
show_error_codes = true
strict = true
strict_equality = true
warn_return_any = true
warn_unused_configs = true
[tool.ruff]
line-length = 120
[tool.ruff.lint]
select = [
"C", # complexity
"D", # docstrings
"E", # pycodestyle
"F", # pyflakes
"G", # flake8-logging-format
"I", # isort
"W", # pycodestyle warnings
]
ignore = [
"D203", # vs D211 (no blank line before class)
"D213", # vs D212 (multi line summary first line)
"E501", # line too long
"W191", # indentation contains tabs
]
[tool.ruff.lint.isort]
force-sort-within-sections = true
combine-as-imports = true
split-on-trailing-comma = false
[tool.ruff.lint.pydocstyle]
property-decorators = ["propcache.cached_property"]
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
|