[tool.poetry]
name = "peeringdb_server"
version = "2.27.1"
description = "source code for PeeringDB.com"
readme = "README.md"
repository = "https://github.com/peeringdb/peeringdb"
authors = [ "PeeringDB <support@peeringdb.com>",]
license = "BSD-2-Clause"

[tool.poetry.dependencies]
python = "^3.9"
# core requirements
django = ">=3.2, <4"
django-inet = "^1.0"
django-handleref = "^1.0.1"
django-peeringdb = "==2.10.0"
djangorestframework = ">=3.12,<3.13"
mysqlclient = ">=1.3.9"
peeringdb = ">=1.1.0, <2"
uwsgi = ">=2.0.14"
# ancilary packages
bleach = ">=2.1.3"
django-allauth = ">=0.32.0"
django-simple-captcha = ">=0.5.11"
django-autocomplete-light = ">=3.2.9"
django-bootstrap3 = ">=9.0.0"
django-cors-middleware = ">=1.3.1"
django-cors-headers = ">=2.1.0"
django-countries = ">=4.6.1"
django-crispy-forms = ">=1.6.1"
django-debug-toolbar = ">=1.9.1"
django-extensions = ">=1.3.3"
django-grappelli = ">=2.10.1"
django-hashers-passlib = ">=0.3"
django-oauth-toolkit = ">=1.0.0"
django-phonenumber-field = ">=0.6"
django-ratelimit = ">=3"
django-rest-swagger = ">=2.1.2"
djangorestframework-api-key = ">=2.0.0"
django-tables2 = ">=1.0.4"
django-vanilla-views = ">=1.0.2"
googlemaps = ">=2.5.1"
markdown = ">=2.6.7"
passlib = ">=1.7.1"
phonenumbers = ">=8.11.1"
rdap = "==1.2.1"
unidecode = ">=1.0.23"
# these should just be pulled in automatically?
django-reversion = ">=4, <5"
certifi = ">=2017.11.5"
tld = ">=0.7.6"
# deprecated from drf -- used by rest swagger
coreapi = ">=2.3.1"
django-two-factor-auth = ">=1.11,<2"
grainy = ">=1.7,<2"
django-grainy = ">=1.9.1,<2"
django-haystack = "<4"
whoosh = "<3"


[tool.poetry.dev-dependencies]
# test
pytest = ">=6.0.1"
pytest-cov = "*"
pytest-django = ">=2.9.1"
pytest-filedata = ">=0.1.0"
pytest-mock = ">=3.3.1"
jsonschema = ">=2.6.0"
"twentyc.rpc" = ">=0.3.5,<0.5"

# lint
black = {version = ">=20", allow-prereleases = true}
isort = "^5.7.0"
flake8 = "^3.8.4"
pre-commit = "^2.13.0"
pyupgrade = "^2.19.4"
docker-compose = "^1.29.2"

[build-system]
requires = [ "poetry>=0.12",]
build-backend = "poetry.masonry.api"

[tool.isort]
profile = "black"
multi_line_output = 3
