2022-10-12 14:22:22 +00:00
|
|
|
[tool.poetry]
|
|
|
|
name = "spiffworkflow-backend"
|
|
|
|
version = "0.0.0"
|
|
|
|
description = "Spiffworkflow Backend"
|
|
|
|
authors = ["Jason Lantz <sartography@users.noreply.github.com>"]
|
|
|
|
license = "MIT"
|
|
|
|
readme = "README.rst"
|
|
|
|
homepage = "https://github.com/sartography/spiffworkflow-backend"
|
|
|
|
repository = "https://github.com/sartography/spiffworkflow-backend"
|
|
|
|
documentation = "https://spiffworkflow-backend.readthedocs.io"
|
|
|
|
classifiers = [
|
|
|
|
"Development Status :: 1 - Planning",
|
|
|
|
]
|
|
|
|
|
|
|
|
[tool.poetry.urls]
|
|
|
|
Changelog = "https://github.com/sartography/spiffworkflow-backend/releases"
|
|
|
|
|
|
|
|
[tool.poetry.dependencies]
|
|
|
|
python = ">=3.9,<3.11"
|
|
|
|
click = "^8.0.1"
|
|
|
|
flask = "2.2.2"
|
|
|
|
flask-admin = "*"
|
|
|
|
flask-bcrypt = "*"
|
|
|
|
flask-cors = "*"
|
|
|
|
flask-mail = "*"
|
|
|
|
flask-marshmallow = "*"
|
|
|
|
flask-migrate = "*"
|
|
|
|
flask-restful = "*"
|
|
|
|
werkzeug = "*"
|
2022-11-03 19:07:46 +00:00
|
|
|
#SpiffWorkflow = {git = "https://github.com/sartography/SpiffWorkflow", rev = "main"}
|
|
|
|
SpiffWorkflow = {develop = true, path = "../SpiffWorkflow" }
|
2022-10-21 20:28:09 +00:00
|
|
|
sentry-sdk = "^1.10"
|
2022-10-25 02:35:36 +00:00
|
|
|
sphinx-autoapi = "^2.0"
|
2022-10-12 14:22:22 +00:00
|
|
|
flask-bpmn = {git = "https://github.com/sartography/flask-bpmn", rev = "main"}
|
2022-10-27 19:33:59 +00:00
|
|
|
# flask-bpmn = {develop = true, path = "../flask-bpmn"}
|
2022-10-12 14:22:22 +00:00
|
|
|
mysql-connector-python = "^8.0.29"
|
|
|
|
pytest-flask = "^1.2.0"
|
|
|
|
pytest-flask-sqlalchemy = "^1.1.0"
|
|
|
|
psycopg2 = "^2.9.3"
|
2022-10-12 19:28:52 +00:00
|
|
|
typing-extensions = "^4.4.0"
|
2022-10-12 14:22:22 +00:00
|
|
|
connexion = {extras = [ "swagger-ui",], version = "^2"}
|
|
|
|
lxml = "^4.9.1"
|
|
|
|
marshmallow-enum = "^1.5.1"
|
|
|
|
marshmallow-sqlalchemy = "^0.28.0"
|
2022-10-21 21:28:37 +00:00
|
|
|
PyJWT = "^2.6.0"
|
2022-10-12 14:22:22 +00:00
|
|
|
gunicorn = "^20.1.0"
|
|
|
|
python-keycloak = "^2.5.0"
|
|
|
|
APScheduler = "^3.9.1"
|
|
|
|
Jinja2 = "^3.1.2"
|
|
|
|
RestrictedPython = "^5.2"
|
|
|
|
Flask-SQLAlchemy = "^3"
|
|
|
|
orjson = "^3.8.0"
|
|
|
|
|
2022-10-21 14:36:41 +00:00
|
|
|
# type hinting stuff
|
|
|
|
# these need to be in the normal (non dev-dependencies) section
|
|
|
|
# because if not then poetry export won't have them and nox -s mypy --pythons 3.10
|
|
|
|
# will fail
|
|
|
|
types-Werkzeug = "^1.0.9"
|
|
|
|
types-PyYAML = "^6.0.12"
|
|
|
|
types-Flask = "^1.1.6"
|
|
|
|
types-requests = "^2.28.6"
|
|
|
|
types-pytz = "^2022.1.1"
|
|
|
|
|
|
|
|
# https://github.com/dropbox/sqlalchemy-stubs/pull/251
|
|
|
|
# someday get off github
|
|
|
|
# sqlalchemy-stubs = "^0.4"
|
|
|
|
# sqlalchemy-stubs = { git = "https://github.com/dropbox/sqlalchemy-stubs.git", rev = "master" }
|
|
|
|
# sqlalchemy-stubs = {develop = true, path = "/Users/kevin/projects/github/sqlalchemy-stubs"}
|
|
|
|
# for now use my fork
|
|
|
|
sqlalchemy-stubs = { git = "https://github.com/burnettk/sqlalchemy-stubs.git", rev = "scoped-session-delete" }
|
2022-10-21 20:18:25 +00:00
|
|
|
simplejson = "^3.17.6"
|
2022-11-02 15:35:10 +00:00
|
|
|
pytz = "^2022.6"
|
|
|
|
dateparser = "^1.1.2"
|
|
|
|
types-dateparser = "^1.1.4.1"
|
2022-10-21 14:36:41 +00:00
|
|
|
|
2022-10-12 14:22:22 +00:00
|
|
|
|
|
|
|
[tool.poetry.dev-dependencies]
|
|
|
|
pytest = "^7.1.2"
|
|
|
|
coverage = {extras = ["toml"], version = "^6.1"}
|
|
|
|
safety = "^2.3.1"
|
|
|
|
mypy = ">=0.961"
|
|
|
|
typeguard = "^2.13.2"
|
|
|
|
xdoctest = {extras = ["colors"], version = "^1.0.1"}
|
|
|
|
sphinx = "^5.0.2"
|
|
|
|
sphinx-autobuild = ">=2021.3.14"
|
|
|
|
pre-commit = "^2.20.0"
|
|
|
|
flake8 = "^4.0.1"
|
|
|
|
black = ">=21.10b0"
|
|
|
|
flake8-bandit = "^2.1.2"
|
|
|
|
|
|
|
|
# 1.7.3 broke us. https://github.com/PyCQA/bandit/issues/841
|
|
|
|
bandit = "1.7.2"
|
|
|
|
|
2022-10-25 15:25:20 +00:00
|
|
|
flake8-bugbear = "^22.10.25"
|
2022-10-12 14:22:22 +00:00
|
|
|
flake8-docstrings = "^1.6.0"
|
|
|
|
flake8-rst-docstrings = "^0.2.7"
|
|
|
|
# flask-sqlalchemy-stubs = "^0.2"
|
|
|
|
pep8-naming = "^0.13.2"
|
|
|
|
darglint = "^1.8.1"
|
2022-10-25 15:25:20 +00:00
|
|
|
reorder-python-imports = "^3.9.0"
|
2022-10-12 14:22:22 +00:00
|
|
|
pre-commit-hooks = "^4.0.1"
|
|
|
|
sphinx-click = "^4.3.0"
|
|
|
|
Pygments = "^2.10.0"
|
2022-10-24 14:44:38 +00:00
|
|
|
pyupgrade = "^3.1.0"
|
2022-10-12 14:22:22 +00:00
|
|
|
furo = ">=2021.11.12"
|
|
|
|
MonkeyType = "^22.2.0"
|
|
|
|
|
|
|
|
[tool.poetry.scripts]
|
|
|
|
spiffworkflow-backend = "spiffworkflow_backend.__main__:main"
|
|
|
|
|
|
|
|
[tool.pytest.ini_options]
|
|
|
|
# ignore deprecation warnings from various packages that we don't control
|
|
|
|
filterwarnings = [
|
|
|
|
# note the use of single quote below to denote "raw" strings in TOML
|
|
|
|
# kombu/utils/compat.py:82
|
|
|
|
'ignore:SelectableGroups dict interface is deprecated. Use select.',
|
|
|
|
# flask_marshmallow/__init__.py:34
|
|
|
|
# marshmallow_sqlalchemy/convert.py:17
|
|
|
|
'ignore:distutils Version classes are deprecated. Use packaging.version instead.',
|
|
|
|
# connexion/spec.py:50
|
|
|
|
'ignore:Passing a schema to Validator.iter_errors is deprecated and will be removed in a future release',
|
|
|
|
# connexion/decorators/validation.py:16
|
|
|
|
'ignore:Accessing jsonschema.draft4_format_checker is deprecated and will be removed in a future release.',
|
|
|
|
# connexion/apis/flask_api.py:236
|
|
|
|
"ignore:'_request_ctx_stack' is deprecated and will be removed in Flask 2.3",
|
|
|
|
"ignore:Setting 'json_encoder' on the app or a blueprint is deprecated and will be removed in Flask 2.3",
|
|
|
|
"ignore:'JSONEncoder' is deprecated and will be removed in Flask 2.3",
|
|
|
|
"ignore:'app.json_encoder' is deprecated and will be removed in Flask 2.3"
|
|
|
|
]
|
|
|
|
|
|
|
|
[tool.coverage.paths]
|
|
|
|
source = ["src", "*/site-packages"]
|
|
|
|
tests = ["tests", "*/tests"]
|
|
|
|
|
|
|
|
[tool.coverage.run]
|
|
|
|
branch = true
|
|
|
|
source = ["spiffworkflow_backend", "tests"]
|
|
|
|
|
|
|
|
[tool.coverage.report]
|
|
|
|
show_missing = true
|
|
|
|
fail_under = 50
|
|
|
|
|
|
|
|
[tool.mypy]
|
|
|
|
strict = true
|
|
|
|
disallow_any_generics = false
|
|
|
|
warn_unreachable = true
|
|
|
|
pretty = true
|
|
|
|
show_column_numbers = true
|
|
|
|
show_error_codes = true
|
|
|
|
show_error_context = true
|
|
|
|
plugins = "sqlmypy"
|
|
|
|
|
|
|
|
# We get 'error: Module has no attribute "set_context"' for sentry-sdk without this option
|
|
|
|
implicit_reexport = true
|
|
|
|
|
|
|
|
# allow for subdirs to NOT require __init__.py
|
|
|
|
namespace_packages = true
|
|
|
|
explicit_package_bases = false
|
|
|
|
|
|
|
|
[build-system]
|
|
|
|
requires = ["poetry-core>=1.0.0"]
|
|
|
|
build-backend = "poetry.core.masonry.api"
|