pyproject.toml 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. [tool.poetry]
  2. name = "django-cqrs"
  3. version = "27.0.0"
  4. description = "Django CQRS data synchronisation"
  5. authors = ["CloudBlue LLC"]
  6. license = "Apache-2.0"
  7. packages = [
  8. { include = "dj_cqrs" }
  9. ]
  10. readme = "./README.md"
  11. homepage = "https://django-cqrs.readthedocs.org"
  12. repository = "https://github.com/cloudblue/django-cqrs"
  13. classifiers = [
  14. 'Development Status :: 5 - Production/Stable',
  15. 'Framework :: Django :: 3.2',
  16. 'Framework :: Django :: 4.0',
  17. 'Framework :: Django :: 4.1',
  18. 'Framework :: Django :: 4.2',
  19. 'Intended Audience :: Developers',
  20. 'License :: OSI Approved :: Apache Software License',
  21. 'Operating System :: Unix',
  22. 'Programming Language :: Python :: 3.8',
  23. 'Programming Language :: Python :: 3.9',
  24. 'Programming Language :: Python :: 3.10',
  25. 'Programming Language :: Python :: 3.11',
  26. 'Topic :: Communications',
  27. 'Topic :: Database',
  28. ]
  29. keywords = [
  30. "django",
  31. "cqrs",
  32. "sql",
  33. "mixin",
  34. "amqp",
  35. ]
  36. [tool.poetry.dependencies]
  37. python = ">=3.8,<4"
  38. django = ">=3.2"
  39. pika = ">=1.0.0"
  40. kombu = ">=4.6.*"
  41. ujson = ">=5.4.0"
  42. django-model-utils = ">=4.0.0"
  43. python-dateutil = ">=2.4"
  44. watchfiles = "^0.18.1"
  45. [tool.poetry.group.test.dependencies]
  46. black = ">=23.3"
  47. pytest = ">=7.2.0,<8"
  48. pytest-cov = ">=2.10.1,<5"
  49. pytest-mock = "^3.10"
  50. pytest-django = ">=4.4.0"
  51. pytest-randomly = ">=3.12"
  52. pytest-deadfixtures = "^2.2.1"
  53. coverage = {extras = ["toml"], version = ">=5.3,<7"}
  54. flake8 = ">=3.8,<6"
  55. flake8-black = ">=0.3"
  56. flake8-bugbear = ">=20,<23"
  57. flake8-cognitive-complexity = "^0.1"
  58. flake8-commas = "~2.1"
  59. flake8-future-import = "~0.4"
  60. flake8-isort = "^6.0"
  61. flake8-broken-line = ">=0.3,<0.7"
  62. flake8-comprehensions = "^3.10.1"
  63. flake8-debugger = "^4.1.2"
  64. flake8-eradicate = "^1.4.0"
  65. flake8-string-format = "^0.3.0"
  66. flake8-pyproject = "^1.2.3"
  67. djangorestframework = ">=3.12"
  68. isort = "^5.10"
  69. django-mptt = "^0.14.0"
  70. importlib-metadata = "<5"
  71. [tool.poetry.group.docs.dependencies]
  72. mkdocs = ">=1.4"
  73. mkdocs-material = ">=9"
  74. mkdocs-glightbox = "^0.3.1"
  75. mkdocs-macros-plugin = "^0.7.0"
  76. mkdocstrings = ">=0.19.1"
  77. mkdocstrings-python = "^0.8.3"
  78. [tool.pytest.ini_options]
  79. testpaths = ["tests"]
  80. log_cli = false
  81. addopts = "--ignore=integration_tests/ -p no:cacheprovider --reuse-db --nomigrations --junitxml=tests/reports/out.xml --cov=dj_cqrs --cov-report xml:tests/reports/coverage.xml"
  82. junit_family = "xunit2"
  83. python_files = "test_*.py"
  84. DJANGO_SETTINGS_MODULE = "tests.dj.settings"
  85. django_find_project = false
  86. pythonpath = [".", "src"]
  87. [tool.coverage.xml]
  88. output = "tests/reports/coverage.xml"
  89. [tool.isort]
  90. src_paths = ["*", "./examples/demo_project/replica_service/app"]
  91. sections = ["FUTURE", "STDLIB", "THIRDPARTY", "FIRSTPARTY", "LOCALFOLDER"]
  92. group_by_package = true
  93. multi_line_output = 3
  94. force_grid_wrap = 4
  95. combine_as_imports = true
  96. use_parentheses = true
  97. include_trailing_comma = true
  98. line_length = 100
  99. lines_after_imports = 2
  100. [build-system]
  101. requires = ["poetry-core>=1.0.0"]
  102. build-backend = "poetry.core.masonry.api"
  103. [tool.flake8]
  104. exclude = [
  105. ".idea",
  106. ".vscode",
  107. ".git",
  108. "pg_data",
  109. "venv",
  110. "*.eggs",
  111. "*.egg",
  112. "*.egg-info",
  113. "examples/*migrations/*",
  114. ]
  115. show-source = true
  116. max-line-length = 100
  117. max-cognitive-complexity = 20
  118. select = "B"
  119. ignore = ["FI1", "W503", "W605"]
  120. [tool.black]
  121. line_length = 100
  122. skip-string-normalization = true