FreedomBox/pyproject.toml
Sunil Mohan Adapa a39632e9c8
bin: Rename main binary from plinth to freedombox
- Rename manual page from plinth.1 to freedombox.1

Tests:

- Running 'make build install' and 'systemctl daemon-reload' and 'systemctl
restart plinth.service' works. Installing new app works.

- Spawning a new stable VM with the changes works. First wizard works.
Installing new app works.

- On a fresh Trixie machine, install freedombox. Then upgrade to a deb with
these changes. The service continues to work. Installing an app also works.
Binary is now /usr/bin/freedombox. /usr/bin/plinth works but it is a symlink to
/usr/bin/freedombox.

- Build a Debian package and install it on Trixie machine with freedombox
package installed. 'man plinth' works. 'man freedombox' works. Manual page
contents shows changes from 'plinth' to 'freedombox'. plinth.1.gz is a symlink
to freedombox.1.gz.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2026-08-28 07:40:56 -04:00

194 lines
5.6 KiB
TOML

[project]
name = "freedombox"
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]
freedombox = "freedombox.__main__:main"
freedombox-privileged = "freedombox.privileged_daemon:main"
freedombox-cmd = "freedombox.privileged_daemon:client_main"
[tool.setuptools.dynamic]
version = {attr = "freedombox.__version__"}
[tool.setuptools.packages.find]
include = ["freedombox", "freedombox.*"]
[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 = ["freedombox"]
[tool.coverage.run]
branch = true
omit = ["*/tests/*"]
[tool.coverage.report]
precision = 2
omit = ["*/tests/*"]
[tool.pytest.ini_options]
addopts = "--ds=freedombox.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.*",
"freedombox.tests.config_local",
"pytest_splinter.*",
"ruamel.*",
"segno.*",
"selenium.*",
"splinter.*",
"stronghold.*",
"systemd.*",
]
ignore_missing_imports = true