Scabbard
Python package to design, use or visualise topographic analysis, landscape evolution models and hydro/morphodynamics simulations. Among other, home of GraphFlood (CPU and GPU) and CHONK. This framework is also building a GPU backend for general purpose landscape modeling.
Built on the shoulder of giants
scabbard started as a personal codebase and evolved toward a fully-fledge numerical Framework. It uses the robust and battle-tested scientific python stack (e.g. numpy, scipy, numba, ...) and geospatial python (e.g. rasterio, geopandas, libgdal, ...). It also relies on multiple domain-specific libraries to built a future-proof and community-compatible backend: libtopotoolbox and pytopotoolbox, fastscapelib, LSDTopoTool as well as my own collection of c++ and numba routines. All the GPU backends use taichi to ensure cross-platform/hardware compatibility and user-friendly code.
- Free software: MIT license
How to install
pip install pyscabbard
As simple as that. Thanks to github actions allowing smooth CI, you do not have to compile anything yourself.
NOTE: pytopotoolbox official installation procedure is still WIP. I provide binary wheels within this project (./wheels/pytopotoolbox ). At first import, scabbard will provide instruction (i.e. a single command line to run).
Features
-
General geomorphic routines
-
Graphflood: Efficient hydrodynamic modelling, tailored for large scale. CPU and GPU version. -
CHONK/trackscape/popscape: Long term Landscape Evolution Models.
Usage
Documentation is WIP and will be online soon
Credits
This package was created with Cookiecutter_ and the audreyr/cookiecutter-pypackage_ project template.
.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _audreyr/cookiecutter-pypackage: https://github.com/audreyr/cookiecutter-pypackage
======= History
0.0.14 (2024-11-20)
- Small fixes on the boundary condition helpers
0.0.13 (2024-11-20)
- Adding an option for changing the exponent in Riverdale friction equation (e.g. migrating from manning to chezy)
0.0.12 (2024-11-20)
- Adapting the install process to pip topotoolbox
- Migrating to new ttb
- Minor fixes and additions
- Adding the start of a multi-backend unified graphflood interface
0.0.11 (2024-11-05)
- Loads of minor fixes in the install process
- Adding an hdf5 io/helper
- Refactor part of the ray tracing 3D plotter
- Adding orthographic projection
0.0.9 (2024-10-25)
- More fixes on the setup process
- Added a simple GPU ray tracing engine for 3D plots
- Started a unified interface for graphflood
0.0.8 (2024-10-15)
- Cleaning the install process
- Removing problematic legacy imports
- Trimming requirements
- Deprecating older tools relying on packages I do not use anymore
0.0.5 - 0.0.7 (2024-10-15)
- Total refactoring. As Simple as that.
scabbardis the main tool now, it uses multiple backendsDAGGER,pytopotoolbox,fastscapelib,numbaandtaichi
0.0.3 - 0.0.4 (2023-10-23)
- Fixing couple of bugs on the grid
- Experimental support for DAGGER's experimental stuff
- Adding environment object (WIP, future main structure)
0.0.2 (2023-07-31)
- Adding drainage divide quick extraction tools
- Fixing sea_level/Z0 stuff
0.0.1 (2023-07-25)
- First release on PyPI.
- Adding tools for quick river extraction
- Started a big behind-the-scene refactoring and standardisation (invisible at top level)
- Maintenance and bug fixes
Metadata
Release files for pyscabbard 0.0.14
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyscabbard-0.0.14.tar.gz | 114.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyscabbard-0.0.14-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 277.9 kB
Release files / pyscabbard-0.0.14.tar.gz
| Download URL | pyscabbard-0.0.14.tar.gz |
|---|---|
| Size | 114.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f4f369cae3c08b14a71709212c04c8e86df017766232b04abed983cb5ce27c9b
|
|
BLAKE2b-256 checksum How to use checksums |
a6c8a84ba9845d71becfced784d0227164e6f5cddbc0f086d111e1e984d1daba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.11.10
|
Release files / pyscabbard-0.0.14-py2.py3-none-any.whl
| Download URL | pyscabbard-0.0.14-py2.py3-none-any.whl |
|---|---|
| Size | 163.3 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
fbf7720debccb8b7fa8e30cdd71a51d4c75a3ca2a47091671aea984a69a79278
|
|
BLAKE2b-256 checksum How to use checksums |
9caf7a5381841df1f6a73f203fac3b32dd5aa5fa67039b62b868f861c93d1c39
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.11.10
|