2025-02-05 18:41:31 +01:00
|
|
|
[build-system]
|
|
|
|
requires = ["poetry-core"]
|
|
|
|
build-backend = "poetry.core.masonry.api"
|
|
|
|
|
|
|
|
|
|
|
|
[tool.poetry]
|
|
|
|
name = "jinjax"
|
2025-02-05 18:44:10 +01:00
|
|
|
version = "0.48"
|
2025-02-05 18:41:31 +01:00
|
|
|
description = "Replace your HTML templates with Python server-Side components"
|
|
|
|
authors = ["Juan-Pablo Scaletti <juanpablo@jpscaletti.com>"]
|
|
|
|
license = "MIT"
|
|
|
|
readme = "README.md"
|
|
|
|
homepage = "https://jinjax.scaletti.dev/"
|
|
|
|
repository = "https://github.com/jpsca/jinjax"
|
|
|
|
documentation = "https://jinjax.scaletti.dev/guides/"
|
|
|
|
classifiers = [
|
|
|
|
"Development Status :: 4 - Beta",
|
|
|
|
"Environment :: Web Environment",
|
|
|
|
"Intended Audience :: Developers",
|
|
|
|
"License :: OSI Approved :: MIT License",
|
|
|
|
"Programming Language :: Python :: 3 :: Only",
|
|
|
|
"Programming Language :: Python :: 3.10",
|
|
|
|
"Programming Language :: Python :: 3.11",
|
|
|
|
"Programming Language :: Python :: 3.12",
|
|
|
|
"Topic :: Internet :: WWW/HTTP :: Dynamic Content",
|
|
|
|
"Topic :: Software Development :: Libraries",
|
|
|
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
|
|
"Topic :: Software Development :: User Interfaces",
|
|
|
|
"Topic :: Text Processing :: Markup :: HTML",
|
|
|
|
"Typing :: Typed",
|
|
|
|
]
|
|
|
|
|
|
|
|
[tool.poetry.dependencies]
|
|
|
|
python = "^3.10"
|
|
|
|
jinja2 = ">=3.0"
|
|
|
|
markupsafe = ">=2.0"
|
2025-02-05 18:43:18 +01:00
|
|
|
whitenoise = { version = ">=5.3", optional = true }
|
|
|
|
|
|
|
|
[tool.poetry.extras]
|
|
|
|
whitenoise = ["whitenoise"]
|
2025-02-05 18:41:31 +01:00
|
|
|
|
|
|
|
[tool.poetry.group.dev]
|
|
|
|
optional = true
|
|
|
|
|
|
|
|
[tool.poetry.group.dev.dependencies]
|
|
|
|
pyright = ">=1.1.282"
|
|
|
|
pre-commit = "*"
|
|
|
|
tox = "*"
|
|
|
|
typing-extensions = "^4.11.0"
|
|
|
|
|
|
|
|
[tool.poetry.group.test]
|
|
|
|
optional = true
|
|
|
|
|
|
|
|
[tool.poetry.group.test.dependencies]
|
|
|
|
pytest = "^8.1.1"
|
|
|
|
pytest-cov = "*"
|
|
|
|
ruff = ">0.3"
|
2025-02-05 18:43:18 +01:00
|
|
|
whitenoise = ">=5.3"
|
2025-02-05 18:41:31 +01:00
|
|
|
|
|
|
|
[tool.coverage.run]
|
|
|
|
branch = true
|
|
|
|
|
|
|
|
[tool.coverage.report]
|
|
|
|
exclude_lines = [
|
|
|
|
"pragma: no cover",
|
|
|
|
"TYPE_CHECKING",
|
|
|
|
"def __repr__",
|
|
|
|
"def __str__",
|
|
|
|
"raise AssertionError",
|
|
|
|
"raise NotImplementedError",
|
|
|
|
"if __name__ == .__main__.:"
|
|
|
|
]
|
|
|
|
|
|
|
|
[tool.coverage.html]
|
|
|
|
directory = "covreport"
|
|
|
|
|
|
|
|
|
|
|
|
[tool.pyright]
|
|
|
|
include = ["src"]
|
|
|
|
exclude = [
|
|
|
|
"**/node_modules",
|
|
|
|
"**/__pycache__",
|
|
|
|
"**/tests",
|
|
|
|
]
|
|
|
|
ignore = []
|
|
|
|
reportPrivateImportUsage = false
|
|
|
|
reportWildcardImportFromLibrary = false
|
|
|
|
|
|
|
|
|
|
|
|
[tool.pytest.ini_options]
|
|
|
|
addopts = "--doctest-modules"
|
|
|
|
|
|
|
|
|
|
|
|
[tool.tox]
|
|
|
|
legacy_tox_ini = """
|
|
|
|
[tox]
|
|
|
|
skipsdist = True
|
|
|
|
envlist = py310,py311,py312,pypy3.10
|
|
|
|
|
|
|
|
[testenv]
|
|
|
|
skip_install = true
|
|
|
|
allowlist_externals = poetry
|
|
|
|
commands =
|
|
|
|
pip install -U pip wheel
|
|
|
|
poetry install --with test
|
|
|
|
pytest -x src/jinjax tests
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
|
|
[tool.ruff]
|
|
|
|
line-length = 90
|
|
|
|
indent-width = 4
|
|
|
|
target-version = "py311"
|
|
|
|
|
|
|
|
exclude = [
|
|
|
|
".*",
|
|
|
|
"_build",
|
|
|
|
"build",
|
|
|
|
"covreport",
|
|
|
|
"dist",
|
|
|
|
]
|
|
|
|
include = ["*.py"]
|
|
|
|
|
|
|
|
|
|
|
|
[tool.ruff.format]
|
|
|
|
# Like Black, use double quotes for strings.
|
|
|
|
quote-style = "double"
|
|
|
|
|
|
|
|
# Like Black, indent with spaces, rather than tabs.
|
|
|
|
indent-style = "space"
|
|
|
|
|
|
|
|
# Like Black, respect magic trailing commas.
|
|
|
|
skip-magic-trailing-comma = false
|
|
|
|
|
|
|
|
# Like Black, automatically detect the appropriate line ending.
|
|
|
|
line-ending = "auto"
|
|
|
|
|
|
|
|
# Enable auto-formatting of code examples in docstrings. Markdown,
|
|
|
|
# reStructuredText code/literal blocks and doctests are all supported.
|
|
|
|
#
|
|
|
|
# This is currently disabled by default, but it is planned for this
|
|
|
|
# to be opt-out in the future.
|
|
|
|
docstring-code-format = false
|
|
|
|
|
|
|
|
# Set the line length limit used when formatting code snippets in
|
|
|
|
# docstrings.
|
|
|
|
#
|
|
|
|
# This only has an effect when the `docstring-code-format` setting is
|
|
|
|
# enabled.
|
|
|
|
docstring-code-line-length = "dynamic"
|
|
|
|
|
|
|
|
|
|
|
|
[tool.ruff.lint]
|
|
|
|
fixable = ["ALL"]
|
|
|
|
|
|
|
|
ignore = [
|
|
|
|
# x is too complex
|
|
|
|
"C901",
|
|
|
|
# whitespace before ':'
|
|
|
|
"E203",
|
|
|
|
"E501",
|
|
|
|
# x defined from star imports
|
|
|
|
"F405",
|
|
|
|
# line break before binary operator
|
|
|
|
"W505",
|
|
|
|
"W605",
|
|
|
|
]
|
|
|
|
select = [
|
|
|
|
# bugbear
|
|
|
|
"B",
|
|
|
|
# mccabe"", comprehensions, commas
|
|
|
|
"C",
|
|
|
|
# pycodestyle errors
|
|
|
|
"E",
|
|
|
|
# pyflakes
|
|
|
|
"F",
|
|
|
|
# logging format
|
|
|
|
"G",
|
|
|
|
# imports
|
|
|
|
"I",
|
|
|
|
# quotes
|
|
|
|
"Q",
|
|
|
|
# pycodestyle warnings
|
|
|
|
"W",
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
|
|
[tool.ruff.lint.isort]
|
|
|
|
known-first-party = ["jinjax"]
|
|
|
|
|
|
|
|
# Use two line after imports.
|
|
|
|
lines-after-imports = 2
|