209 lines
4 KiB
TOML
209 lines
4 KiB
TOML
[build-system]
|
|
requires = ["setuptools"]
|
|
|
|
|
|
[project]
|
|
name = "jinjax"
|
|
version = "0.55"
|
|
description = "Replace your HTML templates with Python server-Side components"
|
|
authors = [
|
|
{name = "Juan Pablo Scaletti", email = "juanpablo@jpscaletti.com"},
|
|
]
|
|
license = { "file" = "MIT-LICENSE" }
|
|
readme = "README.md"
|
|
classifiers = [
|
|
"Development Status :: 4 - Beta",
|
|
"Environment :: Web Environment",
|
|
"Intended Audience :: Developers",
|
|
"Programming Language :: Python :: 3 :: Only",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Programming Language :: Python :: 3.13",
|
|
"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",
|
|
]
|
|
requires-python = ">=3.11,<4"
|
|
dependencies = [
|
|
"jinja2 >= 3.0",
|
|
"markupsafe >= 2.0",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
whitenoise = ["whitenoise"]
|
|
|
|
[project.urls]
|
|
homepage = "https://jinjax.scaletti.dev/"
|
|
repository = "https://github.com/jpsca/jinjax"
|
|
documentation = "https://jinjax.scaletti.dev/guides/"
|
|
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"ipdb >= 0.13",
|
|
"pyright >= 1.1",
|
|
"pre-commit",
|
|
"ruff >= 0.2.0",
|
|
"tox-uv",
|
|
]
|
|
test = [
|
|
"pytest >= 7.2",
|
|
"pytest-cov",
|
|
"ruff > 0.3",
|
|
"whitenoise >= 5.3",
|
|
]
|
|
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["src"]
|
|
|
|
|
|
[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"
|
|
exclude_lines = [
|
|
"pragma: no cover",
|
|
"TYPE_CHECKING",
|
|
"def __repr__",
|
|
"def __str__",
|
|
"raise AssertionError",
|
|
"raise NotImplementedError",
|
|
"if __name__ == .__main__.:"
|
|
]
|
|
|
|
|
|
[tool.pyright]
|
|
include = ["src"]
|
|
exclude = [
|
|
"**/node_modules",
|
|
"**/__pycache__",
|
|
"**/tests",
|
|
]
|
|
reportPrivateImportUsage = false
|
|
reportWildcardImportFromLibrary = false
|
|
|
|
|
|
[tool.pytest.ini_options]
|
|
addopts = "--doctest-modules"
|
|
|
|
|
|
[tool.tox]
|
|
legacy_tox_ini = """
|
|
[tox]
|
|
env_list =
|
|
3.11
|
|
3.12
|
|
3.13
|
|
3.14
|
|
|
|
[testenv]
|
|
runner = uv-venv-lock-runner
|
|
dependency_groups =
|
|
dev
|
|
test
|
|
extras =
|
|
whitenoise
|
|
commands =
|
|
pytest -x src/jinjax tests
|
|
"""
|
|
|
|
|
|
[tool.ruff]
|
|
line-length = 90
|
|
indent-width = 4
|
|
target-version = "py311"
|
|
exclude = [
|
|
".*",
|
|
"_build",
|
|
"build",
|
|
"covreport",
|
|
"dist",
|
|
"benchmark",
|
|
]
|
|
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"]
|
|
known-local-folder = ["src/jinjax"]
|
|
|
|
# Use two line after imports.
|
|
lines-after-imports = 2
|