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.

148 lines
3.2 KiB

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. [tool.poetry.dev-dependencies]
  61. model-mommy = "^2.0.0"
  62. coverage = "^6.3.1"
  63. flake8 = "^4.0.1"
  64. isort = {extras = ["pyproject"], version = "^5.10.1"}
  65. autopep8 = "^1.6.0"
  66. mypy = "^0.931"
  67. watchdog = "^2.1.6"
  68. black = "^22.1.0"
  69. pyproject-flake8 = "^0.0.1-alpha.2"
  70. types-chardet = "^4.0.3"
  71. types-requests = "^2.27.10"
  72. types-waitress = "^2.0.6"
  73. taskipy = "^1.10.1"
  74. unittest-xml-reporting = "^3.2.0"
  75. [build-system]
  76. requires = ["poetry-core>=1.0.0", "poetry-dynamic-versioning"]
  77. build-backend = "poetry.core.masonry.api"
  78. [tool.poetry-dynamic-versioning]
  79. enable = true
  80. [tool.black]
  81. line-length = 120
  82. target-version = ['py37', 'py38']
  83. include = '\.pyi?$'
  84. [tool.flake8]
  85. max-line-length = 120
  86. max-complexity = 18
  87. ignore = "E203,E266,W503,"
  88. filename = "*.py"
  89. [tool.mypy]
  90. python_version = "3.8"
  91. ignore_missing_imports = true
  92. show_error_codes = true
  93. exclude = [
  94. "migrations",
  95. "config",
  96. ]
  97. [tool.isort]
  98. profile = "black"
  99. include_trailing_comma = true
  100. multi_line_output = 3
  101. known_first_party = [
  102. "api",
  103. "auto_labeling",
  104. "config",
  105. "data_export",
  106. "data_import",
  107. "examples",
  108. "label_types",
  109. "labels",
  110. "metrics",
  111. "projects",
  112. "roles",
  113. "users"
  114. ]
  115. known_local_folder = [
  116. "api",
  117. "auto_labeling",
  118. "config",
  119. "data_export",
  120. "data_import",
  121. "examples",
  122. "label_types",
  123. "labels",
  124. "metrics",
  125. "projects",
  126. "roles",
  127. "users"
  128. ]
  129. [tool.taskipy.tasks]
  130. isort = "isort . -c --skip migrations"
  131. flake8 = "pflake8 --filename \"*.py\" --extend-exclude \"*/migrations\""
  132. black = "black --check ."
  133. mypy = "mypy --namespace-packages --explicit-package-bases ."
  134. wait_for_db = "python manage.py wait_for_db"
  135. test = "python manage.py test --pattern=\"test*.py\""
  136. migrate = "python manage.py migrate"
  137. collectstatic = "python manage.py collectstatic --noinput"