-
Notifications
You must be signed in to change notification settings - Fork 48
Expand file tree
/
Copy pathpyproject.toml
More file actions
239 lines (225 loc) · 8.87 KB
/
pyproject.toml
File metadata and controls
239 lines (225 loc) · 8.87 KB
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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
[project]
name = "waldur-mastermind"
version = "0.0.0"
description = "Waldur MasterMind is a hybrid cloud orchestrator."
authors = [{name = "OpenNode Team", email = "info@opennodecloud.com"}]
license = {text = "MIT"}
requires-python = ">=3.13,<3.14"
classifiers = [
"Framework :: Django",
"Intended Audience :: Developers",
"Intended Audience :: System Administrators",
"Operating System :: OS Independent",
"License :: OSI Approved :: MIT License",
]
dependencies = [
"apache-libcloud==3.7.0",
"azure-mgmt-compute>=37.1.0,<38.0.0",
"azure-mgmt-network>=30.1.0,<31.0.0",
"azure-mgmt-rdbms>=10.1.1,<11.0.0",
"azure-mgmt-resource>=24.0.0,<25.0.0",
"azure-mgmt-sql>=3.0.1,<4.0.0",
"azure-mgmt-storage>=24.0.0,<25.0.0",
"azure-identity>=1.25.1,<2.0.0",
"celery==5.5.3",
"django-auth-ldap>=5.2.0,<6.0.0",
"django-filter==24.3",
"django-fsm==2.8.1",
"django-jsoneditor==0.2.3",
"django-model-utils @ git+https://github.com/waldur/django-model-utils@handle-instance-model-field-name",
"django-reversion==6.1.0",
"djangorestframework>=3.16.0,<4.0.0",
"djangosaml2>=1.11.0,<2.0.0",
"docker==7.1.0",
"iptools==0.7.0",
"lxml>=6.1.0",
"pbr>=6.0.0,<7.0.0",
"openportal>=0.20.2",
"Pillow>=12.2.0,<13.0.0",
"pycountry @ git+https://github.com/pycountry/pycountry.git@main",
"PyJWT>=2.12.1,<3.0.0",
"pysaml2==7.4.2",
"python-cinderclient>=7.0.0,<8.0.0",
"python-dateutil==2.8.2",
"python-digitalocean==1.16.0",
"python-glanceclient>=4.0.0,<5.0.0",
"python-keystoneclient>=5.0.0,<6.0.0",
"python-neutronclient>=11.0.0,<12.0.0",
"python-novaclient>=18.0.0,<19.0.0",
"pyvmomi==8.0.3.0.1",
"PyYAML==6.0.2",
"requests[socks]>=2.32.4,<3.0.0",
"sentry-sdk>=2.8.0,<3.0.0",
"python-freeipa==0.2.5",
"django-modeltranslation>=0.19.0,<0.20.0",
"django-axes>=8.0.0,<9.0.0",
"django-structlog[celery]>=10.0.0",
"google-api-python-client>=2.176.0,<3.0.0",
"google-auth-oauthlib>=1.2.2,<2.0.0",
"django-health-check>=3.20.0,<4.0.0",
"django-dbtemplates @ git+https://github.com/jazzband/django-dbtemplates@master",
"pydantic>=2.10.6,<3.0.0",
"cryptography==46.0.7",
"kubernetes>=31.0.0",
"django>=6.0.4,<7.0",
"azure-mgmt-consumption>=10.0.0,<11.0.0",
"django-netfields>=1.3.0,<2.0.0",
"django-constance>=4.0.0,<5.0.0",
"zammad-py==1.1.0",
"html2text>=2024.2.26,<2025.0.0",
"textile>=4.0.2,<5.0.0",
"ua-parser>=0.18.0,<1.0.0",
"sqlalchemy>=2.0.31,<3.0.0",
"beautifulsoup4>=4.12.3,<5.0.0",
"nh3>=0.2.18,<1.0.0",
"whitenoise>=6.9.0,<7.0.0",
"drf-spectacular>=0.28.0,<1.0.0",
"drf-orjson-renderer>=1.7.3,<2.0.0",
"psycopg[binary]>=3.2.6,<4.0.0",
"python-magic>=0.4.27,<1.0.0",
"stomp-py>=8.2.0,<9.0.0",
"setuptools>=80.9.0,<81.0.0",
"hvac>=2.3.0,<3.0.0",
"python-keycloak>=5.5.0,<6.0.0",
"django-stubs-ext>=5.1.3,<6.0.0",
"waldur-api-client>=8.0.5",
"atlassian-python-api>=4.0.7",
"httpx[socks]>=0.28.1",
"django-cors-headers>=4.5.0,<5.0.0",
"slurm-emulator>=0.1.1",
"openai>=2.26.0",
"openstacksdk>=4.7.1",
]
[project.urls]
Homepage = "https://waldur.com"
Documentation = "https://docs.waldur.com"
[project.scripts]
waldur = "waldur_core.server.manage:main"
[project.entry-points.waldur_extensions]
waldur_analytics = "waldur_mastermind.analytics.extension:AnalyticsExtension"
waldur_auth_saml2 = "waldur_auth_saml2.extension:SAML2Extension"
waldur_auth_social = "waldur_auth_social.extension:AuthSocialExtension"
waldur_auth_valimo = "waldur_auth_valimo.extension:AuthValimoExtension"
waldur_aws = "waldur_aws.extension:AWSExtension"
waldur_azure = "waldur_azure.extension:AzureExtension"
waldur_billing = "waldur_mastermind.billing.extension:BillingExtension"
waldur_booking = "waldur_mastermind.booking.extension:BookingExtension"
waldur_digitalocean = "waldur_digitalocean.extension:DigitalOceanExtension"
waldur_freeipa = "waldur_freeipa.extension:FreeIPAExtension"
waldur_invoices = "waldur_mastermind.invoices.extension:InvoicesExtension"
waldur_marketplace = "waldur_mastermind.marketplace.extension:MarketplaceExtension"
waldur_marketplace_azure = "waldur_mastermind.marketplace_azure.extension:MarketplaceAzureExtension"
waldur_marketplace_openportal = "waldur_mastermind.marketplace_openportal.extension:MarketplaceOpenPortalExtension"
waldur_marketplace_openportal_remote = "waldur_mastermind.marketplace_openportal_remote.extension:MarketplaceOpenPortalRemoteExtension"
waldur_marketplace_openstack = "waldur_mastermind.marketplace_openstack.extension:MarketplaceOpenStackExtension"
waldur_marketplace_rancher = "waldur_mastermind.marketplace_rancher.extension:MarketplaceRancherExtension"
waldur_marketplace_script = "waldur_mastermind.marketplace_script.extension:MarketplaceScriptExtension"
waldur_marketplace_slurm = "waldur_mastermind.marketplace_slurm.extension:MarketplaceSlurmExtension"
waldur_marketplace_site_agent = "waldur_mastermind.marketplace_site_agent.extension:MarketplaceSiteAgentExtension"
waldur_marketplace_support = "waldur_mastermind.marketplace_support.extension:MarketplaceSupportExtension"
waldur_marketplace_vmware = "waldur_mastermind.marketplace_vmware.extension:MarketplaceVMwareExtension"
waldur_marketplace_remote = "waldur_mastermind.marketplace_remote.extension:MarketplaceRemoteExtension"
waldur_marketplace_promotions = "waldur_mastermind.promotions.extension:MarketplacePromotionsExtension"
waldur_marketplace_chat = "waldur_mastermind.chat.extension:MarketplaceChatExtension"
waldur_openportal = "waldur_openportal.extension:OpenPortalExtension"
waldur_openstack = "waldur_openstack.extension:OpenStackExtension"
waldur_openstack_tenant = "waldur_openstack_tenant.extension:OpenStackTenantExtension"
waldur_openstack_replication = "waldur_openstack_replication.extension:OpenStackReplicationExtension"
waldur_notifications = "waldur_mastermind.notifications.extension:NotificationsExtension"
waldur_policy = "waldur_mastermind.policy.extension:PolicyExtension"
waldur_proposal = "waldur_mastermind.proposal.extension:ProposalExtension"
waldur_rancher = "waldur_rancher.extension:RancherExtension"
waldur_slurm = "waldur_slurm.extension:SlurmExtension"
waldur_support = "waldur_mastermind.support.extension:SupportExtension"
waldur_vmware = "waldur_vmware.extension:VMwareExtension"
waldur_pid = "waldur_pid.extension:PIDExtension"
waldur_google = "waldur_mastermind.google.extension:GoogleExtension"
waldur_hpc = "waldur_hpc.extension:HPCExtension"
waldur_autoprovisioning = "waldur_autoprovisioning.extension:AutoprovisioningExtension"
waldur_firecrest = "waldur_firecrest.extension:FirecrestExtension"
waldur_lexis = "waldur_lexis.extension:LexisExtension"
waldur_marketplace_reppu = "waldur_mastermind.marketplace_reppu.extension:MarketplaceReppuExtension"
waldur_keycloak = "waldur_keycloak.extension:KeycloakExtension"
waldur_kubernetes = "waldur_kubernetes.extension:KubernetesExtension"
waldur_arrow = "waldur_mastermind.waldur_arrow.extension:ArrowExtension"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.metadata]
allow-direct-references = true
[tool.hatch.build.targets.wheel]
packages = [
"src/waldur_auth_saml2",
"src/waldur_auth_social",
"src/waldur_auth_valimo",
"src/waldur_autoprovisioning",
"src/waldur_aws",
"src/waldur_azure",
"src/waldur_core",
"src/waldur_digitalocean",
"src/waldur_firecrest",
"src/waldur_freeipa",
"src/waldur_hpc",
"src/waldur_keycloak",
"src/waldur_kubernetes",
"src/waldur_lexis",
"src/waldur_mastermind",
"src/waldur_openstack",
"src/waldur_openstack_replication",
"src/waldur_openstack_tenant",
"src/waldur_pid",
"src/waldur_rancher",
"src/waldur_slurm",
"src/waldur_vmware",
]
sources = ["src"]
[tool.ruff]
# Never enforce `E501` (line length violations).
lint.ignore = ["E501", "UP031"]
lint.select = [
"E", # pycodestyle
"F", # pyflakes
"UP", # pyupgrade
"I001",# isort
]
target-version = "py313"
[tool.ruff.lint.per-file-ignores]
"**/migrations/**/*.py" = ["T201"]
"**/management/commands/**/*.py" = ["T201"]
"src/waldur_core/permissions/print_permission_enums.py" = ["T201"]
"scripts/**/*.py" = ["E402"]
[tool.ruff.lint.isort]
section-order = [
"future",
"standard-library",
"third-party",
"first-party",
"local-folder",
]
[tool.pyright]
include = ["src"]
typeCheckingMode = "standard"
reportIncompatibleMethodOverride = "none"
reportIncompatibleVariableOverride = "none"
[dependency-groups]
dev = [
"ddt>=1.7.2",
"factory-boy>=3.3.0",
"pytest>=9.0.3",
"pytest-cov==6.1.1",
"pytest-django>=4.11.0,<5.0.0",
"responses==0.25.3",
"freezegun>=1.4.0,<2.0.0",
"mock-django==0.6.10",
"prek>=0.3.9",
"pytest-split-tests>=1.0.9,<2.0.0",
"respx>=0.22.0,<1.0.0",
"django-types>=0.22.0,<1.0.0",
"pyright>=1.1.399,<2.0.0",
"djangorestframework-types @ git+https://github.com/waldur/djangorestframework-types.git",
"celery-types>=0.23.0,<1.0.0",
"django-stubs-ext>=5.2.2,<6.0.0",
"pyparsing>=3.1.1,<4.0.0",
"pydot>=1.4.2,<2.0.0",
"django-extensions>=3.2.3,<4.0.0",
]