-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathpyproject.toml
78 lines (68 loc) · 2.28 KB
/
pyproject.toml
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 = "tdp-lib"
version = "0.0.1"
description = "TDP library for TDP Manager"
authors = ["Xavier Hermand <[email protected]>"]
license = "Apache-2.0"
readme = "README.md"
homepage = "https://github.com/TOSIT-FR/tdp-lib"
repository = "https://github.com/TOSIT-FR/tdp-lib"
documentation = "https://github.com/TOSIT-FR/tdp-lib"
packages = [{ include = "tdp" }]
[tool.poetry.dependencies]
python = ">=3.9.0,<4.0"
ansible-core = "2.15.1"
networkx = "2.5.1"
PyYAML = "^6.0.1"
matplotlib = { version = "3.3.4", optional = true }
pydot = { version = "1.4.2", optional = true }
GitPython = "3.1.18"
SQLAlchemy = "^2.0.19"
click = "8.0.4"
tabulate = "0.8.9"
Sphinx = { version = "6.2.1", optional = true }
python-dotenv = "0.20.0"
jsonschema = "4.10.3"
sphinx-rtd-theme = { version = "^1.2.2", optional = true }
pydantic = "^2.6.0"
psycopg2 = { version = "^2.9.9", optional = true }
psycopg2-binary = { version = "^2.9.9", optional = true }
pymysql = { version = "^1.1.0", optional = true }
alembic = "^1.13.1"
alembic-postgresql-enum = "^1.2.0"
numpy = {version = "<2.0.0", optional = true}
[tool.poetry.group.dev.dependencies]
pytest = "^7.4.0"
black = "24.1.1"
taskipy = "^1.12.0"
ruff = "^0.0.285"
pytest-xdist = "^3.5.0"
python-lorem = "^1.3.0.post1"
[tool.poetry.extras]
docs = ["Sphinx", "sphinx_rtd_theme"]
visualization = ["matplotlib", "pydot", "numpy"]
postgresql = ["psycopg2"]
postgresql-binary = ["psycopg2-binary"]
mysql = ["pymysql"]
[tool.poetry.scripts]
tdp = "tdp.cli.__main__:main"
[tool.taskipy.variables]
docs_path = "docs"
docs_source_path = "docs/source"
[tool.taskipy.tasks]
docs-generate = { cmd = "sphinx-apidoc --output-dir {docs_source_path} --module-first --force tdp '*test*'", use_vars = true }
docs-clean = { cmd = "make -C {docs_path} clean", use_vars = true }
docs-html = { cmd = "make -C {docs_path} html", use_vars = true }
docs = { cmd = "task docs-generate && task docs-clean && task docs-html" }
format = { cmd = "black ." }
lint = { cmd = "ruff check . --fix" }
precommit-fix = { cmd = "task format && task lint" }
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.ruff]
select = ["F", "W", "I"]
[tool.ruff.per-file-ignores]
"**/__init__.py" = ["F401"]
[tool.pytest.ini_options]
testpaths = ["tests"]