Skip to content
Snippets Groups Projects
pyproject.toml 2.29 KiB
Newer Older
[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"
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
Authlib = "^1.0.0"
cryptography = "^36.0.2"
databases = {extras = ["mysql", "sqlite"], version = "^0.5.5"}
fastapi = "^0.75.0"
gunicorn = "^20.1.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" }
]