[build-system]
requires = ["setuptools", "wheel", "oldest-supported-numpy"]

[project]
name = "pyrockoeost"
version = "2023.006"
authors = [
    {name = "The pyrockoeost Developers", email = "info@pyrocko.org"},
]
maintainers = [
    {name = "Sebastian Heimann", email = "sebastian.heimann@uni-potsdam.de"}
]
description = "A versatile seismology toolkit for Python."
readme = "README.md"
requires-python = ">=3.7"
license = {text = "GPLv3"}
keywords = [
    "seismology", "waveform analysis", "earthquake modelling", "geophysics",
    "geophysical inversion"
]
classifiers = [
    "License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
    "Development Status :: 5 - Production/Stable",
    "Intended Audience :: Science/Research",
    "Programming Language :: Python :: 2.7",
    "Programming Language :: Python :: 3",
    "Programming Language :: C",
    "Programming Language :: Python :: Implementation :: CPython",
    "Operating System :: POSIX",
    "Operating System :: MacOS",
    "Topic :: Scientific/Engineering",
    "Topic :: Scientific/Engineering :: Physics",
    "Topic :: Scientific/Engineering :: Visualization",
    "Topic :: Scientific/Engineering :: Information Analysis",
    "Topic :: Software Development :: Libraries :: Application Frameworks",
]
dependencies = [
    "numpy>=1.16",
    "scipy>=1.0",
    "pyyaml",
    "matplotlib",
    "requests",
    "PyQt5",
    "PyQtWebEngine",
    "vtk",
]

[project.urls]
homepage = "https://pyrocko.org"
documentation = "https://pyrocko.org/docs"
repository = "https://git.pyrocko.org"
changelog = "https://git.pyrocko.org/pyrocko/pyrocko/src/branch/master/CHANGELOG.md"

[project.entry-points.console_scripts]
pyrockoeost = "pyrockoeost.apps.pyrockoeost:main"
fomosto = "pyrockoeost.apps.fomosto:main"
cake = "pyrockoeost.apps.cake:main"
automap = "pyrockoeost.apps.automap:main"
hamster = "pyrockoeost.apps.hamster:main"
jackseis = "pyrockoeost.apps.jackseis:main"
colosseo = "pyrockoeost.apps.colosseo:main"
squirrel = "pyrockoeost.apps.squirrel:main"

[project.entry-points.gui_scripts]
snuffler = "pyrockoeost.apps.snuffler:main"
sparrow = "pyrockoeost.apps.sparrow:main"
drum = "pyrockoeost.apps.drum:main"

# 2023-06-07: "Support for `[tool.setuptools]` in `pyproject.toml` is still
# *beta*", # therfore package-data is handled in setup.py atm.
# [tool.setuptools.package-data]
# "pyrockoeost" = [
#     'data/*.png',
#     'data/*.html',
#     'data/earthmodels/*.nd',
#     'data/colortables/*.cpt',
#     'data/tectonics/*.txt',
#     'data/fomosto_report/gfreport.*',
#     'gui/snuffler/snufflings/map/*.kml',
#     'gui/snuffler/snufflings/map/*.html',
#     'gui/snuffler/snufflings/map/*.js',
# ]
# '*' = [
#     'README.md'
# ]

[tool.pytest.ini_options]
minversion = "6.0"
addopts = "--tb=short"
testpaths = [
    "test/base",
    "test/gf",
    "test/gui",
    "test/examples",
]

[tool.ruff]
line-length = 79
select = ["E", "F", "Q"]  # "B"

[tool.ruff.flake8-quotes]
docstring-quotes = "single"
inline-quotes = "single"
multiline-quotes = "single"
