# ADN DMR Peer Server # GPL v3. Derived from ADN DMR Server / HBlink. # Version: bumped automatically by python-semantic-release (.github/workflows/release.yml). [build-system] requires = ["setuptools>=61", "wheel"] build-backend = "setuptools.build_meta" [project] name = "adn-server" version = "2.3.1" description = "ADN DMR Peer Server" readme = "README.md" license = { text = "GPL-3.0-or-later" } requires-python = ">=3.10" dependencies = [ "Twisted>=22.0", "pyyaml>=6.0", "bitarray>=2.0", "cryptography>=41.0", "gTTS>=2.3.1", ] [project.optional-dependencies] mqtt = ["paho-mqtt>=2.0"] selfservice = ["mysqlclient>=2.0"] dev = ["pytest>=7.0", "jsonschema>=4.0", "paho-mqtt>=2.0"] docs = ["mkdocs>=1.6", "mkdocs-material>=9.5", "pymdown-extensions>=10.3", "mkdocs-mermaid2-plugin>=1.1"] [project.scripts] adn-server = "adn_server.main:main" [tool.setuptools.packages.find] where = ["src"] [tool.pytest.ini_options] pythonpath = ["."] testpaths = ["tests"] markers = [ "behavior: integration-style behavior tests (P0/P1)", "integration: real HBP/proxy stack (not DeterministicScenario inject)", "mqtt: requires MQTT broker or heavy mqtt mocks", "smoke: quick routing smoke tests", ] [tool.ruff.lint.per-file-ignores] # Entrypoints adjust sys.path before importing the package (intentional E402). "src/adn_server/main.py" = ["E402"] [tool.semantic_release] build_command = "" tag_format = "v{version}" commit_message = "chore(release): {version}" version_toml = ["pyproject.toml:project.version"] version_variables = ["README.md:**Version"] [tool.semantic_release.branches.master] match = "master" prerelease = false [tool.semantic_release.commit_parser_options] allowed_tags = ["build", "chore", "ci", "docs", "feat", "fix", "perf", "style", "refactor", "test"] minor_tags = ["feat"] patch_tags = ["fix", "perf"] [tool.semantic_release.changelog.default_templates] mode = "update" changelog_file = "CHANGELOG.md" [tool.semantic_release.remote] name = "origin" type = "github" ignore_token_for_push = false [tool.semantic_release.remote.token] env = "GH_TOKEN"