2024-08-27 20:51:05 +02:00
|
|
|
[project]
|
|
|
|
name = "djfritz_ynh"
|
|
|
|
dynamic = ["version"]
|
|
|
|
description = "Web based FritzBox management using Python/Django."
|
|
|
|
license = {text = "GPL-3.0-or-later"}
|
|
|
|
readme = "README.md"
|
|
|
|
authors = [
|
|
|
|
{name = 'Jens Diemer', email = 'git@jensdiemer.de'}
|
|
|
|
]
|
|
|
|
requires-python = ">=3.11"
|
|
|
|
dependencies = [
|
|
|
|
"django-fritzconnection", # https://github.com/jedie/django-fritzconnection
|
|
|
|
#
|
|
|
|
# extras "ynh" will install: gunicorn, psycopg2, django-redis and django-axes
|
|
|
|
# see: https://github.com/YunoHost-Apps/django_yunohost_integration/blob/main/pyproject.toml
|
|
|
|
"django_yunohost_integration[ynh]", # https://github.com/YunoHost-Apps/django_yunohost_integration
|
|
|
|
#
|
|
|
|
"cli-base-utilities", # https://github.com/jedie/cli-base-utilities
|
|
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
|
|
dev = [
|
|
|
|
"bx_django_utils", # https://github.com/boxine/bx_django_utils
|
|
|
|
"beautifulsoup4", # https://pypi.org/project/beautifulsoup4/
|
|
|
|
"manageprojects", # https://github.com/jedie/manageprojects
|
|
|
|
"pip-tools", # https://github.com/jazzband/pip-tools/
|
|
|
|
"tblib", # https://github.com/ionelmc/python-tblib
|
|
|
|
"tox", # https://github.com/tox-dev/tox
|
|
|
|
"coverage", # https://github.com/nedbat/coveragepy
|
|
|
|
"autopep8", # https://github.com/hhatto/autopep8
|
|
|
|
"pyupgrade", # https://github.com/asottile/pyupgrade
|
|
|
|
"flake8", # https://github.com/pycqa/flake8
|
|
|
|
"flake8-bugbear", # https://github.com/PyCQA/flake8-bugbear
|
|
|
|
"pyflakes", # https://github.com/PyCQA/pyflakes
|
|
|
|
"codespell", # https://github.com/codespell-project/codespell
|
|
|
|
"EditorConfig", # https://github.com/editorconfig/editorconfig-core-py
|
|
|
|
"pip-audit", # https://github.com/pypa/pip-audit
|
|
|
|
"mypy", # https://github.com/python/mypy
|
|
|
|
"twine", # https://github.com/pypa/twine
|
|
|
|
"typeguard", # https://github.com/agronholm/typeguard/
|
|
|
|
|
|
|
|
# https://github.com/akaihola/darker
|
|
|
|
# https://github.com/ikamensh/flynt
|
|
|
|
# https://github.com/pycqa/isort
|
|
|
|
# https://github.com/pygments/pygments
|
|
|
|
"darker[flynt, isort, color]",
|
|
|
|
|
|
|
|
# Work-a-round for: https://github.com/jazzband/pip-tools/issues/1866
|
|
|
|
# see also: https://github.com/jazzband/pip-tools/issues/994#issuecomment-1321226661
|
|
|
|
# backports.tarfile is needed for python <3.12
|
|
|
|
'backports.tarfile', # via jaraco-context -> keyring -> twine
|
|
|
|
]
|
|
|
|
|
|
|
|
[project.urls]
|
|
|
|
Documentation = "https://github.com/YunoHost-Apps/django-fritzconnection_ynh"
|
|
|
|
Source = "https://github.com/YunoHost-Apps/django-fritzconnection_ynh"
|
|
|
|
|
|
|
|
[project.scripts]
|
|
|
|
djfritz_ynh_app = "djfritz_ynh.__main__:main"
|
|
|
|
djfritz_ynh_dev = "djfritz_ynh.cli.dev:main"
|
|
|
|
|
|
|
|
|
|
|
|
[ynh-integration]
|
|
|
|
local_settings_source= "local_settings_source.py"
|
2022-10-04 17:52:42 +02:00
|
|
|
|
2022-04-02 17:44:57 +02:00
|
|
|
|
|
|
|
[build-system]
|
2024-08-27 20:51:05 +02:00
|
|
|
requires = ["setuptools>=61.0", "setuptools_scm>=7.1"]
|
|
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
|
|
|
|
[tool.setuptools.packages.find]
|
|
|
|
where = ["."]
|
|
|
|
include = ["djfritz_ynh*"]
|
|
|
|
|
|
|
|
[tool.setuptools.dynamic]
|
|
|
|
version = {attr = "djfritz_ynh.__version__"}
|
|
|
|
|
|
|
|
|
|
|
|
[tool.cli_base.pip_audit]
|
|
|
|
# https://github.com/jedie/cli-base-utilities/blob/main/docs/pip_audit.md
|
|
|
|
requirements=["requirements.dev.txt"]
|
|
|
|
strict=true
|
|
|
|
require_hashes=true
|
|
|
|
ignore-vuln=[]
|
2022-04-02 17:44:57 +02:00
|
|
|
|
|
|
|
|
|
|
|
[tool.darker]
|
|
|
|
src = ['.']
|
2024-08-27 20:51:05 +02:00
|
|
|
# YunoHost apps still use "master" istead of "main", isn't it?
|
2022-04-02 17:44:57 +02:00
|
|
|
revision = "origin/master..."
|
2024-08-27 20:51:05 +02:00
|
|
|
line_length = 119
|
|
|
|
color = true
|
2022-04-02 17:44:57 +02:00
|
|
|
skip_string_normalization = true
|
|
|
|
diff = false
|
|
|
|
check = false
|
|
|
|
stdout = false
|
|
|
|
isort = true
|
|
|
|
lint = [
|
|
|
|
"flake8",
|
|
|
|
]
|
|
|
|
log_level = "INFO"
|
|
|
|
|
|
|
|
|
|
|
|
[tool.isort]
|
|
|
|
# https://pycqa.github.io/isort/docs/configuration/config_files/#pyprojecttoml-preferred-format
|
|
|
|
atomic=true
|
|
|
|
profile='black'
|
2024-08-27 20:51:05 +02:00
|
|
|
skip_glob=[".*", "*/htmlcov/*","*/migrations/*","*/local_test/*"]
|
|
|
|
known_first_party=['djfritz', 'djfritz_ynh']
|
|
|
|
line_length=119
|
2022-04-02 17:44:57 +02:00
|
|
|
lines_after_imports=2
|
|
|
|
|
|
|
|
|
2022-08-16 09:47:54 +02:00
|
|
|
[tool.coverage.run]
|
2024-08-27 20:51:05 +02:00
|
|
|
branch = true
|
|
|
|
parallel = true
|
|
|
|
concurrency = ["multiprocessing"]
|
|
|
|
source = ['.']
|
|
|
|
command_line = './dev-cli.py test'
|
|
|
|
disable_warnings = ["couldnt-parse"]
|
|
|
|
|
|
|
|
[tool.coverage.report]
|
|
|
|
omit = ['.*', '*/tests/*']
|
|
|
|
skip_empty = true
|
|
|
|
fail_under = 10
|
|
|
|
show_missing = true
|
|
|
|
exclude_lines = [
|
|
|
|
'if self.debug:',
|
|
|
|
'pragma: no cover',
|
|
|
|
'raise NotImplementedError',
|
|
|
|
'if __name__ == .__main__.:',
|
|
|
|
]
|
2022-08-16 09:47:54 +02:00
|
|
|
|
|
|
|
|
2024-08-27 20:51:05 +02:00
|
|
|
[tool.tox] # https://tox.wiki/en/latest/config.html#pyproject-toml
|
2022-04-02 17:44:57 +02:00
|
|
|
legacy_tox_ini = """
|
|
|
|
[tox]
|
|
|
|
isolated_build = True
|
2024-08-27 20:51:05 +02:00
|
|
|
envlist = py{312,311}
|
2022-04-02 17:44:57 +02:00
|
|
|
skip_missing_interpreters = True
|
|
|
|
|
|
|
|
[testenv]
|
|
|
|
passenv = *
|
2024-08-27 20:51:05 +02:00
|
|
|
skip_install = true
|
|
|
|
commands_pre =
|
|
|
|
pip install -U pip-tools
|
|
|
|
pip-sync requirements.dev.txt
|
2022-04-02 17:44:57 +02:00
|
|
|
commands =
|
2024-08-27 20:51:05 +02:00
|
|
|
{envpython} -m coverage run --context='{envname}'
|
|
|
|
{envpython} -m coverage combine --append
|
|
|
|
{envpython} -m coverage xml
|
|
|
|
{envpython} -m coverage report
|
2022-04-02 17:44:57 +02:00
|
|
|
"""
|
2024-08-27 20:51:05 +02:00
|
|
|
|
|
|
|
|
|
|
|
[tool.mypy]
|
|
|
|
warn_unused_configs = true
|
|
|
|
ignore_missing_imports = true
|
|
|
|
allow_redefinition = true # https://github.com/python/mypy/issues/7165
|
|
|
|
show_error_codes = true
|
|
|
|
plugins = []
|
|
|
|
exclude = ['.venv', 'tests']
|
|
|
|
|
|
|
|
|
|
|
|
[manageprojects] # https://github.com/jedie/manageprojects
|
|
|
|
initial_revision = "2281f4b"
|
|
|
|
initial_date = 2023-04-02T17:40:58+02:00
|
|
|
|
cookiecutter_template = "https://github.com/jedie/cookiecutter_templates/"
|
|
|
|
cookiecutter_directory = "yunohost_django_package"
|
|
|
|
applied_migrations = [
|
|
|
|
]
|
|
|
|
|
|
|
|
[manageprojects.cookiecutter_context.cookiecutter]
|
|
|
|
project_name = "django-fritzconnection"
|
|
|
|
full_name = "Jens Diemer"
|
|
|
|
github_username = "jedie"
|
|
|
|
author_email = "git@jensdiemer.de"
|
|
|
|
upstream_pkg_name = "djfritz"
|
|
|
|
upstream_url = "https://github.com/jedie/django-fritzconnection"
|
|
|
|
upstream_pkg_app_name = "djfritz"
|
|
|
|
upstream_pkg_project_name = "djfritz_project"
|
|
|
|
ynh_app_pkg_name = "djfritz_ynh"
|
|
|
|
ynh_app_url = "https://github.com/YunoHost-Apps/django-fritzconnection_ynh"
|
|
|
|
bug_tracker_url = "https://github.com/jedie/django-fritzconnection/issues"
|
|
|
|
upstream_version = "0.3.0"
|
|
|
|
ynh_version = "+ynh3"
|
|
|
|
package_description = "Web based FritzBox management using Python/Django."
|
|
|
|
license = "GPL-3.0-or-later"
|
|
|
|
_template = "https://github.com/jedie/cookiecutter_templates/"
|