[build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api" [tool.poetry] name = "geomag-algorithms" authors = ["HazDev Team <gs-haz_dev_team_group@usgs.gov>"] description = "USGS Geomag Algorithms Library" homepage="https://code.usgs.gov/ghsc/geomag/geomag-algorithms" include = [ "LICENSE.md" ] keywords = ["usgs", "geomag", "geomagnetism"] license = "CC0-1.0" packages = [ {include = "geomagio" } ] repository="https://code.usgs.gov/ghsc/geomag/geomag-algorithms" version = "1.5.3" [tool.poetry.dependencies] python = "^3.8,<3.11" # core numpy = "^1.22.3" obspy = "^1.3.0" openpyxl = "^3.0.9" pycurl = {version = "^7.45.1", optional = true} pydantic = "^1.9.0" requests = "^2.27.1" scipy = "^1.8.0" typer = "^0.4.0" # webservice alembic = "^1.8.0" Authlib = "^1.0.0" cryptography = "^36.0.2" databases = {extras = ["mysql", "sqlite"], version = "^0.5.5"} fastapi = "^0.75.0" gunicorn = "^20.1.0" httpx = "0.22.0" SQLAlchemy = "^1.4.32" SQLAlchemy-Utc = "^0.14.0" uvicorn = {extras = ["standard"], version = "^0.17.6"} [tool.poetry.dev-dependencies] black = "^22.1.0" isort = "^5.10.1" mypy = "^0.941" poethepoet = "^0.16.0" pytest = "^6.2.4" pytest-cov = "^2.12.1" safety = "^1.10.3" # type hints data-science-types = "^0.2.23" openpyxl-stubs = "^0.1.19" sqlalchemy-stubs = "^0.4" types-python-dateutil = "^0.1.6" types-requests = "^2.25.6" [tool.poetry.extras] pycurl = ["pycurl"] [tool.poetry.scripts] generate-matrix = "geomagio.processing.affine_matrix:main" geomag-efield = "geomagio.processing.efield:main" geomag-metadata = "geomagio.metadata.main:main" geomag-monitor = "geomagio.processing.monitor:main" geomag-py = "geomagio.Controller:main" magproc-prepfiles = "geomagio.processing.magproc:main" make-cal = "geomagio.processing.make_cal:main" geomag-filter = "geomagio.processing.filters:main" copy-absolutes = "geomagio.processing.copy_absolutes:main" [tool.poe.tasks] # e.g. "poetry run poe lint" audit = [ { shell = "safety check"} ] lint = [ { shell = "black --check ." }, # TODO: fix isort warnings then enable this check # { shell = "isort --check ." }, # TODO: fix mypy warnings then enable this check # { shell = "mypy ." } ] test = [ { shell = "pytest --cov=geomagio --junitxml junit.xml test" }, { shell = "coverage html" }, { shell = "coverage xml" } ]