diff options
Diffstat (limited to '')
-rw-r--r-- | pyproject.toml | 189 |
1 files changed, 189 insertions, 0 deletions
diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..693d296 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,189 @@ +[build-system] +requires = ["poetry-core"] +build-backend = "poetry.core.masonry.api" + + +[tool.poetry] +name = "jinjax" +version = "0.45" +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" +whitenoise = ">=5.3" + +[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" + + +[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 |