{"number":"latest","published_at":"2023-12-12T13:58:43.733Z","last_synced_at":"2025-02-01T08:03:28.303Z","created_at":"2024-01-11T00:00:21.519Z","updated_at":"2025-02-01T08:03:28.305Z","distro":null,"version_url":"https://docker.ecosyste.ms/api/v1/packages/funkwhale%2Fapi/versions/latest","package":{"name":"funkwhale/api","package_url":"https://docker.ecosyste.ms/api/v1/packages/funkwhale%2Fapi"},"dependencies":[{"ecosystem":"generic","package_name":"bash","requirements":"5.2.15","purl":"pkg:generic/bash@5.2.15"},{"ecosystem":"generic","package_name":"busybox","requirements":"1.35.0","purl":"pkg:generic/busybox@1.35.0"},{"ecosystem":"generic","package_name":"python","requirements":"3.10.13","purl":"pkg:generic/python@3.10.13"},{"ecosystem":"pypi","package_name":"aiohttp","requirements":"3.8.6","purl":"pkg:pypi/aiohttp@3.8.6"},{"ecosystem":"pypi","package_name":"aioresponses","requirements":"0.7.6","purl":"pkg:pypi/aioresponses@0.7.6"},{"ecosystem":"pypi","package_name":"aiosignal","requirements":"1.3.1","purl":"pkg:pypi/aiosignal@1.3.1"},{"ecosystem":"pypi","package_name":"amqp","requirements":"5.2.0","purl":"pkg:pypi/amqp@5.2.0"},{"ecosystem":"pypi","package_name":"anyio","requirements":"4.1.0","purl":"pkg:pypi/anyio@4.1.0"},{"ecosystem":"pypi","package_name":"appnope","requirements":"0.1.3","purl":"pkg:pypi/appnope@0.1.3"},{"ecosystem":"pypi","package_name":"arrow","requirements":"1.2.3","purl":"pkg:pypi/arrow@1.2.3"},{"ecosystem":"pypi","package_name":"asgiref","requirements":"3.7.2","purl":"pkg:pypi/asgiref@3.7.2"},{"ecosystem":"pypi","package_name":"astroid","requirements":"2.15.8","purl":"pkg:pypi/astroid@2.15.8"},{"ecosystem":"pypi","package_name":"async-timeout","requirements":"4.0.3","purl":"pkg:pypi/async-timeout@4.0.3"},{"ecosystem":"pypi","package_name":"asynctest","requirements":"0.13.0","purl":"pkg:pypi/asynctest@0.13.0"},{"ecosystem":"pypi","package_name":"attrs","requirements":"23.1.0","purl":"pkg:pypi/attrs@23.1.0"},{"ecosystem":"pypi","package_name":"autobahn","requirements":"23.1.2","purl":"pkg:pypi/autobahn@23.1.2"},{"ecosystem":"pypi","package_name":"automat","requirements":"22.10.0","purl":"pkg:pypi/automat@22.10.0"},{"ecosystem":"pypi","package_name":"backcall","requirements":"0.2.0","purl":"pkg:pypi/backcall@0.2.0"},{"ecosystem":"pypi","package_name":"backports-zoneinfo","requirements":"0.2.1","purl":"pkg:pypi/backports-zoneinfo@0.2.1"},{"ecosystem":"pypi","package_name":"billiard","requirements":"3.6.4.0","purl":"pkg:pypi/billiard@3.6.4.0"},{"ecosystem":"pypi","package_name":"black","requirements":"23.3.0","purl":"pkg:pypi/black@23.3.0"},{"ecosystem":"pypi","package_name":"bleach","requirements":"5.0.1","purl":"pkg:pypi/bleach@5.0.1"},{"ecosystem":"pypi","package_name":"boto3","requirements":"1.26.161","purl":"pkg:pypi/boto3@1.26.161"},{"ecosystem":"pypi","package_name":"botocore","requirements":"1.29.165","purl":"pkg:pypi/botocore@1.29.165"},{"ecosystem":"pypi","package_name":"cachetools","requirements":"5.3.2","purl":"pkg:pypi/cachetools@5.3.2"},{"ecosystem":"pypi","package_name":"celery","requirements":"5.2.7","purl":"pkg:pypi/celery@5.2.7"},{"ecosystem":"pypi","package_name":"certifi","requirements":"2023.11.17","purl":"pkg:pypi/certifi@2023.11.17"},{"ecosystem":"pypi","package_name":"cffi","requirements":"1.16.0","purl":"pkg:pypi/cffi@1.16.0"},{"ecosystem":"pypi","package_name":"channels-redis","requirements":"4.1.0","purl":"pkg:pypi/channels-redis@4.1.0"},{"ecosystem":"pypi","package_name":"channels","requirements":"4.0.0","purl":"pkg:pypi/channels@4.0.0"},{"ecosystem":"pypi","package_name":"charset-normalizer","requirements":"3.3.2","purl":"pkg:pypi/charset-normalizer@3.3.2"},{"ecosystem":"pypi","package_name":"click-didyoumean","requirements":"0.3.0","purl":"pkg:pypi/click-didyoumean@0.3.0"},{"ecosystem":"pypi","package_name":"click-plugins","requirements":"1.1.1","purl":"pkg:pypi/click-plugins@1.1.1"},{"ecosystem":"pypi","package_name":"click-repl","requirements":"0.3.0","purl":"pkg:pypi/click-repl@0.3.0"},{"ecosystem":"pypi","package_name":"click","requirements":"8.1.7","purl":"pkg:pypi/click@8.1.7"},{"ecosystem":"pypi","package_name":"colorama","requirements":"0.4.6","purl":"pkg:pypi/colorama@0.4.6"},{"ecosystem":"pypi","package_name":"constantly","requirements":"23.10.4","purl":"pkg:pypi/constantly@23.10.4"},{"ecosystem":"pypi","package_name":"countryinfo","requirements":"0.1.2","purl":"pkg:pypi/countryinfo@0.1.2"},{"ecosystem":"pypi","package_name":"coverage","requirements":"6.5.0","purl":"pkg:pypi/coverage@6.5.0"},{"ecosystem":"pypi","package_name":"cryptography","requirements":"38.0.4","purl":"pkg:pypi/cryptography@38.0.4"},{"ecosystem":"pypi","package_name":"daphne","requirements":"4.0.0","purl":"pkg:pypi/daphne@4.0.0"},{"ecosystem":"pypi","package_name":"debugpy","requirements":"1.6.7.post1","purl":"pkg:pypi/debugpy@1.6.7.post1"},{"ecosystem":"pypi","package_name":"decorator","requirements":"5.1.1","purl":"pkg:pypi/decorator@5.1.1"},{"ecosystem":"pypi","package_name":"defusedxml","requirements":"0.7.1","purl":"pkg:pypi/defusedxml@0.7.1"},{"ecosystem":"pypi","package_name":"deprecated","requirements":"1.2.14","purl":"pkg:pypi/deprecated@1.2.14"},{"ecosystem":"pypi","package_name":"dill","requirements":"0.3.7","purl":"pkg:pypi/dill@0.3.7"},{"ecosystem":"pypi","package_name":"dj-rest-auth","requirements":"2.2.8","purl":"pkg:pypi/dj-rest-auth@2.2.8"},{"ecosystem":"pypi","package_name":"django-allauth","requirements":"0.42.0","purl":"pkg:pypi/django-allauth@0.42.0"},{"ecosystem":"pypi","package_name":"django-auth-ldap","requirements":"4.1.0","purl":"pkg:pypi/django-auth-ldap@4.1.0"},{"ecosystem":"pypi","package_name":"django-cache-memoize","requirements":"0.1.10","purl":"pkg:pypi/django-cache-memoize@0.1.10"},{"ecosystem":"pypi","package_name":"django-cacheops","requirements":"6.1","purl":"pkg:pypi/django-cacheops@6.1"},{"ecosystem":"pypi","package_name":"django-cleanup","requirements":"6.0.0","purl":"pkg:pypi/django-cleanup@6.0.0"},{"ecosystem":"pypi","package_name":"django-cors-headers","requirements":"3.13.0","purl":"pkg:pypi/django-cors-headers@3.13.0"},{"ecosystem":"pypi","package_name":"django-coverage-plugin","requirements":"3.0.0","purl":"pkg:pypi/django-coverage-plugin@3.0.0"},{"ecosystem":"pypi","package_name":"django-debug-toolbar","requirements":"3.8.1","purl":"pkg:pypi/django-debug-toolbar@3.8.1"},{"ecosystem":"pypi","package_name":"django-dynamic-preferences","requirements":"1.14.0","purl":"pkg:pypi/django-dynamic-preferences@1.14.0"},{"ecosystem":"pypi","package_name":"django-environ","requirements":"0.10.0","purl":"pkg:pypi/django-environ@0.10.0"},{"ecosystem":"pypi","package_name":"django-extensions","requirements":"3.2.3","purl":"pkg:pypi/django-extensions@3.2.3"},{"ecosystem":"pypi","package_name":"django-filter","requirements":"22.1","purl":"pkg:pypi/django-filter@22.1"},{"ecosystem":"pypi","package_name":"django-oauth-toolkit","requirements":"2.2.0","purl":"pkg:pypi/django-oauth-toolkit@2.2.0"},{"ecosystem":"pypi","package_name":"django-redis","requirements":"5.2.0","purl":"pkg:pypi/django-redis@5.2.0"},{"ecosystem":"pypi","package_name":"django-storages","requirements":"1.13.2","purl":"pkg:pypi/django-storages@1.13.2"},{"ecosystem":"pypi","package_name":"django-versatileimagefield","requirements":"2.2","purl":"pkg:pypi/django-versatileimagefield@2.2"},{"ecosystem":"pypi","package_name":"django","requirements":"3.2.23","purl":"pkg:pypi/django@3.2.23"},{"ecosystem":"pypi","package_name":"djangorestframework","requirements":"3.14.0","purl":"pkg:pypi/djangorestframework@3.14.0"},{"ecosystem":"pypi","package_name":"drf-spectacular","requirements":"0.26.5","purl":"pkg:pypi/drf-spectacular@0.26.5"},{"ecosystem":"pypi","package_name":"exceptiongroup","requirements":"1.2.0","purl":"pkg:pypi/exceptiongroup@1.2.0"},{"ecosystem":"pypi","package_name":"factory-boy","requirements":"3.2.1","purl":"pkg:pypi/factory-boy@3.2.1"},{"ecosystem":"pypi","package_name":"faker","requirements":"15.3.4","purl":"pkg:pypi/faker@15.3.4"},{"ecosystem":"pypi","package_name":"feedparser","requirements":"6.0.10","purl":"pkg:pypi/feedparser@6.0.10"},{"ecosystem":"pypi","package_name":"flake8","requirements":"3.9.2","purl":"pkg:pypi/flake8@3.9.2"},{"ecosystem":"pypi","package_name":"frozendict","requirements":"2.3.8","purl":"pkg:pypi/frozendict@2.3.8"},{"ecosystem":"pypi","package_name":"frozenlist","requirements":"1.4.0","purl":"pkg:pypi/frozenlist@1.4.0"},{"ecosystem":"pypi","package_name":"funcy","requirements":"1.18","purl":"pkg:pypi/funcy@1.18"},{"ecosystem":"pypi","package_name":"gunicorn","requirements":"20.1.0","purl":"pkg:pypi/gunicorn@20.1.0"},{"ecosystem":"pypi","package_name":"h11","requirements":"0.14.0","purl":"pkg:pypi/h11@0.14.0"},{"ecosystem":"pypi","package_name":"httptools","requirements":"0.6.1","purl":"pkg:pypi/httptools@0.6.1"},{"ecosystem":"pypi","package_name":"hyperlink","requirements":"21.0.0","purl":"pkg:pypi/hyperlink@21.0.0"},{"ecosystem":"pypi","package_name":"idna","requirements":"3.4","purl":"pkg:pypi/idna@3.4"},{"ecosystem":"pypi","package_name":"importlib-metadata","requirements":"6.8.0","purl":"pkg:pypi/importlib-metadata@6.8.0"},{"ecosystem":"pypi","package_name":"importlib-resources","requirements":"6.1.1","purl":"pkg:pypi/importlib-resources@6.1.1"},{"ecosystem":"pypi","package_name":"incremental","requirements":"22.10.0","purl":"pkg:pypi/incremental@22.10.0"},{"ecosystem":"pypi","package_name":"inflection","requirements":"0.5.1","purl":"pkg:pypi/inflection@0.5.1"},{"ecosystem":"pypi","package_name":"iniconfig","requirements":"2.0.0","purl":"pkg:pypi/iniconfig@2.0.0"},{"ecosystem":"pypi","package_name":"ipdb","requirements":"0.13.13","purl":"pkg:pypi/ipdb@0.13.13"},{"ecosystem":"pypi","package_name":"ipython","requirements":"7.34.0","purl":"pkg:pypi/ipython@7.34.0"},{"ecosystem":"pypi","package_name":"isort","requirements":"5.12.0","purl":"pkg:pypi/isort@5.12.0"},{"ecosystem":"pypi","package_name":"jedi","requirements":"0.19.1","purl":"pkg:pypi/jedi@0.19.1"},{"ecosystem":"pypi","package_name":"jmespath","requirements":"1.0.1","purl":"pkg:pypi/jmespath@1.0.1"},{"ecosystem":"pypi","package_name":"jsonschema-specifications","requirements":"2023.11.1","purl":"pkg:pypi/jsonschema-specifications@2023.11.1"},{"ecosystem":"pypi","package_name":"jsonschema","requirements":"4.20.0","purl":"pkg:pypi/jsonschema@4.20.0"},{"ecosystem":"pypi","package_name":"jwcrypto","requirements":"1.5.0","purl":"pkg:pypi/jwcrypto@1.5.0"},{"ecosystem":"pypi","package_name":"kombu","requirements":"5.2.4","purl":"pkg:pypi/kombu@5.2.4"},{"ecosystem":"pypi","package_name":"lazy-object-proxy","requirements":"1.9.0","purl":"pkg:pypi/lazy-object-proxy@1.9.0"},{"ecosystem":"pypi","package_name":"lb-matching-tools","requirements":"0.1.0","purl":"pkg:pypi/lb-matching-tools@0.1.0"},{"ecosystem":"pypi","package_name":"lxml","requirements":"4.9.3","purl":"pkg:pypi/lxml@4.9.3"},{"ecosystem":"pypi","package_name":"markdown","requirements":"3.4.4","purl":"pkg:pypi/markdown@3.4.4"},{"ecosystem":"pypi","package_name":"matplotlib-inline","requirements":"0.1.6","purl":"pkg:pypi/matplotlib-inline@0.1.6"},{"ecosystem":"pypi","package_name":"mccabe","requirements":"0.6.1","purl":"pkg:pypi/mccabe@0.6.1"},{"ecosystem":"pypi","package_name":"more-itertools","requirements":"10.1.0","purl":"pkg:pypi/more-itertools@10.1.0"},{"ecosystem":"pypi","package_name":"msgpack","requirements":"1.0.7","purl":"pkg:pypi/msgpack@1.0.7"},{"ecosystem":"pypi","package_name":"multidict","requirements":"6.0.4","purl":"pkg:pypi/multidict@6.0.4"},{"ecosystem":"pypi","package_name":"musicbrainzngs","requirements":"0.7.1","purl":"pkg:pypi/musicbrainzngs@0.7.1"},{"ecosystem":"pypi","package_name":"mutagen","requirements":"1.46.0","purl":"pkg:pypi/mutagen@1.46.0"},{"ecosystem":"pypi","package_name":"mypy-extensions","requirements":"1.0.0","purl":"pkg:pypi/mypy-extensions@1.0.0"},{"ecosystem":"pypi","package_name":"oauthlib","requirements":"3.2.2","purl":"pkg:pypi/oauthlib@3.2.2"},{"ecosystem":"pypi","package_name":"packaging","requirements":"23.2","purl":"pkg:pypi/packaging@23.2"},{"ecosystem":"pypi","package_name":"parso","requirements":"0.8.3","purl":"pkg:pypi/parso@0.8.3"},{"ecosystem":"pypi","package_name":"pathspec","requirements":"0.11.2","purl":"pkg:pypi/pathspec@0.11.2"},{"ecosystem":"pypi","package_name":"persisting-theory","requirements":"1.0","purl":"pkg:pypi/persisting-theory@1.0"},{"ecosystem":"pypi","package_name":"pexpect","requirements":"4.8.0","purl":"pkg:pypi/pexpect@4.8.0"},{"ecosystem":"pypi","package_name":"pickleshare","requirements":"0.7.5","purl":"pkg:pypi/pickleshare@0.7.5"},{"ecosystem":"pypi","package_name":"pillow","requirements":"9.3.0","purl":"pkg:pypi/pillow@9.3.0"},{"ecosystem":"pypi","package_name":"pkgutil-resolve-name","requirements":"1.3.10","purl":"pkg:pypi/pkgutil-resolve-name@1.3.10"},{"ecosystem":"pypi","package_name":"platformdirs","requirements":"4.0.0","purl":"pkg:pypi/platformdirs@4.0.0"},{"ecosystem":"pypi","package_name":"pluggy","requirements":"1.3.0","purl":"pkg:pypi/pluggy@1.3.0"},{"ecosystem":"pypi","package_name":"pluralizer","requirements":"1.2.0","purl":"pkg:pypi/pluralizer@1.2.0"},{"ecosystem":"pypi","package_name":"prompt-toolkit","requirements":"3.0.41","purl":"pkg:pypi/prompt-toolkit@3.0.41"},{"ecosystem":"pypi","package_name":"psycopg2-binary","requirements":"2.9.9","purl":"pkg:pypi/psycopg2-binary@2.9.9"},{"ecosystem":"pypi","package_name":"psycopg2","requirements":"2.9.9","purl":"pkg:pypi/psycopg2@2.9.9"},{"ecosystem":"pypi","package_name":"ptyprocess","requirements":"0.7.0","purl":"pkg:pypi/ptyprocess@0.7.0"},{"ecosystem":"pypi","package_name":"pyasn1-modules","requirements":"0.3.0","purl":"pkg:pypi/pyasn1-modules@0.3.0"},{"ecosystem":"pypi","package_name":"pyasn1","requirements":"0.5.1","purl":"pkg:pypi/pyasn1@0.5.1"},{"ecosystem":"pypi","package_name":"pycodestyle","requirements":"2.7.0","purl":"pkg:pypi/pycodestyle@2.7.0"},{"ecosystem":"pypi","package_name":"pycountry","requirements":"22.3.5","purl":"pkg:pypi/pycountry@22.3.5"},{"ecosystem":"pypi","package_name":"pycparser","requirements":"2.21","purl":"pkg:pypi/pycparser@2.21"},{"ecosystem":"pypi","package_name":"pydub","requirements":"0.25.1","purl":"pkg:pypi/pydub@0.25.1"},{"ecosystem":"pypi","package_name":"pyflakes","requirements":"2.3.1","purl":"pkg:pypi/pyflakes@2.3.1"},{"ecosystem":"pypi","package_name":"pygments","requirements":"2.17.2","purl":"pkg:pypi/pygments@2.17.2"},{"ecosystem":"pypi","package_name":"pyld","requirements":"2.0.3","purl":"pkg:pypi/pyld@2.0.3"},{"ecosystem":"pypi","package_name":"pylint-django","requirements":"2.5.5","purl":"pkg:pypi/pylint-django@2.5.5"},{"ecosystem":"pypi","package_name":"pylint-plugin-utils","requirements":"0.8.2","purl":"pkg:pypi/pylint-plugin-utils@0.8.2"},{"ecosystem":"pypi","package_name":"pylint","requirements":"2.17.7","purl":"pkg:pypi/pylint@2.17.7"},{"ecosystem":"pypi","package_name":"pylistenbrainz","requirements":"0.5.2","purl":"pkg:pypi/pylistenbrainz@0.5.2"},{"ecosystem":"pypi","package_name":"pyopenssl","requirements":"23.2.0","purl":"pkg:pypi/pyopenssl@23.2.0"},{"ecosystem":"pypi","package_name":"pyparsing","requirements":"3.1.1","purl":"pkg:pypi/pyparsing@3.1.1"},{"ecosystem":"pypi","package_name":"pytest-asyncio","requirements":"0.21.0","purl":"pkg:pypi/pytest-asyncio@0.21.0"},{"ecosystem":"pypi","package_name":"pytest-cov","requirements":"4.0.0","purl":"pkg:pypi/pytest-cov@4.0.0"},{"ecosystem":"pypi","package_name":"pytest-django","requirements":"4.5.2","purl":"pkg:pypi/pytest-django@4.5.2"},{"ecosystem":"pypi","package_name":"pytest-env","requirements":"0.8.2","purl":"pkg:pypi/pytest-env@0.8.2"},{"ecosystem":"pypi","package_name":"pytest-mock","requirements":"3.10.0","purl":"pkg:pypi/pytest-mock@3.10.0"},{"ecosystem":"pypi","package_name":"pytest-randomly","requirements":"3.12.0","purl":"pkg:pypi/pytest-randomly@3.12.0"},{"ecosystem":"pypi","package_name":"pytest-sugar","requirements":"0.9.7","purl":"pkg:pypi/pytest-sugar@0.9.7"},{"ecosystem":"pypi","package_name":"pytest","requirements":"7.4.3","purl":"pkg:pypi/pytest@7.4.3"},{"ecosystem":"pypi","package_name":"python-dateutil","requirements":"2.8.2","purl":"pkg:pypi/python-dateutil@2.8.2"},{"ecosystem":"pypi","package_name":"python-dotenv","requirements":"1.0.0","purl":"pkg:pypi/python-dotenv@1.0.0"},{"ecosystem":"pypi","package_name":"python-ldap","requirements":"3.4.4","purl":"pkg:pypi/python-ldap@3.4.4"},{"ecosystem":"pypi","package_name":"python-magic","requirements":"0.4.27","purl":"pkg:pypi/python-magic@0.4.27"},{"ecosystem":"pypi","package_name":"python3-openid","requirements":"3.2.0","purl":"pkg:pypi/python3-openid@3.2.0"},{"ecosystem":"pypi","package_name":"pytz","requirements":"2023.3.post1","purl":"pkg:pypi/pytz@2023.3.post1"},{"ecosystem":"pypi","package_name":"pyyaml","requirements":"6.0.1","purl":"pkg:pypi/pyyaml@6.0.1"},{"ecosystem":"pypi","package_name":"redis","requirements":"4.5.5","purl":"pkg:pypi/redis@4.5.5"},{"ecosystem":"pypi","package_name":"referencing","requirements":"0.31.0","purl":"pkg:pypi/referencing@0.31.0"},{"ecosystem":"pypi","package_name":"regex","requirements":"2023.10.3","purl":"pkg:pypi/regex@2023.10.3"},{"ecosystem":"pypi","package_name":"requests-http-message-signatures","requirements":"0.3.1","purl":"pkg:pypi/requests-http-message-signatures@0.3.1"},{"ecosystem":"pypi","package_name":"requests-mock","requirements":"1.10.0","purl":"pkg:pypi/requests-mock@1.10.0"},{"ecosystem":"pypi","package_name":"requests-oauthlib","requirements":"1.3.1","purl":"pkg:pypi/requests-oauthlib@1.3.1"},{"ecosystem":"pypi","package_name":"requests","requirements":"2.28.2","purl":"pkg:pypi/requests@2.28.2"},{"ecosystem":"pypi","package_name":"rpds-py","requirements":"0.13.1","purl":"pkg:pypi/rpds-py@0.13.1"},{"ecosystem":"pypi","package_name":"s3transfer","requirements":"0.6.2","purl":"pkg:pypi/s3transfer@0.6.2"},{"ecosystem":"pypi","package_name":"sentry-sdk","requirements":"1.19.1","purl":"pkg:pypi/sentry-sdk@1.19.1"},{"ecosystem":"pypi","package_name":"service-identity","requirements":"21.1.0","purl":"pkg:pypi/service-identity@21.1.0"},{"ecosystem":"pypi","package_name":"setuptools","requirements":"69.0.2","purl":"pkg:pypi/setuptools@69.0.2"},{"ecosystem":"pypi","package_name":"sgmllib3k","requirements":"1.0.0","purl":"pkg:pypi/sgmllib3k@1.0.0"},{"ecosystem":"pypi","package_name":"six","requirements":"1.16.0","purl":"pkg:pypi/six@1.16.0"},{"ecosystem":"pypi","package_name":"sniffio","requirements":"1.3.0","purl":"pkg:pypi/sniffio@1.3.0"},{"ecosystem":"pypi","package_name":"spotipy","requirements":"2.23.0","purl":"pkg:pypi/spotipy@2.23.0"},{"ecosystem":"pypi","package_name":"sqlparse","requirements":"0.4.4","purl":"pkg:pypi/sqlparse@0.4.4"},{"ecosystem":"pypi","package_name":"termcolor","requirements":"2.3.0","purl":"pkg:pypi/termcolor@2.3.0"},{"ecosystem":"pypi","package_name":"tomli","requirements":"2.0.1","purl":"pkg:pypi/tomli@2.0.1"},{"ecosystem":"pypi","package_name":"tomlkit","requirements":"0.12.3","purl":"pkg:pypi/tomlkit@0.12.3"},{"ecosystem":"pypi","package_name":"traitlets","requirements":"5.13.0","purl":"pkg:pypi/traitlets@5.13.0"},{"ecosystem":"pypi","package_name":"troi","requirements":"0.1.0","purl":"pkg:pypi/troi@0.1.0"},{"ecosystem":"pypi","package_name":"twisted-iocpsupport","requirements":"1.0.4","purl":"pkg:pypi/twisted-iocpsupport@1.0.4"},{"ecosystem":"pypi","package_name":"twisted","requirements":"23.10.0","purl":"pkg:pypi/twisted@23.10.0"},{"ecosystem":"pypi","package_name":"txaio","requirements":"23.1.1","purl":"pkg:pypi/txaio@23.1.1"},{"ecosystem":"pypi","package_name":"typesense","requirements":"0.15.1","purl":"pkg:pypi/typesense@0.15.1"},{"ecosystem":"pypi","package_name":"typing-extensions","requirements":"4.8.0","purl":"pkg:pypi/typing-extensions@4.8.0"},{"ecosystem":"pypi","package_name":"ujson","requirements":"5.8.0","purl":"pkg:pypi/ujson@5.8.0"},{"ecosystem":"pypi","package_name":"unicode-slugify","requirements":"0.1.5","purl":"pkg:pypi/unicode-slugify@0.1.5"},{"ecosystem":"pypi","package_name":"unidecode","requirements":"1.3.7","purl":"pkg:pypi/unidecode@1.3.7"},{"ecosystem":"pypi","package_name":"uritemplate","requirements":"4.1.1","purl":"pkg:pypi/uritemplate@4.1.1"},{"ecosystem":"pypi","package_name":"urllib3","requirements":"1.26.18","purl":"pkg:pypi/urllib3@1.26.18"},{"ecosystem":"pypi","package_name":"uvicorn","requirements":"0.20.0","purl":"pkg:pypi/uvicorn@0.20.0"},{"ecosystem":"pypi","package_name":"uvloop","requirements":"0.19.0","purl":"pkg:pypi/uvloop@0.19.0"},{"ecosystem":"pypi","package_name":"vine","requirements":"5.1.0","purl":"pkg:pypi/vine@5.1.0"},{"ecosystem":"pypi","package_name":"watchdog","requirements":"2.2.1","purl":"pkg:pypi/watchdog@2.2.1"},{"ecosystem":"pypi","package_name":"watchfiles","requirements":"0.21.0","purl":"pkg:pypi/watchfiles@0.21.0"},{"ecosystem":"pypi","package_name":"wcwidth","requirements":"0.2.12","purl":"pkg:pypi/wcwidth@0.2.12"},{"ecosystem":"pypi","package_name":"webencodings","requirements":"0.5.1","purl":"pkg:pypi/webencodings@0.5.1"},{"ecosystem":"pypi","package_name":"websockets","requirements":"12.0","purl":"pkg:pypi/websockets@12.0"},{"ecosystem":"pypi","package_name":"wrapt","requirements":"1.16.0","purl":"pkg:pypi/wrapt@1.16.0"},{"ecosystem":"pypi","package_name":"yarl","requirements":"1.9.3","purl":"pkg:pypi/yarl@1.9.3"},{"ecosystem":"pypi","package_name":"zipp","requirements":"3.17.0","purl":"pkg:pypi/zipp@3.17.0"},{"ecosystem":"pypi","package_name":"zope-interface","requirements":"6.1","purl":"pkg:pypi/zope-interface@6.1"}]}