Ctrl K
ComunidadGuías…

pyproject.toml

Rama master · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
[project]
name = "SimpleLogin"
version = "0.1.0"
description = "SimpleLogin partner API"
authors = [{ name = "SimpleLogin", email = "dev@simplelogin.io" }]
license = "MIT"
repository = "https://github.com/simple-login/app"
keywords = ["email", "alias", "privacy", "oauth2", "openid"]
packages = [{ include = "app/" }, { include = "migrations/" }]
include = ["templates/*", "templates/**/*", "local_data/*.txt"]

requires-python = "~=3.12.0"

dependencies = [
  "flask ~= 1.1.2",
  "flask_login ~= 0.5.0",
  "wtforms ~= 2.3.3",
  "unidecode ~= 1.1.1",
  "gunicorn ~= 23.0",
  "bcrypt ~= 3.2.0",
  "python-dotenv ~= 0.14.0",
  "ipython ~= 7.31.1",
  "sqlalchemy_utils ~= 0.36.8",
  "psycopg2-binary ~= 2.9.10",
  "sentry_sdk ~= 2.20.0",
  "blinker ~= 1.9.0",
  "arrow ~= 0.16.0",
  "Flask-WTF ~= 0.14.3",
  "boto3 ~= 1.35.37",
  "Flask-Migrate ~= 2.5.3",
  "flask_admin ~= 1.5.6",
  "flask-cors ~= 3.0.9",
  "watchtower ~= 0.8.0",
  "sqlalchemy-utils == 0.36.8",
  "jwcrypto ~= 0.8",
  "yacron~=0.19.0",
  "flask-debugtoolbar ~= 0.11.0",
  "requests_oauthlib ~= 1.3.0",
  "pyopenssl ~= 19.1.0",
  "aiosmtpd ~= 1.2",
  "dnspython ~= 2.7.0",
  "coloredlogs ~= 14.0",
  "pycryptodome ~= 3.9.8",
  "phpserialize ~= 1.3",
  "dkimpy == 1.0.5",
  "pyotp ~= 2.4.0",
  "flask_profiler ~= 1.8.1",
  "facebook-sdk ~= 3.1.0",
  "google-api-python-client ~= 1.12.3",
  "google-auth-httplib2 ~= 0.0.4",
  "python-gnupg ~= 0.4.6",
  "webauthn ~= 0.4.7",

  # Git dependency until pyspf creates a new release
  #"pyspf @ git+https://github.com/sdgathman/pyspf.git@665a6df079485a9824be0829e7d71088453db7f6",
  "pyspf ~= 2.0.14",

  "Flask-Limiter == 1.5",
  "memory_profiler ~= 0.57.0",
  "gevent ~= 24.11.1",
  "email-validator ~= 2.2.0",
  "PGPy == 0.5.4",
  "coinbase-commerce ~= 1.0.1",
  "requests ~= 2.25.1",
  "newrelic ~= 8.8.0",
  "flanker ~= 0.9.11",
  "pyre2 ~= 0.3.6",
  "tldextract ~= 3.1.2",
  "flask-debugtoolbar-sqlalchemy ~= 0.2.0",
  "twilio ~= 7.3.2",
  "Deprecated ~= 1.2.13",
  "MarkupSafe~=1.1.1",
  "cryptography ~= 37.0.1",
  "SQLAlchemy ~= 1.3.24",
  "redis==5.2.1",
  "newrelic-telemetry-sdk ~= 0.5.0",
  "aiospamc == 0.10",
  "itsdangerous ~= 1.1.0",
  "werkzeug ~= 1.0.1",
  "alembic ~= 1.4.3",
  "limits ~= 4.0.1",
  "strictyaml ~= 1.7.3",

  "sl-pgp",
  # Prometheus exposition. Imported lazily, inside the backend, so nothing loads
  # it unless "prometheus" is listed in METRICS_BACKENDS. See docs/metrics.md.
  "prometheus-client ~= 0.26.0",
]

[tool.black]
target-version = ['py312']
exclude = '''
(
 /(
   \.eggs         # exclude a few common directories in the
   | \.git          # root of the project
   | \.hg
   | \.mypy_cache
   | \.tox
   | \.venv
   | _build
   | buck-out
   | build
   | dist
   | migrations    # migrations/ is generated by alembic
   | app/events/generated
  )/
)
'''

[tool.ruff]
exclude = [".venv", "migrations", "app/events/generated"]
[tool.ruff.lint]
ignore-init-module-imports = true

[tool.djlint]
indent = 2
profile = "jinja"
blank_line_after_tag = "if,for,include,load,extends,block,endcall"
# H006: Images should have a height attribute
# H013: Images should have an alt attribute
# H016: Missing title tag in html. | False positive on template
# H017: Tag should be self closing
# H019: Replace 'javascript:abc()' with on_ event and real url. (javascript:history.back())
# H021: Avoid inline styles
# H025: Tag seems to be orphan (it messes up with indicators on strings such as <email@example.com>)
# H030: Consider adding a meta description | False positive on template
# H031: Consider adding meta keywords
# T003: Endblock should have a name
# J004: (Jinja) Static urls should follow {{ url_for('static'..) }} pattern
# J018: (Jinja) Internal links should use the {{ url_for() ... }} pattern. | Some false positives
# T001: Variables should be wrapped in a single whitespace. | Messes up with comments
ignore = "H006,H013,H016,H017,H019,H021,H025,H030,H031,T003,J004,J018,T001"

[tool.uv]
# Declare sl-pgp-rs dependency link so uv can find it
find-links = [
  "https://github.com/simple-login/sl-pgp-rs/releases/download/0.1.1/index.html",
]

[dependency-groups]
dev = [
  "pytest ~= 7.0.0",
  "pytest-cov ~= 3.0.0",
  "pre-commit ~= 4.1.0",
  "black ~= 22.1.0",
  "djlint==1.35.3",
  "pylint ~= 2.14.4",
  "ruff ~= 0.1.5",
]

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[tool.hatch.metadata]
allow-direct-references = true

[tool.hatch.build.targets.sdist]
include = ["app", "local_data", "migrations", "templates"]

[tool.hatch.build.targets.wheel]
packages = ["app", "local_data", "migrations", "templates"]