-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
132 lines (115 loc) · 4.02 KB
/
pyproject.toml
File metadata and controls
132 lines (115 loc) · 4.02 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
[tool.poetry]
name = "django-forms-workflows"
version = "0.72.2"
description = "Enterprise-grade, database-driven form builder with approval workflows and external data integration"
license = "LGPL-3.0-only"
readme = "README.md"
homepage = "https://github.com/opensensor/django-forms-workflows"
repository = "https://github.com/opensensor/django-forms-workflows"
documentation = "https://django-forms-workflows.readthedocs.io/"
authors = ["Matt Davis <matt@opensensor.io>"]
keywords = [
"django", "forms", "workflows", "approval", "form-builder", "dynamic-forms",
"ldap", "enterprise", "audit", "database-driven", "sso", "saml", "oauth2"
]
packages = [
{ include = "django_forms_workflows" }
]
# Make sure non-Python assets ship with the wheel/sdist
include = [
"django_forms_workflows/templates/**",
"django_forms_workflows/static/**",
"LICENSE",
"CHANGELOG.md"
]
[tool.poetry.dependencies]
python = ">=3.10,<4.0"
Django = ">=5.1,<7.0"
django-crispy-forms = ">=2.0"
crispy-bootstrap5 = ">=2.0"
django-nested-admin = ">=4.0"
celery = ">=5.3"
python-decouple = ">=3.8"
requests = ">=2.31"
# Optional SSO dependencies
social-auth-app-django = { version = ">=5.4", optional = true }
python3-saml = { version = ">=1.16", optional = true }
# Optional LDAP dependencies (already supported)
django-auth-ldap = { version = ">=4.0", optional = true }
python-ldap = { version = ">=3.4", optional = true }
# Optional database drivers
mssql-django = { version = ">=1.3", optional = true }
pyodbc = { version = ">=5.0", optional = true }
psycopg2-binary = { version = ">=2.9", optional = true }
mysqlclient = { version = ">=2.2", optional = true }
# Optional Gmail API email backend
google-auth = { version = ">=2.20", optional = true }
google-api-python-client = { version = ">=2.100", optional = true }
# Optional PDF generation
weasyprint = { version = ">=60.0", optional = true }
# Optional Excel export
openpyxl = { version = ">=3.1", optional = true }
# Optional documentation
sphinx = { version = ">=7.0", optional = true }
sphinx-rtd-theme = { version = ">=2.0", optional = true }
sphinx-autodoc-typehints = { version = ">=1.25", optional = true }
# Optional QR code generation
segno = { version = ">=1.6", optional = true }
# Optional Markdown rendering for display_text fields
markdown = { version = ">=3.4", optional = true }
# Optional picklist dependencies (country + US state field types)
django-countries = { version = ">=7.0", optional = true }
django-localflavor = { version = ">=4.0", optional = true }
# Optional dev/test dependencies
pytest = { version = ">=7.4", optional = true }
pytest-django = { version = ">=4.5", optional = true }
pytest-cov = { version = ">=4.1", optional = true }
ruff = { version = ">=0.4", optional = true }
[tool.poetry.extras]
ldap = ["django-auth-ldap", "python-ldap"]
sso = ["social-auth-app-django", "python3-saml"]
saml = ["python3-saml"]
mssql = ["mssql-django", "pyodbc"]
postgresql = ["psycopg2-binary"]
mysql = ["mysqlclient"]
gmail = ["google-auth", "google-api-python-client"]
pdf = ["weasyprint"]
excel = ["openpyxl"]
qr = ["segno"]
markdown = ["markdown"]
picklists = ["django-countries", "django-localflavor"]
docs = ["sphinx", "sphinx-rtd-theme", "sphinx-autodoc-typehints"]
all = [
"django-auth-ldap", "python-ldap",
"social-auth-app-django", "python3-saml",
"mssql-django", "pyodbc",
"psycopg2-binary", "mysqlclient",
"google-auth", "google-api-python-client",
"weasyprint",
"openpyxl",
"segno",
"markdown",
"django-countries", "django-localflavor"
]
dev = ["pytest", "pytest-django", "pytest-cov", "ruff"]
[tool.poetry.group.dev.dependencies]
pytest = ">=7.4"
pytest-django = ">=4.5"
pytest-cov = ">=4.1"
black = ">=23.0"
isort = ">=5.12"
flake8 = ">=6.0"
mypy = ">=1.5"
django-stubs = ">=4.2"
twine = "^6.2.0"
ruff = "^0.14.3"
[build-system]
requires = ["poetry-core>=1.7.0"]
build-backend = "poetry.core.masonry.api"
[tool.pytest.ini_options]
DJANGO_SETTINGS_MODULE = "tests.settings"
pythonpath = ["."]
testpaths = ["tests"]
python_files = "test_*.py"
python_classes = "Test*"
python_functions = "test_*"