[tool.poetry] name = "doccano" version = "1.8.3" description = "doccano, text annotation tool for machine learning practitioners" authors = ["Hironsan "] license = "MIT" readme = "README.md" homepage = "https://doccano.github.io/doccano/" repository = "https://github.com/doccano/doccano" documentation = "https://doccano.github.io/doccano/" classifiers = [ "Programming Language :: Python", "Programming Language :: Python :: 3.8", ] packages = [ { include = "backend", from = ".." }, ] include = [ "backend/client/dist/**/*", "backend/staticfiles/**/*" ] exclude = [ "backend/filepond-temp-uploads", "backend/media", "backend/db.sqlite3*", "backend/poetry.lock" ] [tool.poetry.extras] mssql = ["django-mssql-backend"] postgresql = ["psycopg2-binary"] [tool.poetry.scripts] doccano = 'backend.cli:main' [tool.poetry.dependencies] python = "^3.8" Django = "^4.1.7" environs = "^9.5.0" furl = "^2.1.3" djangorestframework = "^3.14.0" django-filter = "^22.1" django-polymorphic = "^3.1.0" django-cors-headers = "^3.13.0" drf-yasg = "^1.21.5" django-rest-polymorphic = "^0.1.9" chardet = "^4.0.0" pyexcel = "^0.7.0" seqeval = "^1.2.2" whitenoise = "^6.0.0" dj-database-url = "^0.5.0" pyexcel-xlsx = "^0.6.0" gunicorn = "^20.1.0" auto-labeling-pipeline = "^0.1.21" dj-rest-auth = {extras = ["with_social"], version = "^2.2.5"} django-drf-filepond = "^0.5.0" celery = "^5.2.3" django-celery-results = "2.4.0" SQLAlchemy = "^1.4.31" waitress = "^2.0.0" django-health-check = "^3.16.5" djangorestframework-xml = "^2.0.0" django-storages = {extras = ["google"], version = "^1.13.1"} django-cleanup = "^6.0.0" filetype = "^1.0.10" pandas = "^1.4.2" flower = "^1.2.0" django-allauth = "^0.52.0" [tool.poetry.dev-dependencies] model-mommy = "^2.0.0" coverage = "^6.3.1" flake8 = "^4.0.1" isort = {extras = ["pyproject"], version = "^5.10.1"} autopep8 = "^1.6.0" mypy = "^0.931" watchdog = "^2.1.6" black = "^22.1.0" pyproject-flake8 = "^0.0.1-alpha.2" types-chardet = "^4.0.3" types-requests = "^2.27.10" types-waitress = "^2.0.6" taskipy = "^1.10.1" unittest-xml-reporting = "^3.2.0" [build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api" [tool.poetry-dynamic-versioning] enable = false [tool.black] line-length = 120 target-version = ['py37', 'py38'] include = '\.pyi?$' [tool.flake8] max-line-length = 120 max-complexity = 18 ignore = "E203,E266,W503," filename = "*.py" [tool.mypy] python_version = "3.8" ignore_missing_imports = true show_error_codes = true exclude = [ "migrations", "config", ] [tool.isort] profile = "black" include_trailing_comma = true multi_line_output = 3 known_first_party = [ "api", "auto_labeling", "config", "data_export", "data_import", "examples", "label_types", "labels", "metrics", "projects", "roles", "users", "social" ] known_local_folder = [ "api", "auto_labeling", "config", "data_export", "data_import", "examples", "label_types", "labels", "metrics", "projects", "roles", "users", "social" ] [tool.taskipy.tasks] isort = "isort . -c --skip migrations" flake8 = "pflake8 --filename \"*.py\" --extend-exclude \"*/migrations\"" black = "black --check ." mypy = "mypy --namespace-packages --explicit-package-bases ." wait_for_db = "python manage.py wait_for_db" test = "python manage.py test --pattern=\"test*.py\"" migrate = "python manage.py migrate" collectstatic = "python manage.py collectstatic --noinput"