[project] name = "reticulum-meshchatx" version = "4.6.3" description = "A simple mesh network communications app powered by the Reticulum Network Stack" authors = [ {name = "Quad4"} ] license = "0BSD AND MIT" readme = "README.md" requires-python = ">=3.11" keywords = ["reticulum", "meshchat", "meshchatx", "lxmf", "rns"] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Other Audience", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Communications", "Topic :: Software Development :: Build Tools", ] dependencies = [ "aiohttp>=3.13.5", "lxmf>=0.9.8", "psutil>=7.2.2", "bleak==3.0.1", "rns>=1.2.5", "websockets>=16.0", "bcrypt>=5.0.0,<6.0.0", "aiohttp-session>=2.12.1,<3.0.0", "cryptography>=46.0.7,<47.0.0", "pycparser>=3.0", "audioop-lts>=0.2.2; python_version >= '3.13'", "ply>=3.11,<4.0", "lxst>=0.4.6", "jaraco.context>=6.1.1", "miniaudio (>=1.70,<2.0)", ] [project.scripts] meshchatx = "meshchatx.meshchat:main" meshchat = "meshchatx.meshchat:main" meshchatx-repository-http = "meshchatx.repository_http_standalone:main" lxmfy = "lxmfy.cli:main" [project.urls] Homepage = "https://git.quad4.io/RNS-Things/MeshChatX" [tool.setuptools.packages.find] where = [".", "vendor/lxmfy"] include = ["meshchatx*", "lxmfy*"] exclude = ["tests*"] namespaces = false [tool.setuptools.package-data] meshchatx = ["public/**/*", "public/*", "src/backend/data/community_interfaces.json", "src/backend/data/licenses_frontend.json", "src/backend/data/THIRD_PARTY_NOTICES.txt", "src/frontend/public/repository-server-index.html"] [tool.setuptools.exclude-package-data] meshchatx = ["public/repository-server-bundled/**"] [build-system] requires = ["setuptools>=65.0", "wheel"] build-backend = "setuptools.build_meta" [dependency-groups] dev = [ "cx-freeze>=7.0.0", "hypothesis>=6.152.4", "jsonschema>=4.26.0", "pygments>=2.20.0", "pytest>=9.0.3", "pytest-asyncio>=0.25.0", "pytest-cov>=7.1.0", "pytest-xdist>=3.8.0", "ruff>=0.14.0", "mutmut>=3.5.0; python_version < '4.0'", ] [tool.ruff] exclude = [ ".git", ".mypy_cache", ".pnpm-store", ".ruff_cache", "build", "dist", "node_modules", "venv", ".venv", "tests/frontend", "vendor", "*.egg-info", ] [tool.ruff.lint] extend-select = ["D"] extend-ignore = [ "D100", "D101", "D102", "D103", "D104", "D105", "D106", "D107", "D203", "D213", "D401", ] [tool.mutmut] paths_to_mutate = ["meshchatx/src/backend/"] pytest_add_cli_args_test_selection = [ "tests/backend/", "--ignore=tests/backend/test_performance_hotpaths.py", "--ignore=tests/backend/test_memory_profiling.py", "--ignore=tests/backend/test_performance_bottlenecks.py", ]