Skip to content
Permalink
main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
[project]
dynamic = ["version"]
name = "irrd"
[tool.poetry]
name = "irrd"
# Note that version is also in irrd/__init__.py
version = "4.5-dev"
description = "Internet Routing Registry daemon (IRRd)"
authors = ["Reliably Coded for NTT Ltd. and others <irrd@reliablycoded.nl>"]
license = "BSD"
readme = "README.rst"
repository = "https://github.com/irrdnet/irrd"
documentation = "https://irrd.readthedocs.io/"
exclude = ['irrd/*/tests', 'irrd/*/*/tests', 'irrd/integration_tests']
[tool.poetry.dependencies]
python = "^3.8"
# For installation dependencies, this project pins on exact
# versions. This is because it's an application rather than
# a library, so we assume that irrd is the only tool installed
# in the venv. Pinning exact versions increases reproducability
# in our distributed packages.
# https://github.com/python-poetry/poetry/issues/2778 may fix this
python-gnupg = "0.5.2"
passlib = "1.7.4"
bcrypt = "4.1.2"
ipy = "1.1"
ordered-set = "4.1.0"
beautifultable = "0.8.0" # pinned <1.0.0
pyyaml = "6.0.1"
datrie = "0.8.2"
setproctitle = "1.3.3"
python-daemon = "3.0.1"
pid = "3.0.4"
redis = "5.0.3"
hiredis = "2.3.2"
coredis = "4.17.0"
requests = "2.31.0"
pytz = "2024.1"
ariadne = "0.23"
uvicorn = { extras = ["standard"], version = "0.29.0" }
starlette = "0.37.2"
psutil = "5.9.8"
asgiref = "3.7.2"
pydantic = "2.6.3"
typing-extensions = "4.11.0"
py-radix-sr = "1.0.0.post1"
psycopg2-binary = "2.9.9"
sqlalchemy = "1.3.24" # pinned <1.24
alembic = "1.13.1"
ujson = "5.9.0"
wheel = "0.43.0"
jinja2 = "3.1.4"
python-multipart = "0.0.9"
imia = "0.5.3"
starlette-wtf = "0.4.5"
limits = "3.12.0"
webauthn = "2.1.0"
pyotp = "2.9.0"
click = "8.1.7"
zxcvbn = "4.4.28"
wtforms-bootstrap5 = "0.3.0"
email-validator = "2.1.1"
asgi-logger = "0.1.0"
oic = "1.7.0"
[tool.poetry.group.dev.dependencies]
pytest = "^7.2.1"
pytest-cov = "^4.0.0"
coverage = "^7.2.0"
twisted = "^22.10.0"
python-graphql-client = "^0.4.3"
pytest-asyncio = "^0.20.3"
freezegun = "^1.2.2"
pytest-freezegun = "^0.4.2"
mypy = "^1.0.1"
ruff = "^0.0.252"
isort = "^5.12.0"
black = "23.7.0"
poethepoet = "^0.18.1"
factory-boy = "^3.2.1"
smtpdfix = "0.5.1"
httpx = "^0.24.0"
[tool.poetry.group.docs.dependencies]
# Also in readthedocs.yaml
sphinx = "^6.1.3"
sphinxcontrib-spelling = "^8.0.0"
sphinx-immaterial = "^0.11.11"
pyenchant = "^3.2.2"
[tool.poetry.scripts]
irrd = 'irrd.daemon.main:main'
irrdctl = 'irrd.scripts.irrd_control:cli'
irrd_submit_email = 'irrd.scripts.submit_email:main'
irrd_database_upgrade = 'irrd.scripts.database_upgrade:main'
irrd_database_downgrade = 'irrd.scripts.database_downgrade:main'
irrd_load_database = 'irrd.scripts.load_database:main'
irrd_update_database = 'irrd.scripts.update_database:main'
irrd_set_last_modified_auth = 'irrd.scripts.set_last_modified_auth:main'
irrd_expire_journal = 'irrd.scripts.expire_journal:main'
irrd_mirror_force_reload = 'irrd.scripts.mirror_force_reload:main'
irr_rpsl_submit = 'irrd.scripts.irr_rpsl_submit:main'
irrd_load_pgp_keys = 'irrd.scripts.load_pgp_keys:main'
[tool.isort]
profile = "black"
py_version = 38
src_paths = "irrd"
[tool.ruff]
line-length = 110
ignore = ["E501"]
target-version = "py38"
[tool.black]
line-length = 110
target-version = ['py38']
preview = true
[tool.pytest.ini_options]
log_level = "DEBUG"
asyncio_mode = "auto"
[tool.mypy]
ignore_missing_imports = true
install_types = true
non_interactive = true
exclude = ['irrd/vendor/mock_alchemy/']
[[tool.mypy.overrides]]
module = "irrd.vendor.mock_alchemy.*"
follow_imports = "skip"
[tool.poe.tasks]
black = "black irrd"
ruff = "ruff irrd --fix"
isort = "isort irrd"
mypy = "mypy irrd"
lint = ["black", "ruff", "isort", "mypy"]
test = "pytest --cov-report term-missing:skip-covered --cov=irrd --basetemp=.tmpdirs/ "
[tool.coverage.report]
exclude_lines = [
"pragma: no cover",
"def __repr__",
"if self.debug:",
"if settings.DEBUG",
"raise AssertionError",
"raise NotImplementedError",
"if 0:",
"if __name__ == \"__main__\":",
]
# Impractical for unit tests, but covered in integration tests
omit = [
"irrd/daemon/main.py",
"irrd/server/http/app.py",
"irrd/server/graphql/schema_builder.py",
"irrd/server/http/server.py",
"irrd/storage/alembic/*",
"irrd/scripts/query_qa_comparison.py",
"irrd/scripts/database_upgrade.py",
"irrd/scripts/database_downgrade.py",
"irrd/scripts/load_test.py",
"irrd/integration_tests/*",
"irrd/vendor/*",
"irrd/*/tests/*",
]
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"