mirror of
https://github.com/fhswf/aki_prj23_transparenzregister.git
synced 2025-04-22 23:52:28 +02:00
- added a Dockerfile for the thre containers - added a workflow step to build and placing the container in the registry - added a docker-compose.yaml to use the build images - added a docker compose to build the images locally and a script for prebuild steps
149 lines
4.0 KiB
TOML
149 lines
4.0 KiB
TOML
[build-system]
|
|
build-backend = "poetry.core.masonry.api"
|
|
requires = ["poetry-core"]
|
|
|
|
[tool.black]
|
|
target-version = ["py311"]
|
|
|
|
[tool.coverage.report]
|
|
exclude_also = ["if __name__ == .__main__.:", "if not isinstance(engine, Engine):"]
|
|
|
|
[tool.coverage.run]
|
|
branch = true
|
|
dynamic_context = "test_function"
|
|
relative_files = true
|
|
source = ["src"]
|
|
|
|
[tool.mypy]
|
|
disallow_untyped_defs = true
|
|
exclude = ["\\.ipynb_checkpoints", "\\.mypy_cache", "\\.mytest_cache", "build", "venv", "\\.venv", "Jupyter"]
|
|
follow_imports = "silent"
|
|
ignore_missing_imports = true
|
|
install_types = true
|
|
non_interactive = true
|
|
plugins = ["sqlalchemy.ext.mypy.plugin"]
|
|
python_version = "3.11"
|
|
warn_redundant_casts = true
|
|
warn_unused_ignores = false
|
|
|
|
[tool.poetry]
|
|
authors = ["AKI Projektgruppe 23"]
|
|
description = "A project analysing the german transparenzregister and other data sources to find shared business interests and shared personal and other links for lots of companies."
|
|
name = "aki-prj23-transparenzregister"
|
|
packages = [{include = "aki_prj23_transparenzregister", from = "src"}]
|
|
readme = "README.md"
|
|
version = "0.1.0"
|
|
|
|
[tool.poetry.dependencies]
|
|
aenum = "^3.1.15"
|
|
SQLAlchemy = "^1.4.49"
|
|
cachetools = "^5.3.1"
|
|
dash = "^2.13.0"
|
|
dash-auth = "^2.0.0"
|
|
dash-bootstrap-components = "^1.5.0"
|
|
deutschland = {git = "https://github.com/TrisNol/deutschland.git", branch = "hotfix/python-3.11-support"}
|
|
loguru = "^0.7.0"
|
|
matplotlib = "^3.7.2"
|
|
psycopg2-binary = "^2.9.7"
|
|
pymongo = "^4.5.0"
|
|
python = "^3.11"
|
|
python-dotenv = "^1.0.0"
|
|
seaborn = "^0.12.2"
|
|
selenium = "^4.12.0"
|
|
tqdm = "^4.66.1"
|
|
xmltodict = "^0.13.0"
|
|
|
|
[tool.poetry.extras]
|
|
ingest = ["selenium", "deutschland"]
|
|
processing = []
|
|
web-server = ["dash", "dash-auth", "dash-bootstrap-components", "matplotlib", "seaborn"]
|
|
|
|
[tool.poetry.group.develop.dependencies]
|
|
black = {extras = ["jupyter"], version = "^23.9.1"}
|
|
jupyterlab = "^4.0.6"
|
|
nbconvert = "^7.8.0"
|
|
openpyxl = "^3.1.2"
|
|
pre-commit = "^3.4.0"
|
|
rise = "^5.7.1"
|
|
|
|
[tool.poetry.group.doc.dependencies]
|
|
jupyter = "^1.0.0"
|
|
myst-parser = "^1.0.0"
|
|
nbsphinx = "^0.9.2"
|
|
sphinx = "*"
|
|
sphinx-copybutton = "^0.5.2"
|
|
sphinx-notfound-page = "^1.0.0"
|
|
sphinx-rtd-theme = "^1.3.0"
|
|
sphinx_autodoc_typehints = "*"
|
|
sphinxcontrib-mermaid = "^0.9.2"
|
|
sphinxcontrib-napoleon = "^0.7"
|
|
|
|
[tool.poetry.group.lint.dependencies]
|
|
SQLAlchemy = {version = "^1.4.46", extras = ["mypy"]}
|
|
black = "^23.9.1"
|
|
loguru-mypy = "^0.0.4"
|
|
mypy = "^1.5.1"
|
|
pandas-stubs = "^2.0.3.230814"
|
|
pip-audit = "^2.6.1"
|
|
pip-licenses = "^4.3.2"
|
|
ruff = "^0.0.291"
|
|
types-cachetools = "^5.3.0.6"
|
|
types-pyOpenSSL = "*"
|
|
types-requests = "^2.31.0.2"
|
|
types-setuptools = "*"
|
|
types-tqdm = "^4.66.0.2"
|
|
|
|
[tool.poetry.group.test.dependencies]
|
|
pytest = "^7.4.2"
|
|
pytest-clarity = "^1.0.1"
|
|
pytest-cov = "^4.1.0"
|
|
pytest-mock = "^3.11.1"
|
|
pytest-repeat = "^0.9.1"
|
|
|
|
[tool.poetry.scripts]
|
|
copy-sql = "aki_prj23_transparenzregister.utils.sql.copy_sql:copy_db_cli"
|
|
data-transfer = {reference = "aki_prj23_transparenzregister.utils.data_transfer:transfer_data", extras = ["processing"], type = "console"}
|
|
reset-sql = {reference = "aki_prj23_transparenzregister.utils.sql.connector:reset_all_tables", extras = ["processing"], type = "console"}
|
|
|
|
[tool.ruff]
|
|
exclude = [
|
|
".bzr",
|
|
".direnv",
|
|
".eggs",
|
|
".git",
|
|
".git-rewrite",
|
|
".hg",
|
|
".mypy_cache",
|
|
".nox",
|
|
".pants.d",
|
|
".pytype",
|
|
".ruff_cache",
|
|
".svn",
|
|
".tox",
|
|
".venv",
|
|
"__pypackages__",
|
|
"_build",
|
|
"buck-out",
|
|
"build",
|
|
"dist",
|
|
"node_modules",
|
|
"venv"
|
|
]
|
|
# Never enforce `E501` (line length violations).
|
|
ignore = ["E501", "D105"]
|
|
line-length = 88
|
|
# Enable flake8-bugbear (`B`) rules.
|
|
select = ["E", "F", "B", "I", "S", "RSE", "RET", "SLF", "SIM", "TID", "PD", "PL", "PLE", "PLR", "PLW", "NPY", "UP", "D", "N", "A", "C4", "T20", "PT"]
|
|
src = ["src"]
|
|
target-version = "py311"
|
|
unfixable = ["B"]
|
|
|
|
[tool.ruff.flake8-builtins]
|
|
builtins-ignorelist = ["id"]
|
|
|
|
[tool.ruff.per-file-ignores]
|
|
"tests/*.py" = ["S101", "SLF001", "S311", "D103", "PLR0913"]
|
|
|
|
[tool.ruff.pydocstyle]
|
|
convention = "google"
|