misc-csechet/pyproject.toml

103 lines
2.2 KiB
TOML

[build-system]
requires = ['poetry-core>=1.0.0', 'poetry-dynamic-versioning']
build-backend = 'poetry.core.masonry.api'
[tool.poetry]
name = 'frontools'
version = '0.0.0'
description = 'Web QA tasks automation'
authors = ['Corentin Séchet <csechet@entrouvert.com>']
license = 'WTFPL'
readme = 'README.md'
repository = 'https://git.entrouvert.org/frontools'
keywords = ['web', 'QA', 'Tests' ]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
"Topic :: Software Development :: Libraries :: Python Modules",
]
packages = [
{ include = 'frontools/**/*' },
]
[tool.poetry.scripts]
frontools = 'frontools.cli:main'
[tool.poetry.dependencies]
python= ">3.7,<4.0"
bs4 = "^0.0.1"
xdg = "^5.1.1"
playwright = "^1.20.1"
click = "^8.0.4"
aiohttp = "^3.8.1"
PyYAML = "^6.0"
tinycss2 = "^1.1.1"
Pillow = "^9.1.0"
[tool.poetry.dev-dependencies]
isort = "^5.10.1"
black = "^22.1.0"
mypy = "^0.942"
pylint = "^2.13.2"
types-click = "^7.1.8"
types-Pillow = "^9.0.11"
types-PyYAML = "^6.0.5"
[tool.poetry-dynamic-versioning]
enable = true
[tool.pytest.ini_options]
junit_family = "legacy"
addopts = "--cov=frontools --cov-report html"
testpaths = "tests"
[tool.mypy]
strict=true
[[tool.mypy.overrides]]
module = [
'PIL',
'bs4',
'nox',
'playwright.async_api',
'pytest',
'tinycss2',
'tinycss2.ast',
'tinycss2.parser',
'xdg',
]
ignore_missing_imports = true
[tool.isort]
profile = "black"
[tool.pylint.reports]
msg-template="{path}:{line}: [{msg_id}({symbol}), {obj}] {msg}"
[tool.pylint.messages_control]
disable = [
"invalid-name",
"too-few-public-methods",
"line-too-long", # Already checked by black
"too-many-arguments",
]
[tool.pylint.similaritie]
ignore-imports=true
ignore-signatures=true
[tool.coverage.report]
exclude_lines = [
"pragma: no cover",
"raise AssertionError",
"raise NotImplementedError",
"if 0:",
"if __name__ == .__main__.:"
]