[build-system] requires = [ "hatchling", ] build-backend = "hatchling.build" [project] name = "i2p-python" version = "0.1.0" description = "Complete I2P anonymous network implementation in Python" requires-python = ">=3.11" authors = [ { name = "bimo.studio", email = "hello@bimo.studio" }, ] readme = "README.md" classifiers = [ "Development Status :: 3 - Alpha", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.11", "License :: OSI Approved :: MIT License", "Topic :: Internet", "Topic :: Security :: Cryptography", ] dependencies = [ "cryptography>=41.0", "pynacl>=1.5.0", "flask>=3.0", ] [project.license] text = "MIT" [project.urls] Homepage = "https://i2p-python.github.io/i2p-python" Repository = "https://github.com/Bimo-Studio/i2p-python" Changelog = "https://github.com/Bimo-Studio/i2p-python/blob/main/CHANGELOG.md" [project.scripts] i2p-router = "i2p_router.__main__:main" i2p-sam = "i2p_sam.__main__:main" i2p-tunnel = "i2p_apps.i2ptunnel.cli:main" i2p-router-gui = "i2p_apps.desktop.runner:main" [project.optional-dependencies] dev = [ "pytest>=7.4", "pytest-cov>=5.0", "pytest-timeout>=2.2", "pytest-asyncio>=0.23", "mypy>=1.10", ] pqc = [ "pqcrypto>=0.1.0", ] gui = [ "pystray>=0.19", ] security = [ "bandit>=1.7.7", "pip-audit>=2.7.0", ] [tool.hatch.build.targets.wheel] packages = [ "src/i2p_time", "src/i2p_stat", "src/i2p_kademlia", "src/i2p_util", "src/i2p_crypto", "src/i2p_data", "src/i2p_client", "src/i2p_streaming", "src/i2p_transport", "src/i2p_tunnel", "src/i2p_netdb", "src/i2p_peer", "src/i2p_router", "src/i2p_sam", "src/i2p_apps", ] [tool.pytest.ini_options] testpaths = [ "tests", ] pythonpath = [ "src", ] asyncio_mode = "auto" filterwarnings = [] [tool.mypy] python_version = "3.11" mypy_path = "src" explicit_package_bases = true ignore_missing_imports = true warn_unused_configs = true warn_redundant_casts = true [tool.semantic_release] version_toml = [ "pyproject.toml:project.version", ] branch = "main" commit_message = "chore(release): {version}" build_command = "" upload_to_vcs_release = true major_on_zero = false allow_zero_version = true [tool.semantic_release.remote] type = "github" domain = "github.com" [tool.semantic_release.changelog.default_templates] changelog_file = "CHANGELOG.md" [tool.semantic_release.commit_parser_options] minor_tags = [ "feat", ] patch_tags = [ "fix", "perf", ]