Spaces:
Sleeping
Sleeping
| [build-system] | |
| requires = [ | |
| "setuptools>=61.0", | |
| "wheel>=0.41.0", | |
| "numpy>=1.24.0", | |
| ] | |
| build-backend = "setuptools.build_meta" | |
| [project] | |
| name = "tsu-wave" | |
| version = "1.0.0" | |
| description = "Tsunami Spectral Understanding of Wave-Amplitude Variance and Energy - A physics-based framework for real-time tsunami analysis" | |
| readme = "README.md" | |
| authors = [ | |
| {name = "Samir Baladi", email = "gitdeeper@gmail.com"}, | |
| {name = "Dr. Elena Marchetti"}, | |
| {name = "Prof. Kenji Watanabe"}, | |
| {name = "Dr. Lars Petersen"}, | |
| {name = "Dr. Amira Hassan"}, | |
| ] | |
| maintainers = [ | |
| {name = "Samir Baladi", email = "gitdeeper@gmail.com"}, | |
| ] | |
| license = {text = "MIT"} | |
| classifiers = [ | |
| "Development Status :: 5 - Production/Stable", | |
| "Intended Audience :: Science/Research", | |
| "Intended Audience :: Education", | |
| "License :: OSI Approved :: MIT License", | |
| "Programming Language :: Python :: 3", | |
| "Programming Language :: Python :: 3.10", | |
| "Programming Language :: Python :: 3.11", | |
| "Programming Language :: Fortran", | |
| "Topic :: Scientific/Engineering", | |
| "Topic :: Scientific/Engineering :: Physics", | |
| "Topic :: Scientific/Engineering :: Oceanography", | |
| "Natural Language :: English", | |
| "Operating System :: OS Independent", | |
| ] | |
| keywords = [ | |
| "tsunami", | |
| "hydrodynamics", | |
| "wave-propagation", | |
| "coastal-inundation", | |
| "early-warning", | |
| "NSWE", | |
| "bathymetry", | |
| "spectral-analysis", | |
| "vorticity", | |
| "oceanography", | |
| "geophysics", | |
| "natural-hazards", | |
| ] | |
| requires-python = ">=3.10" | |
| dependencies = [ | |
| "numpy>=1.24.0", | |
| "scipy>=1.10.0", | |
| "pandas>=2.0.0", | |
| "xarray>=2023.1.0", | |
| "netCDF4>=1.6.0", | |
| "fastapi>=0.104.0", | |
| "uvicorn>=0.24.0", | |
| "websockets>=12.0", | |
| "python-jose[cryptography]>=3.3.0", | |
| "passlib>=1.7.4", | |
| "asyncpg>=0.29.0", | |
| "sqlalchemy>=2.0.0", | |
| "alembic>=1.12.0", | |
| "redis>=5.0.0", | |
| "PyWavelets>=1.4.0", | |
| "streamlit>=1.28.0", | |
| "plotly>=5.18.0", | |
| "matplotlib>=3.7.0", | |
| "geopandas>=0.14.0", | |
| "pyyaml>=6.0", | |
| "pydantic>=2.4.0", | |
| "click>=8.1.0", | |
| ] | |
| [project.optional-dependencies] | |
| dev = [ | |
| "pytest>=7.4.0", | |
| "pytest-asyncio>=0.21.0", | |
| "pytest-cov>=4.1.0", | |
| "httpx>=0.25.0", | |
| "black>=23.11.0", | |
| "isort>=5.12.0", | |
| "flake8>=6.1.0", | |
| "mypy>=1.7.0", | |
| "mkdocs>=1.5.0", | |
| "mkdocs-material>=9.4.0", | |
| "jupyter>=1.0.0", | |
| ] | |
| docs = [ | |
| "mkdocs>=1.5.0", | |
| "mkdocs-material>=9.4.0", | |
| "mkdocstrings>=0.24.0", | |
| ] | |
| [project.urls] | |
| Homepage = "https://tsu-wave.netlify.app" | |
| Documentation = "https://tsu-wave.netlify.app/documentation" | |
| Repository = "https://gitlab.com/gitdeeper4/tsu-wave" | |
| "Bug Reports" = "https://gitlab.com/gitdeeper4/tsu-wave/-/issues" | |
| DOI = "https://doi.org/10.5281/zenodo.XXXXXXXX" | |
| [project.scripts] | |
| tsu-wave = "tsuwave.cli:main" | |
| tsu-wave-monitor = "tsuwave.cli:monitor" | |
| tsu-wave-validate = "tsuwave.cli:validate" | |
| tsu-wave-forecast = "tsuwave.cli:forecast" | |
| [tool.setuptools] | |
| packages = ["tsuwave", "tsuwave.core", "tsuwave.parameters", "tsuwave.hazard", "tsuwave.data", "tsuwave.signals", "tsuwave.api", "tsuwave.dashboard", "tsuwave.utils"] | |
| package-dir = {"" = "src"} | |
| [tool.setuptools.package-data] | |
| "tsuwave.data" = ["*.nc", "*.json"] | |
| "tsuwave.core" = ["*.f90"] | |
| [tool.black] | |
| line-length = 88 | |
| target-version = ['py310'] | |
| include = '\.pyi?$' | |
| extend-exclude = ''' | |
| /( | |
| \.eggs | |
| | \.git | |
| | \.hg | |
| | \.mypy_cache | |
| | \.tox | |
| | \.venv | |
| | _build | |
| | buck-out | |
| | build | |
| | dist | |
| )/ | |
| ''' | |
| [tool.isort] | |
| profile = "black" | |
| line_length = 88 | |
| multi_line_output = 3 | |
| include_trailing_comma = true | |
| force_grid_wrap = 0 | |
| use_parentheses = true | |
| ensure_newline_before_comments = true | |
| [tool.mypy] | |
| python_version = "3.10" | |
| warn_return_any = true | |
| warn_unused_configs = true | |
| ignore_missing_imports = true | |
| disallow_untyped_defs = true | |
| [tool.pytest.ini_options] | |
| minversion = "7.0" | |
| addopts = "-ra -q --strict-markers" | |
| testpaths = [ | |
| "tests", | |
| ] | |
| markers = [ | |
| "slow: marks tests as slow (deselect with '-m \"not slow\"')", | |
| "validation: marks validation tests (requires validation data)", | |
| ] | |
| [tool.coverage.run] | |
| source = ["src"] | |
| omit = ["*/tests/*", "*/test_*"] | |
| [tool.coverage.report] | |
| exclude_lines = [ | |
| "pragma: no cover", | |
| "def __repr__", | |
| "if self.debug:", | |
| "if __name__ == .__main__.:", | |
| "raise AssertionError", | |
| "raise NotImplementedError", | |
| "except ImportError", | |
| ] | |