funquail/api/pyproject.toml
jo b359bb6498 fix: timeout on spa manifest requests
The previous behaviour had a loop of requests between the front
app and the api when querying the pwa manifest.

This reduce the coupling around the pwa manifest file between the api
and the front app, by uplicating the files so each "service" has a copy
of it, while keeping them in sync and having the front pwa manifest as
single source of truth.

Part-of: <https://dev.funkwhale.audio/funkwhale/funkwhale/-/merge_requests/2291>
2022-12-19 14:33:12 +01:00

170 lines
4 KiB
TOML

[tool.poetry]
name = "funkwhale-api"
version = "1.2.9"
description = "Funkwhale API"
authors = ["Funkwhale Collective"]
homepage = "https://funkwhale.audio"
repository = "https://dev.funkwhale.audio/funkwhale/funkwhale"
documentation = "https://docs.funkwhale.audio"
license = "AGPL-3.0-only"
packages = [
{ include = "funkwhale_api" },
{ include = "config" },
]
include = [
{ path = "*.html" },
{ path = "*.json" },
{ path = "*.png" },
{ path = "*.txt" },
]
exclude = ["tests"]
[tool.poetry.scripts]
funkwhale-manage = 'funkwhale_api.main:main'
[tool.poetry.dependencies]
python = "^3.7"
Django = "==3.2.16"
django-environ = "==0.9.0"
Pillow = "==9.3.0"
django-allauth = "==0.42.0"
psycopg2 = "==2.9.5"
pytz = "==2022.7"
django-redis = "==5.2.0"
redis = "==4.4.0"
kombu = "==5.2.4"
celery = "==5.2.7"
django-cors-headers = "==3.13.0"
musicbrainzngs = "==0.7.1"
djangorestframework = "==3.14.0"
arrow = "==1.2.3"
persisting-theory = "==1.0"
django-versatileimagefield = "==2.2"
django-filter = "==22.1"
mutagen = "==1.46.0"
django-dynamic-preferences = "==1.14.0"
python-magic = "==0.4.27"
channels = {extras = ["daphne"], version = "==4.0.0"}
channels-redis = "==4.0.0"
gunicorn = "==20.1.0"
cryptography = "==38.0.4"
django-cleanup = "==6.0.0"
requests = "==2.28.1"
pydub = "==0.25.1"
PyLD = "==2.0.3"
aiohttp = "==3.8.3"
django-oauth-toolkit = "2.2.0"
django-storages = "==1.13.1"
boto3 = "==1.26.32"
unicode-slugify = "==0.1.5"
django-cacheops = "==6.1"
service-identity = "==21.1.0"
click = "==8.1.3"
Markdown = "==3.4.1"
bleach = "==5.0.1"
feedparser = "==6.0.10"
watchdog = "==2.2.0"
asgiref = "==3.5.2" #1516
ipython = "==7.34.0"
python-ldap = "==3.4.3"
django-auth-ldap = "==4.1.0"
uvicorn = {version = "==0.20.0", extras = ["standard"]}
django-cache-memoize = "0.1.10"
requests-http-message-signatures = "==0.3.1"
drf-spectacular = "==0.25.1"
sentry-sdk = "==1.12.0"
pluralizer = "==1.2.0"
importlib_metadata = {version = "==4.13.0", python = "<=3.7"} # Keep support python 3.7, can be removed if we drop support
dj-rest-auth = {extras = ["with_social"], version = "2.2.5"}
[tool.poetry.dev-dependencies]
flake8 = "==3.9.2"
pytest = "==7.2.0"
pytest-cov = "==4.0.0"
pytest-django = "==4.5.2"
pytest-env = "==0.8.1"
pytest-mock = "==3.10.0"
pytest-randomly = "==3.12.0"
pytest-sugar = "==0.9.6"
pytest-asyncio = "==0.20.3"
requests-mock = "==1.10.0"
Faker = "==15.3.4"
coverage = { version = "==6.5.0", extras = ["toml"] }
django-coverage-plugin = "==3.0.0"
factory-boy = "==3.2.1"
django-debug-toolbar = "==3.8.1"
asynctest = "==0.13.0"
aioresponses = "==0.7.4"
prompt-toolkit = "==3.0.36"
black = "==22.12.0"
ipdb = "==0.13.11"
debugpy = "==1.6.4"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.pylint.master]
load-plugins = [
"pylint_common",
"pylint_django",
"pylint_celery",
]
[tool.pylint.messages_control]
disable = [
"invalid-name",
"missing-class-docstring",
"missing-function-docstring",
"missing-module-docstring",
]
[tool.pylint.design]
max-parents = 13
[tool.pylint.format]
max-line-length = 120
[tool.pytest.ini_options]
python_files = [
"tests.py",
"test_*.py",
"*_tests.py",
]
testpaths = ["tests"]
addopts = "-p no:warnings"
env = [
"SECRET_KEY=test",
"EMAIL_CONFIG=consolemail://",
"CELERY_BROKER_URL=memory://",
"CELERY_TASK_ALWAYS_EAGER=True",
"FUNKWHALE_HOSTNAME_SUFFIX=",
"FUNKWHALE_HOSTNAME_PREFIX=",
"FUNKWHALE_HOSTNAME=test.federation",
"FEDERATION_HOSTNAME=test.federation",
"FUNKWHALE_URL=https://test.federation",
"DEBUG_TOOLBAR_ENABLED=False",
"DEBUG=False",
"WEAK_PASSWORDS=True",
"CREATE_IMAGE_THUMBNAILS=False",
"FORCE_HTTPS_URLS=False",
"FUNKWHALE_SPA_HTML_ROOT=http://noop/",
"PROXY_MEDIA=true",
"MUSIC_USE_DENORMALIZATION=true",
"EXTERNAL_MEDIA_PROXY_ENABLED=true",
"DISABLE_PASSWORD_VALIDATORS=false",
"DISABLE_PASSWORD_VALIDATORS=false",
"FUNKWHALE_PLUGINS=",
"MUSIC_DIRECTORY_PATH=/music",
]
[tool.coverage.run]
plugins = ["django_coverage_plugin"]
include = ["funkwhale_api/*"]
omit = [
"*migrations*",
"*tests*",
"funkwhale_api/schema.py",
]