Skip to main content

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.
  • scabbard is the main tool now, it uses multiple backends DAGGER, pytopotoolbox, fastscapelib, numba and taichi

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)

Source distribution for pyscabbard 0.0.14
File Size Uploaded
pyscabbard-0.0.14.tar.gz 114.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyscabbard 0.0.14
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

0.0.16

2 release files

This release

0.0.14 This release

2 release files

0.0.13

2 release files

0.0.12

2 release files

0.0.10

1 release file

0.0.9

1 release file

0.0.8

2 release files

0.0.7

2 release files

0.0.6

1 release file

0.0.5

2 release files

0.0.4

1 release file

0.0.3

1 release file

0.0.2

2 release files

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page