[project] name = "medax-pipeline" version = "1.0.1" description = "An ETL pipeline to transfer FHIR data into a graph database" authors = [ "Ilya Mazien", "Tom Gebhardt", "Lea Michaelis", "Ron Henkel", "Benjamin Winter", "Dagmar Waltemath", "Judith Wodke" ] license = "MIT" readme = "README.md" requires-python = ">=3.10" classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "Operating System :: OS Independent", "Programming Language :: Python", "Natural Language :: English", "Topic :: Scientific/Engineering :: Medical-Informatics", ] dependencies = [ "pyyaml>=5.0", "biocypher>=0.16.0,<1.0.0", "more-itertools", "appdirs", "treelib==1.6.4", "rdflib>=6.2.0,<7.0.0", "networkx>=3.0,<4.0", "stringcase>=1.2.0,<2.0.0", "neo4j-utils==0.0.7", "pandas>=2.0.1,<3.0.0", "pooch>=1.7.0,<2.0.0", "tqdm>=4.65.0,<5.0.0", "requests>=2.31.0,<3.0.0", "python-dotenv>=1.0.0,<2.0.0", "beautifulsoup4>=4.12.3,<5.0.0", "lxml>=5.1.0,<6.0.0", ] [project.urls] Homepage = "https://www.medizin.uni-greifswald.de/medizininformatik/research/current-projects/medax/" Repository = "https://git.uni-greifswald.de/MILA_public/medax_pipeline" # biocypher is pulled from a feature branch via uv's source override [tool.uv.sources] #biocypher = { git = "https://github.com/biocypher/biocypher.git", branch = "feat/dynamic-node-property-headers" } #enable this to test the feature branch again [tool.uv] package = false # Dev dependencies (PEP 735 dependency groups, natively understood by uv) [dependency-groups] dev = [ "sphinx>=5.0.0", "sphinx-design>=0.3.0,<0.4.0", "sphinx-rtd-theme>=1.0.0", "sphinx-last-updated-by-git>=0.3", "sphinx-autodoc-typehints>=1.18.0", "myst-parser>=0.18.0,<0.19.0", "yapf>=0.32.0,<0.33.0", "pytest>=6.0", "tox>=3.20.1", "pre-commit>=2.17.0", "bump2version", "coverage>=6.0", "pytest-cov>=3.0.0,<4.0.0", "hypothesis>=6.50.1,<7.0.0", "isort>=5.10.1,<6.0.0", "ipython>=8.7.0,<9.0.0", "ipykernel>=6.23.1,<7.0.0", "sphinxext-opengraph>=0.8.2,<0.9.0", "coverage-badge>=1.1.0,<2.0.0", "nbsphinx>=0.9.2,<0.10.0", "black>=23.9.1,<24.0.0", "flake8>=6.1.0,<7.0.0", ] # --- Tool configs below are build-tool-agnostic and carried over unchanged --- [tool.pytest.ini_options] testpaths = ["tests"] addopts = "--ignore=mdm2neo4j" log_cli = true log_level = "INFO" markers = [ "requires_neo4j: Requires connection to a Neo4j server", "requires_postgresql: Requires connection to a PostgreSQL server", "inject_driver_args(driver_args): Arguments for the Driver", ] [tool.black] line-length = 80 target-version = ['py310'] include = '\.pyi?$' exclude = ''' ( /( \.eggs | \.git | \.hg | \.mypy_cache | \.tox | \.venv | _build | buck-out | build | dist )/ ) ''' [tool.isort] from_first = true line_length = 80 multi_line_output = 3 include_trailing_comma = true use_parentheses = true known_num = "numpy,pandas" sections = "FUTURE,STDLIB,THIRDPARTY,NUM,FIRSTPARTY,LOCALFOLDER" no_lines_before = "LOCALFOLDER" balanced_wrapping = true force_grid_wrap = 0 length_sort = "1" indent = " " profile = "black" [tool.flake8] ignore = ["E203", "D200", "D202", "D401", "D105", "W504"] per-file-ignores = [ "docs/source/conf.py:D100", "tests/*:D100,D101,D102", "*/__init__.py:F401", ] max-line-length = 80 count = true