A Python port of the Invisible Internet Project (I2P)
at main 125 lines 2.5 kB view raw
1[build-system] 2requires = [ 3 "hatchling", 4] 5build-backend = "hatchling.build" 6 7[project] 8name = "i2p-python" 9version = "0.1.0" 10description = "Complete I2P anonymous network implementation in Python" 11requires-python = ">=3.11" 12authors = [ 13 { name = "bimo.studio", email = "hello@bimo.studio" }, 14] 15readme = "README.md" 16classifiers = [ 17 "Development Status :: 3 - Alpha", 18 "Programming Language :: Python :: 3", 19 "Programming Language :: Python :: 3.11", 20 "License :: OSI Approved :: MIT License", 21 "Topic :: Internet", 22 "Topic :: Security :: Cryptography", 23] 24dependencies = [ 25 "cryptography>=41.0", 26 "pynacl>=1.5.0", 27 "flask>=3.0", 28] 29 30[project.license] 31text = "MIT" 32 33[project.urls] 34Homepage = "https://i2p-python.github.io/i2p-python" 35Repository = "https://github.com/Bimo-Studio/i2p-python" 36Changelog = "https://github.com/Bimo-Studio/i2p-python/blob/main/CHANGELOG.md" 37 38[project.scripts] 39i2p-router = "i2p_router.__main__:main" 40i2p-sam = "i2p_sam.__main__:main" 41i2p-tunnel = "i2p_apps.i2ptunnel.cli:main" 42i2p-router-gui = "i2p_apps.desktop.runner:main" 43 44[project.optional-dependencies] 45dev = [ 46 "pytest>=7.4", 47 "pytest-cov>=5.0", 48 "pytest-timeout>=2.2", 49 "pytest-asyncio>=0.23", 50 "mypy>=1.10", 51] 52pqc = [ 53 "pqcrypto>=0.1.0", 54] 55gui = [ 56 "pystray>=0.19", 57] 58security = [ 59 "bandit>=1.7.7", 60 "pip-audit>=2.7.0", 61] 62 63[tool.hatch.build.targets.wheel] 64packages = [ 65 "src/i2p_time", 66 "src/i2p_stat", 67 "src/i2p_kademlia", 68 "src/i2p_util", 69 "src/i2p_crypto", 70 "src/i2p_data", 71 "src/i2p_client", 72 "src/i2p_streaming", 73 "src/i2p_transport", 74 "src/i2p_tunnel", 75 "src/i2p_netdb", 76 "src/i2p_peer", 77 "src/i2p_router", 78 "src/i2p_sam", 79 "src/i2p_apps", 80] 81 82[tool.pytest.ini_options] 83testpaths = [ 84 "tests", 85] 86pythonpath = [ 87 "src", 88] 89asyncio_mode = "auto" 90filterwarnings = [] 91 92[tool.mypy] 93python_version = "3.11" 94mypy_path = "src" 95explicit_package_bases = true 96ignore_missing_imports = true 97warn_unused_configs = true 98warn_redundant_casts = true 99 100[tool.semantic_release] 101version_toml = [ 102 "pyproject.toml:project.version", 103] 104branch = "main" 105commit_message = "chore(release): {version}" 106build_command = "" 107upload_to_vcs_release = true 108major_on_zero = false 109allow_zero_version = true 110 111[tool.semantic_release.remote] 112type = "github" 113domain = "github.com" 114 115[tool.semantic_release.changelog.default_templates] 116changelog_file = "CHANGELOG.md" 117 118[tool.semantic_release.commit_parser_options] 119minor_tags = [ 120 "feat", 121] 122patch_tags = [ 123 "fix", 124 "perf", 125]