mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-08-12 12:26:04 +00:00
Explicitly noting down the version of Django helps us keep better track of our upgrade progress. Due to the nature of changes to Django in recent versions, FreedomBox does not need any changes to support newer versions. So, work done on analyzing support for newer versions needs to tracked separate from git log message. Tests: - Building FreedomBox Debian package works. Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
194 lines
5.5 KiB
TOML
194 lines
5.5 KiB
TOML
[project]
|
|
name = "plinth"
|
|
description = "A web front end for administering FreedomBox"
|
|
license = "AGPL-3.0-or-later"
|
|
license-files = ["COPYING.md"]
|
|
dynamic = ["version"]
|
|
classifiers = [
|
|
"Development Status :: 5 - Production/Stable",
|
|
"Environment :: No Input/Output (Daemon)",
|
|
"Environment :: Web Environment",
|
|
"Framework :: Django",
|
|
"Framework :: Django :: 5",
|
|
"Framework :: Django :: 5.0",
|
|
"Framework :: Django :: 5.1",
|
|
"Framework :: Django :: 5.2",
|
|
"Framework :: Django :: 6",
|
|
"Framework :: Django :: 6.0",
|
|
"Intended Audience :: End Users/Desktop",
|
|
"Natural Language :: English",
|
|
"Operating System :: POSIX :: Linux",
|
|
"Programming Language :: JavaScript",
|
|
"Programming Language :: Python",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3 :: Only",
|
|
"Topic :: Communications",
|
|
"Topic :: Communications :: Chat",
|
|
"Topic :: Communications :: Chat :: Internet Relay Chat",
|
|
"Topic :: Communications :: Conferencing",
|
|
"Topic :: Communications :: Email",
|
|
"Topic :: Communications :: Email :: Filters",
|
|
"Topic :: Communications :: Email :: Mail Transport Agents",
|
|
"Topic :: Communications :: Email :: Post-Office",
|
|
"Topic :: Communications :: Email :: Post-Office :: IMAP",
|
|
"Topic :: Communications :: Email :: Post-Office :: POP3",
|
|
"Topic :: Communications :: File Sharing",
|
|
"Topic :: Internet",
|
|
"Topic :: Internet :: Name Service (DNS)",
|
|
"Topic :: Internet :: Proxy Servers",
|
|
"Topic :: Internet :: WWW/HTTP",
|
|
"Topic :: Internet :: WWW/HTTP :: Dynamic Content",
|
|
"Topic :: Internet :: WWW/HTTP :: Dynamic Content :: News/Diary",
|
|
"Topic :: Internet :: WWW/HTTP :: Dynamic Content :: Wiki",
|
|
"Topic :: Internet :: WWW/HTTP :: HTTP Servers",
|
|
"Topic :: Internet :: WWW/HTTP :: Indexing/Search",
|
|
"Topic :: Internet :: WWW/HTTP :: WSGI",
|
|
"Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
|
|
"Topic :: Internet :: XMPP",
|
|
"Topic :: Office/Business",
|
|
"Topic :: Office/Business :: Scheduling",
|
|
"Topic :: Security",
|
|
"Topic :: Software Development :: Version Control",
|
|
"Topic :: Software Development :: Version Control :: Git",
|
|
"Topic :: System",
|
|
"Topic :: System :: Archiving",
|
|
"Topic :: System :: Archiving :: Backup",
|
|
"Topic :: System :: Distributed Computing",
|
|
"Topic :: System :: Filesystems",
|
|
"Topic :: System :: Installation/Setup",
|
|
"Topic :: System :: Networking",
|
|
"Topic :: System :: Networking :: Firewalls",
|
|
"Topic :: System :: Networking :: Time Synchronization",
|
|
"Topic :: System :: Operating System",
|
|
"Topic :: System :: Software Distribution",
|
|
"Topic :: System :: Systems Administration",
|
|
"Topic :: System :: Systems Administration :: Authentication/Directory",
|
|
"Topic :: System :: Systems Administration :: Authentication/Directory :: LDAP",
|
|
"Topic :: System :: System Shells",
|
|
]
|
|
dependencies = [
|
|
"cherrypy >= 3.0",
|
|
"configobj",
|
|
"django >= 1.11.0",
|
|
"django-bootstrap-form",
|
|
"django-simple-captcha",
|
|
"django-stronghold >= 0.3.0",
|
|
"fido2 >= 1.2.0",
|
|
"psutil",
|
|
"python-apt",
|
|
"python-augeas",
|
|
"requests",
|
|
"ruamel.yaml",
|
|
]
|
|
|
|
[[project.authors]]
|
|
name = "FreedomBox Authors"
|
|
email = "freedombox-discuss@lists.alioth.debian.org"
|
|
|
|
[project.optional-dependencies]
|
|
test = [
|
|
"pytest",
|
|
"pytest-cov",
|
|
"pytest-django",
|
|
"flake8",
|
|
"requests",
|
|
]
|
|
|
|
[project.urls]
|
|
homepage = "https://freedombox.org"
|
|
projectpage = "https://salsa.debian.org/freedombox-team/freedombox"
|
|
manual = "https://wiki.debian.org/FreedomBox/Manual/"
|
|
documentation = "https://docs.freedombox.org/"
|
|
changelog = "https://salsa.debian.org/freedombox-team/freedombox/-/blob/main/debian/changelog"
|
|
readme = "https://salsa.debian.org/freedombox-team/freedombox/-/blob/main/README.md"
|
|
support = "https://freedombox.org/#community"
|
|
|
|
[build-system]
|
|
requires = ["setuptools"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project.scripts]
|
|
plinth = "plinth.__main__:main"
|
|
freedombox-privileged = "plinth.privileged_daemon:main"
|
|
freedombox-cmd = "plinth.privileged_daemon:client_main"
|
|
|
|
[tool.setuptools.dynamic]
|
|
version = {attr = "plinth.__version__"}
|
|
|
|
[tool.setuptools.packages.find]
|
|
include = ["plinth", "plinth.*"]
|
|
|
|
[tool.setuptools.package-data]
|
|
"*" = [
|
|
"templates/*",
|
|
"static/**",
|
|
"locale/*/LC_MESSAGES/*.mo",
|
|
"tests/functional/config.ini"
|
|
]
|
|
|
|
[tool.setuptools.exclude-package-data]
|
|
"*" = ["*/data/*"]
|
|
|
|
[tool.isort]
|
|
known_first_party = ["plinth"]
|
|
|
|
[tool.coverage.run]
|
|
branch = true
|
|
omit = ["*/tests/*"]
|
|
|
|
[tool.coverage.report]
|
|
precision = 2
|
|
omit = ["*/tests/*"]
|
|
|
|
[tool.pytest.ini_options]
|
|
addopts = "--ds=plinth.tests.data.django_test_settings"
|
|
markers = [
|
|
"essential",
|
|
"functional",
|
|
"skip",
|
|
"heavy",
|
|
"apps",
|
|
"domain",
|
|
"system",
|
|
"tags",
|
|
]
|
|
|
|
# Useful when pylint is invoked separately instead of flake8
|
|
[tool.pylint.'MESSAGES CONTROL']
|
|
disable = [
|
|
"too-many-arguments", # Has not resulted in a refactoring
|
|
"too-many-ancestors", # Easy to hit when using Django
|
|
]
|
|
|
|
[tool.mypy]
|
|
exclude = "build/"
|
|
|
|
# Ignore missing type stubs for some libraries. Try to keep this list minimal
|
|
# and use type annotations where available.
|
|
[[tool.mypy.overrides]]
|
|
module = [
|
|
"aptsources.*",
|
|
"augeas.*",
|
|
"axes.*",
|
|
"captcha.*",
|
|
"cherrypy.*",
|
|
"configobj.*",
|
|
"dbus.*",
|
|
"django.*",
|
|
"gi.*",
|
|
"numpy.*",
|
|
"oauth2_provider.*",
|
|
"pam.*",
|
|
"pexpect.*",
|
|
"pgi.*",
|
|
"plinth.tests.config_local",
|
|
"pytest_splinter.*",
|
|
"ruamel.*",
|
|
"segno.*",
|
|
"selenium.*",
|
|
"splinter.*",
|
|
"stronghold.*",
|
|
"systemd.*",
|
|
]
|
|
ignore_missing_imports = true
|