[project] name = "neodb" version = "0.11" description = "🧩 self-hosted server tracking what you read/watch/listen/play, powering a global distributed community federating via ActivityPub." readme = "README.md" requires-python = ">= 3.12" dependencies = [ "blurhash-python>=1.2.2", "cachetools>=5.5.0", "dateparser>=1.2.0", "django<5.0", "django-anymail>=12.0", "django-auditlog>=3.0.0", "django-bleach>=3.1.0", "django-compressor", "django-cors-headers", "django-environ>=0.11.2", "django-hijack>=3.7.0", "django-jsonform>=2.23.1", "django-maintenance-mode", "django-markdownx>=4.0.7", "django-ninja>=1.3.0", "django-polymorphic @ git+https://github.com/jazzband/django-polymorphic/@v4.0.0a", "django-redis>=5.4.0", "django-rq>=2.10.2", "django-sass-processor>=1.4.1", "django-tz-detect>=0.5.0", "django-user-messages>=1.1.0", "dnspython>=2.7.0", "easy-thumbnails>=2.10", "filetype>=1.2.0", "gunicorn>=23.0.0", "httpx>=0.27.2", "igdb-api-v4>=0.3.3", "langdetect>=1.0.9", "listparser>=0.20", "loguru>=0.7.2", "lxml>=5.3.0", "markdownify>=0.13.1", "mistune>=3.0.2", "openpyxl>=3.1.5", "podcastparser>=0.6.10", "psycopg2-binary", "requests>=2.32.3", "sentry-sdk>=2.17.0", "setproctitle>=1.3.3", "tqdm>=4.66.6", "typesense>=0.21.0", "urlman>=2.0.2", "validators>=0.34.0", "deepmerge>=1.1.1", "django-typed-models @ git+https://github.com/alphatownsman/django-typed-models.git", "atproto>=0.0.55", "discord-py>=2.4.0", "libsass>=0.23.0", ] [tool.rye] managed = true virtual = true dev-dependencies = [ "pre-commit>=4.0.1", # "black~=24.4.2", "django-stubs>=5.1.2", "djlint>=1.36.4", # "isort~=5.13.2", "lxml-stubs>=0.5.1", "pyright>=1.1.389", "ruff>=0.9.1", "mkdocs-material>=9.5.42", ] [tool.pyright] exclude = [ "media", ".venv", ".git", "playground", "catalog/*/tests.py", "journal/tests.py", "neodb", "**/migrations", "neodb-takahe", ] reportIncompatibleVariableOverride = false [tool.djlint] ignore = "T002,T003,H005,H006,H019,H020,H021,H023,H030,H031,D018" indent = 2 [tool.isort] profile = "black" [tool.mypy] exclude = [ '^neodb-takahe/', '^legacy/', '^media/', '^playground/', '^catalog/*/tests.py', '^journal/tests.py', '^neodb/', '.*migrations.*', '.*sites/douban_.*', ] plugins = ["mypy_django_plugin.main"] [tool.django-stubs] django_settings_module = "boofilsic.settings" [tool.ruff] exclude = [ "neodb-takahe/*", "media", ".venv", ".git", "playground", "neodb", ] lint.ignore = ["F403", "F405"] lint.extend-select = ["I"] [tool.setuptools] py-modules = []