Skip to main content

Provides numba framework for topographic analysis within the LSDTopoTools ecosystem. It aims to provdide full python access to the main algorithms of LSDTopoTools while avoiding the neeeds of c++. It does not replace or provide numba portage of the full LSDTopoTools, just the main one for quick use or quick developments

Project description

# lsdnumbatools

DISCLAIMER: early and WIP, do not use if you don’t know what you are doing!

Provides numba framework for topographic analysis within the LSDTopoTools ecosystem. It aims to provdide full python access to the main algorithms of LSDTopoTools while avoiding the neeeds of c++. It does not replace or provide numba portage of the full LSDTopoTools, just the main one for quick use or quick developments. The data structure is heavily based on xarray.

License: Free software: MIT license

## What-Why-How?

Numba is a Just-in-time (JIT) compiler for python code, which means that it translates at runtime some pieces of code into assembly language using LLVM engine. It has the power to make some python functions as performant as C code under few conditions. Although it does not allow as much flexibility and power as C++ does, it is powerful enough for function with simple data-structure (numpy arrays). The huge advantage is that it fits in the interpreted python language and allow very quick development/debugging/distribution of code without the need of compiling for different platform and making bindings between python and C, making it an ideal tool for (i) testing algorithms before implementing them in heavier languages and (ii) develop a light version of the LSDTopoTools framework usable in full-python when the full stack of LSDTopoTools are not needed.

## Features

### Node graph

So far I mostly worked on the node graph object, which build on demand neighbouring info (Queen, King); single (Braun et al. 2013) and multiple (see fastscapelib-fortran](https://github.com/fastscape-lem/fastscapelib-fortran) ) flow topological order, and periodic/closed boundary conditions.

## Installation

If I start using this package more seriously, I will make a conda-forge package. Otherwise, clone this repository, and install the following dependencies: numba, numpy, matplotlib, pandas and it should do the trick. I recommend using conda as python environment manager.

## Quick Start

As a quick start, I added a jupyter notebook in the notebook folder.

## Credits

Contact: Boris Gailleton (boris.gailleton@gfz-potsdam.de)

Some of the core functions have been adapted from xarray-topo by Benoit Bovy This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

History

0.0.1 (2020-09-07)

  • First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lsdnumbatools-0.0.5.tar.gz (43.4 kB view details)

Uploaded Source

Built Distribution

lsdnumbatools-0.0.5-py2.py3-none-any.whl (42.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file lsdnumbatools-0.0.5.tar.gz.

File metadata

  • Download URL: lsdnumbatools-0.0.5.tar.gz
  • Upload date:
  • Size: 43.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.3 pkginfo/1.7.0 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.8

File hashes

Hashes for lsdnumbatools-0.0.5.tar.gz
Algorithm Hash digest
SHA256 2d1404d6fc3db595ac21f39e5af19d45db5a3580c881d1366986cb0157921a06
MD5 003e7d155b75a05efc4a9b6613d45ae6
BLAKE2b-256 998fee41edc0e1839da3c8d5ca2a34abe76f8e792385467c70cf1e5e7f01c305

See more details on using hashes here.

File details

Details for the file lsdnumbatools-0.0.5-py2.py3-none-any.whl.

File metadata

  • Download URL: lsdnumbatools-0.0.5-py2.py3-none-any.whl
  • Upload date:
  • Size: 42.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.3 pkginfo/1.7.0 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.8

File hashes

Hashes for lsdnumbatools-0.0.5-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 d92aa754e29f69009924465f466bc77290e075ab5eaa08de37168362292043b5
MD5 61104ac91654f577b0554df79f0f0be5
BLAKE2b-256 89147c9645420a34fa2064d41e2ceadeaed4378b0c4ebbad3248ad787e08bffb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page