-
Notifications
You must be signed in to change notification settings - Fork 21
/
Copy pathpyproject.toml
126 lines (117 loc) · 5.42 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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.poetry]
name = "duffy"
version = "3.4.0rc2"
description = "CentOS CI provisioner"
authors = ["Nils Philippsen <[email protected]>", "Vipul Siddharth <[email protected]>", "Akashdeep Dhar <[email protected]>", "Ben Capper <[email protected]>"]
license = "MIT"
maintainers = ["Nils Philippsen <[email protected]>", "Vipul Siddharth <[email protected]>", "Akashdeep Dhar <[email protected]>", "Ben Capper <[email protected]>"]
readme = "README.md"
homepage = "https://github.com/CentOS/duffy"
repository = "https://github.com/CentOS/duffy"
documentation = "https://github.com/CentOS/duffy/wiki"
keywords = ["baremetal", "ci", "vm", "opennebula", "centos"]
classifiers = [
"Development Status :: 4 - Beta",
"Environment :: Web Environment",
"Framework :: Ansible",
"Framework :: AsyncIO",
"Framework :: Celery",
"Framework :: FastAPI",
"Intended Audience :: System Administrators",
"License :: OSI Approved :: MIT License",
"Natural Language :: English",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Operating System :: POSIX :: Linux",
"Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
"Topic :: Software Development :: Build Tools",
"Topic :: Software Development :: Quality Assurance",
"Topic :: Software Development :: Testing",
"Topic :: System :: Monitoring",
"Topic :: System :: Operating System",
]
[tool.poetry.dependencies]
python = "^3.8"
click = "^8.0.3"
PyYAML = "^6"
SQLAlchemy = {version = "^2.0.5", extras=["asyncio"], optional = true}
alembic = {version = "^1.7.5", optional = true}
bcrypt = {version = "^3.2 || ^4", optional = true}
fastapi = {version = "^0.70 || ^0.71 || ^0.72 || ^0.73 || ^0.74 || ^0.75 || ^0.76 || ^0.77 || ^0.78 || ^0.79 || ^0.80 || ^0.81 || ^0.82 || ^0.83 || ^0.84 || ^0.85 || ^0.86 || ^0.87 || ^0.88 || ^0.89 || ^0.90 || ^0.91 || ^0.92 || ^0.93 || ^0.94 || ^0.95 || ^0.96 || ^0.97 || ^0.98 || ^0.99 || ^0.100.0 || ^0.101.0 || ^0.102.0 || ^0.103.0 || ^0.104.0 || ^0.105.0 || ^0.106.0 || ^0.107.0 || ^0.108.0 || ^0.109.0 || ^0.110.0 || ^0.111.0 || ^0.112.0 || ^0.113.0 || ^0.114.0 || ^0.115.0", optional = true}
uvicorn = {version = "^0.15 || ^0.16 || ^0.17 || ^0.18 || ^0.19 || ^0.20 || ^0.21 || ^0.22 || ^0.23.0 || ^0.24.0 || ^0.25.0 || ^0.26.0 || ^0.27.0 || ^0.28.0 || ^0.29.0 || ^0.30.0 || ^0.31.0 || ^0.32.0", optional = true}
Jinja2 = {version = "^3.0.3", optional = true}
ansible-runner = {version = "^2.1.1", optional = true}
asyncpg = {version = "^0.25 || ^0.26 || ^0.27 || ^0.28 || ^0.29.0 || ^0.30.0", optional = true}
celery = {version = "^5.2.1", extras = ["redis"], optional = true}
httpx = {version = "^0.18.2 || ^0.19 || ^0.20 || ^0.21 || ^0.22 || ^0.23 || ^0.24 || ^0.25.0 || ^0.26.0 || ^0.27.0", optional = true}
ipython = {version = "^7.29 || ^8", optional = true}
jmespath = {version = ">=0.10,<1 || ^1", optional = true}
pottery = {version = "^3", optional = true}
psycopg2 = {version = "^2.9.2", optional = true}
aiodns = {version = "^3.0.0", optional = true}
pydantic = "^2.0.3"
aiosqlite = {version = "^0.17 || ^0.18 || ^0.19 || ^0.20.0", optional = true}
pyxdg = "^0.27 || ^0.28"
typing-extensions = "^4.6.1"
greenlet = {version = "^2 || ^3", optional = true, allow-prereleases = true}
[tool.poetry.dev-dependencies]
Jinja2 = "^3.0.3"
ansible = "^5.2 || ^6 || ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0"
ansible-core = "^2.12.1"
ansible-runner = "^2.1.1"
httpx = "^0.18.2 || ^0.19 || ^0.20 || ^0.21 || ^0.22 || ^0.23 || ^0.24 || ^0.25.0 || ^0.26.0 || ^0.27.0"
isort = "^5.9.3"
jmespath = "^0.10 || ^1"
poetry = "^1.2.0"
pottery = "^3"
pytest = ">=6.2.5"
pytest-asyncio = "^0.17 || ^0.18 || ^0.19 || ^0.20 || ^0.21 || ^0.23.0 || ^0.24.0"
pytest-cov = "^3 || ^4 || ^5.0.0 || ^6.0.0"
tox = "^3.24.4 || ^4.0.0"
psycopg = "^3.0.16"
pytest-postgresql = "^4.1.1 || ^5.0.0 || ^6.0.0"
ruff = "^0.7.3 || ^0.8.0"
toml = "^0.10.2"
[tool.poetry.extras]
# the `serve` command
app = [
"SQLAlchemy", "alembic", "bcrypt", "fastapi", "uvicorn",
"aiodns", "ansible-runner", "Jinja2", "jmespath", "pottery", "celery",
]
# the `admin ...` commands
admin = ["SQLAlchemy", "bcrypt", "fastapi"]
# the `setup-db` and `migration` commands
database = ["SQLAlchemy", "alembic", "bcrypt"]
# the `dev-shell` command
dev-shell = ["ipython", "SQLAlchemy", "alembic", "bcrypt"]
# the `serve` and `dev-shell` commands, if you use SQLite
sqlite = ["aiosqlite"]
# the `serve`, `worker` and `dev-shell` commands, if you use PostgreSQL
postgresql = ["psycopg2", "asyncpg"]
# the `worker` command
tasks = ["aiodns", "ansible-runner", "Jinja2", "jmespath", "pottery", "celery"]
# the `serve-legacy` command
legacy = ["httpx", "Jinja2"]
# the `client ...` commands
client = ["httpx"]
[tool.poetry.scripts]
duffy = "duffy.cli:cli"
[tool.pytest.ini_options]
addopts = "--black --cov-config .coveragerc --cov=duffy --cov-report term --cov-report xml --cov-report html --isort"
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "function"
log_format = "%(levelname)s: %(asctime)s %(short_request_id_optional)s(%(filename)s:%(lineno)s %(message)s)"
[tool.ruff]
line-length = 100
target-version = "py38"
[tool.ruff.lint]
select = ["E", "F", "W", "I"]
allowed-confusables = ["’"]
[tool.ruff.lint.per-file-ignores]
"**/__init__.py" = ["F401"]