[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):", "@overload"] [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"] classifiers = [] description = "Data Integration, Extraction, and Visualization using Text Mining and AI to reveal valuable insights, hidden patterns, and gain a deeper understanding of the business landscape of german companies." documentation = "https://cuddly-waffle-r416zgy.pages.github.io/" homepage = "https://cuddly-waffle-r416zgy.pages.github.io/" keywords = ["deutschland", "economy", "transparenzregister", "dataintegration", "handelsregister"] maintainers = [ "Philipp Horstenkamp ", "Tristan Nolde ", "Sebastian Zeleny ", "Kim Mesewinkel-Risse", "Tim Ronneburg", "Sascha Zhu " ] name = "aki-prj23-transparenzregister" packages = [{include = "aki_prj23_transparenzregister", from = "src"}] readme = "README.md" repository = "https://github.com/fhswf/aki_prj23_transparenzregister" version = "0.1.0" [tool.poetry.dependencies] SQLAlchemy = "^1.4.50" aenum = "^3.1.15" babel = "^2.13.1" cachetools = "^5.3.1" dash = "^2.14.1" dash-auth = "^2.0.0" dash-bootstrap-components = "^1.5.0" dash-daq = "^0.5.0" deutschland = {git = "https://github.com/TrisNol/deutschland.git", branch = "hotfix/python-3.11-support"} flask-compress = "^1.14" frozendict = "^2.3.9" html5lib = "^1.1" loguru = "^0.7.0" networkx = "^3.2.1" pandas = "^2.1.4" pandoc = "^2.3" pgeocode = "^0.4.1" psycopg2-binary = "^2.9.7" pymongo = "^4.6.0" python = ">=3.11,<3.13" python-dotenv = "^1.0.0" rapidfuzz = "^3.5.2" schedule = "^1.2.1" scipy = "^1.11.4" selenium = "^4.15.2" spacy = "^3.6.1" spacy-sentiws = "^3.0.0" torch = {version = "*", source = "torch-cpu"} tqdm = "^4.66.1" transformers = {version = "*", extras = ["torch"]} xmltodict = "^0.13.0" [tool.poetry.extras] ingest = ["selenium", "deutschland", "xmltodict", "html5lib"] transformation = ["torch", "transformers", "spacy-sentiws", "spacy", "pgeocode"] web-server = ["dash", "dash-auth", "dash-bootstrap-components", "networkx", "dash-daq"] [tool.poetry.group.develop.dependencies] black = {extras = ["jupyter"], version = "^23.11.0"} dash_cytoscape = "^0.3.0" dashvis = "*" jupyterlab = "^4.0.9" matplotlib = "^3.8.2" nbconvert = "^7.11.0" openpyxl = "^3.1.2" pre-commit = "^3.4.0" pyabsa = "^2.4.0" rise = "^5.7.1" seaborn = "^0.13.0" [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-git = "^11.0.0" sphinx-notfound-page = "^1.0.0" sphinx-rtd-theme = "^1.3.0" sphinx_autodoc_typehints = "*" sphinxcontrib-drawio = "^0.0.17" sphinxcontrib-mermaid = "^0.9.2" sphinxcontrib-napoleon = "^0.7" [tool.poetry.group.lint.dependencies] SQLAlchemy = {version = "*", extras = ["mypy"]} black = "*" loguru-mypy = "*" mypy = "*" networkx-stubs = "*" pandas-stubs = "*" pip-audit = "*" pip-licenses = "*" ruff = "*" types-cachetools = "*" types-decorator = "*" types-pyOpenSSL = "*" types-requests = "*" types-setuptools = "*" types-six = "*" types-tabulate = "*" types-tqdm = "*" types-urllib3 = "*" [tool.poetry.group.test.dependencies] pytest = "^7.4.2" pytest-clarity = "^1.0.1" pytest-cov = "^4.1.0" pytest-mock = "^3.12.0" pytest-repeat = "^0.9.1" [tool.poetry.scripts] copy-sql = "aki_prj23_transparenzregister.utils.sql.copy_sql:copy_db_cli" data-processing = "aki_prj23_transparenzregister.utils.data_processing:cli" data-transformation = "aki_prj23_transparenzregister.utils.data_transfer:transfer_data_cli" fetch-news-schedule = "aki_prj23_transparenzregister.apps.fetch_news:cli" find-missing-companies = "aki_prj23_transparenzregister.apps.find_missing_companies:cli" ingest = "aki_prj23_transparenzregister.apps.ingest:cli" reset-sql = "aki_prj23_transparenzregister.utils.sql.reset_sql:cli" webserver = "aki_prj23_transparenzregister.ui.app:main" [[tool.poetry.source]] name = "torch-cpu" priority = "explicit" url = "https://download.pytorch.org/whl/cpu" [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"