[tool.poetry] name = "django-cqrs" version = "27.0.0" description = "Django CQRS data synchronisation" authors = ["CloudBlue LLC"] license = "Apache-2.0" packages = [ { include = "dj_cqrs" } ] readme = "./README.md" homepage = "https://django-cqrs.readthedocs.org" repository = "https://github.com/cloudblue/django-cqrs" classifiers = [ 'Development Status :: 5 - Production/Stable', 'Framework :: Django :: 3.2', 'Framework :: Django :: 4.0', 'Framework :: Django :: 4.1', 'Framework :: Django :: 4.2', 'Intended Audience :: Developers', 'License :: OSI Approved :: Apache Software License', 'Operating System :: Unix', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11', 'Topic :: Communications', 'Topic :: Database', ] keywords = [ "django", "cqrs", "sql", "mixin", "amqp", ] [tool.poetry.dependencies] python = ">=3.8,<4" django = ">=3.2" pika = ">=1.0.0" kombu = ">=4.6.*" ujson = ">=5.4.0" django-model-utils = ">=4.0.0" python-dateutil = ">=2.4" watchfiles = "^0.18.1" [tool.poetry.group.test.dependencies] black = ">=23.3" pytest = ">=7.2.0,<8" pytest-cov = ">=2.10.1,<5" pytest-mock = "^3.10" pytest-django = ">=4.4.0" pytest-randomly = ">=3.12" pytest-deadfixtures = "^2.2.1" coverage = {extras = ["toml"], version = ">=5.3,<7"} flake8 = ">=3.8,<6" flake8-black = ">=0.3" flake8-bugbear = ">=20,<23" flake8-cognitive-complexity = "^0.1" flake8-commas = "~2.1" flake8-future-import = "~0.4" flake8-isort = "^6.0" flake8-broken-line = ">=0.3,<0.7" flake8-comprehensions = "^3.10.1" flake8-debugger = "^4.1.2" flake8-eradicate = "^1.4.0" flake8-string-format = "^0.3.0" flake8-pyproject = "^1.2.3" djangorestframework = ">=3.12" isort = "^5.10" django-mptt = "^0.14.0" importlib-metadata = "<5" [tool.poetry.group.docs.dependencies] mkdocs = ">=1.4" mkdocs-material = ">=9" mkdocs-glightbox = "^0.3.1" mkdocs-macros-plugin = "^0.7.0" mkdocstrings = ">=0.19.1" mkdocstrings-python = "^0.8.3" [tool.pytest.ini_options] testpaths = ["tests"] log_cli = false 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" junit_family = "xunit2" python_files = "test_*.py" DJANGO_SETTINGS_MODULE = "tests.dj.settings" django_find_project = false pythonpath = [".", "src"] [tool.coverage.xml] output = "tests/reports/coverage.xml" [tool.isort] src_paths = ["*", "./examples/demo_project/replica_service/app"] sections = ["FUTURE", "STDLIB", "THIRDPARTY", "FIRSTPARTY", "LOCALFOLDER"] group_by_package = true multi_line_output = 3 force_grid_wrap = 4 combine_as_imports = true use_parentheses = true include_trailing_comma = true line_length = 100 lines_after_imports = 2 [build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api" [tool.flake8] exclude = [ ".idea", ".vscode", ".git", "pg_data", "venv", "*.eggs", "*.egg", "*.egg-info", "examples/*migrations/*", ] show-source = true max-line-length = 100 max-cognitive-complexity = 20 select = "B" ignore = ["FI1", "W503", "W605"] [tool.black] line_length = 100 skip-string-normalization = true