migraf/fhir-kindling

View on GitHub
pyproject.toml

Summary

Maintainability
Test Coverage
[tool.poetry]
name = "fhir-kindling"
version = "1.0.3"
description = "Python library to simplify working with FHIR servers and resources."
authors = ["Michael Graf <michael.graf3110@gmail.com>"]
# todo add changelog when multiple readme bug is fixed
readme = "README.md"
packages = [{ include = "fhir_kindling" }]
homepage = "https://migraf.github.io/fhir-kindling/"
repository = "https://github.com/migraf/fhir-kindling"
license = "MIT"
classifiers = [
    "Development Status :: 4 - Beta",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: MIT License",
    "Natural Language :: English",
    "Programming Language :: Python :: 3.8",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
]
keywords = [
    "python",
    "fhir",
    "hl7",
    "client",
    "medical records",
    "healthcare",
    "data",
]


[tool.poetry.dependencies]
python = "^3.8"
"fhir.resources" = "^6.0.0"
tqdm = "*"
orjson = "*"
xmltodict = "*"
pydantic = "^1.10.0"
networkx = "*"
httpx = "*"
pandas = { version = "*", optional = true }
plotly = { version = "*", optional = true }
faker = { version = "*", optional = true }
matplotlib = { version = "*", optional = true }
notebook = { version = "*", optional = true }
RISE = { version = "*", optional = true }
ipywidgets = { version = "*", optional = true }
kaleido  = { version = "0.2.1", optional = true }



[tool.poetry.extras]
ds = ["pandas", "plotly", "faker", "matplotlib", "kaleido"]
demo = ["pandas", "plotly", "faker", "matplotlib", "notebook", "RISE", "ipywidgets", "kaleido"]


[tool.poetry.group.dev.dependencies]
pytest = "^7.2.0"
pytest-cov = "*"
coverage = "*"
tox = "*"
mkdocs = "*"
mkdocs-material = "*"
mkdocstrings = { extras = ["python-legacy"], version = "*" }
pytest-asyncio = "*"
rise = "*"
python-dotenv = "*"
black = "*"
ruff = "*"
pre-commit = "*"
poethepoet = "^0.21.1"


[tool.poe.tasks]
test = "pytest"
test-lf = "pytest --lf"
test-cov = "pytest --cov=fhir_kindling fhir_kindling/"
cov-xml = "coverage xml"
lint  = "ruff . --fix"
format = "black ."


[tool.ruff]
line-length = 120


# Enable Pyflakes `E` and `F` codes by default.
select = ["E", "F", "I001", "C90", "I002"]
ignore = []
per-file-ignores = { "**/__init__.py" = ["F401"] }

# Exclude a variety of commonly ignored directories.
exclude = [
    ".bzr",
    ".direnv",
    ".eggs",
    ".git",
    ".hg",
    ".mypy_cache",
    ".nox",
    ".pants.d",
    ".ruff_cache",
    ".svn",
    ".tox",
    ".venv",
    "__pypackages__",
    "_build",
    "buck-out",
    "build",
    "dist",
    "node_modules",
    "venv",
]

# Allow unused variables when underscore-prefixed.
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"

# Assume Python 3.10.
target-version = "py311"

[tool.ruff.mccabe]
# Unlike Flake8, default to a complexity level of 10.
max-complexity = 10


[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"