You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

150 lines
3.3 KiB

2 years ago
2 years ago
  1. [tool.poetry]
  2. name = "doccano"
  3. version = "0.0.0"
  4. description = "doccano, text annotation tool for machine learning practitioners"
  5. authors = ["Hironsan <hiroki.nakayama.py@gmail.com>"]
  6. license = "MIT"
  7. readme = "README.md"
  8. homepage = "https://doccano.github.io/doccano/"
  9. repository = "https://github.com/doccano/doccano"
  10. documentation = "https://doccano.github.io/doccano/"
  11. classifiers = [
  12. "Programming Language :: Python",
  13. "Programming Language :: Python :: 3.8",
  14. ]
  15. packages = [
  16. { include = "backend", from = ".." },
  17. ]
  18. include = [
  19. "client/dist/**/*",
  20. "staticfiles/**/*"
  21. ]
  22. exclude = [
  23. "filepond-temp-uploads",
  24. "media",
  25. "db.sqlite3*",
  26. "poetry.lock"
  27. ]
  28. [tool.poetry.extras]
  29. mssql = ["django-mssql-backend"]
  30. postgresql = ["psycopg2-binary"]
  31. [tool.poetry.scripts]
  32. doccano = 'backend.cli:main'
  33. [tool.poetry.dependencies]
  34. python = "^3.8"
  35. Django = "^4.0.2"
  36. environs = "^9.5.0"
  37. furl = "^2.1.3"
  38. djangorestframework = "^3.13.1"
  39. django-filter = "^21.1"
  40. django-polymorphic = "^3.1.0"
  41. django-cors-headers = "^3.11.0"
  42. drf-yasg = "^1.20.0"
  43. django-rest-polymorphic = "^0.1.9"
  44. chardet = "^4.0.0"
  45. pyexcel = "^0.7.0"
  46. seqeval = "^1.2.2"
  47. whitenoise = "^6.0.0"
  48. dj-database-url = "^0.5.0"
  49. pyexcel-xlsx = "^0.6.0"
  50. gunicorn = "^20.1.0"
  51. auto-labeling-pipeline = "^0.1.21"
  52. dj-rest-auth = "^2.2.3"
  53. django-drf-filepond = "^0.4.1"
  54. celery = "^5.2.3"
  55. django-celery-results = "2.2.0"
  56. SQLAlchemy = "^1.4.31"
  57. waitress = "^2.0.0"
  58. django-health-check = "^3.16.5"
  59. djangorestframework-xml = "^2.0.0"
  60. django-storages = {extras = ["google"], version = "^1.12.3"}
  61. django-cleanup = "^6.0.0"
  62. [tool.poetry.dev-dependencies]
  63. model-mommy = "^2.0.0"
  64. coverage = "^6.3.1"
  65. flake8 = "^4.0.1"
  66. isort = {extras = ["pyproject"], version = "^5.10.1"}
  67. autopep8 = "^1.6.0"
  68. mypy = "^0.931"
  69. watchdog = "^2.1.6"
  70. black = "^22.1.0"
  71. pyproject-flake8 = "^0.0.1-alpha.2"
  72. types-chardet = "^4.0.3"
  73. types-requests = "^2.27.10"
  74. types-waitress = "^2.0.6"
  75. taskipy = "^1.10.1"
  76. unittest-xml-reporting = "^3.2.0"
  77. [build-system]
  78. requires = ["poetry-core>=1.0.0", "poetry-dynamic-versioning"]
  79. build-backend = "poetry.core.masonry.api"
  80. [tool.poetry-dynamic-versioning]
  81. enable = true
  82. [tool.black]
  83. line-length = 120
  84. target-version = ['py37', 'py38']
  85. include = '\.pyi?$'
  86. [tool.flake8]
  87. max-line-length = 120
  88. max-complexity = 18
  89. ignore = "E203,E266,W503,"
  90. filename = "*.py"
  91. [tool.mypy]
  92. python_version = "3.8"
  93. ignore_missing_imports = true
  94. show_error_codes = true
  95. exclude = [
  96. "migrations",
  97. "config",
  98. ]
  99. [tool.isort]
  100. profile = "black"
  101. include_trailing_comma = true
  102. multi_line_output = 3
  103. known_first_party = [
  104. "api",
  105. "auto_labeling",
  106. "config",
  107. "data_export",
  108. "data_import",
  109. "examples",
  110. "label_types",
  111. "labels",
  112. "metrics",
  113. "projects",
  114. "roles",
  115. "users"
  116. ]
  117. known_local_folder = [
  118. "api",
  119. "auto_labeling",
  120. "config",
  121. "data_export",
  122. "data_import",
  123. "examples",
  124. "label_types",
  125. "labels",
  126. "metrics",
  127. "projects",
  128. "roles",
  129. "users"
  130. ]
  131. [tool.taskipy.tasks]
  132. isort = "isort . -c --skip migrations"
  133. flake8 = "pflake8 --filename \"*.py\" --extend-exclude \"*/migrations\""
  134. black = "black --check ."
  135. mypy = "mypy --namespace-packages --explicit-package-bases ."
  136. wait_for_db = "python manage.py wait_for_db"
  137. test = "python manage.py test --pattern=\"test*.py\""
  138. migrate = "python manage.py migrate"
  139. collectstatic = "python manage.py collectstatic --noinput"