Python interface to TopoToolbox.
Project description
pytopotoolbox
TopoToolbox is a Python library that provides a set of functions and classes that support the analysis of relief and flow pathways in digital elevation models (DEMs). The major aim of TopoToolbox is to offer helpful analytical GIS utilities in a non-GIS environment in order to support the simultaneous application of GIS-specific and other quantitative methods.
The documentation is located at https://topotoolbox.github.io/pytopotoolbox/.
This python library is based on the TopoToolbox for Matlab and uses the API provided by libtopotoolbox to compute efficiently.
Getting started
To get started head to pytopotoolbox/tutorial. If you need more examples see pytopotoolbox/examples or reference the API documentation pytopotoolbox/api.
The example files are also available as Jupyter Notebook files in the ./examples folder. Feel free to download and play around with them to gain a better understanding of the functionality of the TopoToolbox.
Generating/Installing distribution archives
For any operating system, install the following:
- Python
- pip
- Git (only when building the package yourself)
Linux
-
Installing from .whl file
Make sure to choose the appropriate file for your OS. For Linux, the file name should contain something like:
linux_x86_64
pip install dist_name.whl
-
Installing directly from the repository:
cd path/to/pytopotoolbox pip install .
-
Generating distribution archives
cd path/to/pytopotoolbox python3 -m pip install --upgrade build python3 -m build
Windows
-
Installing from .whl file
Make sure to choose the appropriate file for your OS. For Windows, the file name should contain something like:
win_amd64
.pip install dist_name.whl
-
Installing directly from the repository:
Since there are C/C++ files that need to be compiled in order to build the package, there are a few extra steps to take.
-
Install the Developer Command Prompt for VS 2022.
- Scroll down to 'All Downloads'
- open 'Tools for Visual Studio'
- download 'Build Tools for Visual Studio 2022'
- install it while including the 'Desktop development with C++' workload
-
To ensure the compiler is working with 64-bit architecture, that is necessary for python, open 'x64 Native Tools Command Prompt for VS 2022' instead of the 'Developer Command Prompt' that defaults to 32-bit architecture.
-
In the newly opened terminal, run:
cd path\to\pytopotoolbox pip install .
-
-
Generating distribution archives
Open the 'x64 Native Tools Command Prompt for VS 2022' Terminal and run:
cd path\to\pytopotoolbox py -m pip install --upgrade build py -m build
Mac
[work in progress]
Testing and Linting
To run the tests for this package, run:
cd path/to/pytopotoolbox
pytest
To run the linting locally, use:
cd path/to/pytopotoolbox
flake8 src/topotoolbox
mypy --ignoremissing-imports src/topotoolbox
Contributing
If you would like to contribute to pytopotoolbox, check out the Contribution Guidelines.
License
This project is licensed under the GPL-3.0 (GNU) License - see the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
File details
Details for the file topotoolbox-0.0.1.tar.gz
.
File metadata
- Download URL: topotoolbox-0.0.1.tar.gz
- Upload date:
- Size: 75.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13e5e8be6caac4a6474bb51ca47f4cf17831e1d9e17e97ada37994244fc9f7be |
|
MD5 | 5f6d7fb4868a96a8f869eb7226bcc59e |
|
BLAKE2b-256 | 4a19d3501bcda0a84e0798779af4075ffc1a2b8d9e946d992ac280539ae9fa0c |
Provenance
The following attestation bundles were made for topotoolbox-0.0.1.tar.gz
:
Publisher:
release.yml
on TopoToolbox/pytopotoolbox
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
topotoolbox-0.0.1.tar.gz
- Subject digest:
13e5e8be6caac4a6474bb51ca47f4cf17831e1d9e17e97ada37994244fc9f7be
- Sigstore transparency entry: 150140260
- Sigstore integration time:
- Predicate type:
File details
Details for the file topotoolbox-0.0.1-cp312-cp312-win_amd64.whl
.
File metadata
- Download URL: topotoolbox-0.0.1-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 230.3 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9315518996a3cc10505139609f7df3599748115aeadd9dde8fa417e0013c42a8 |
|
MD5 | 7b1d10621c1b655a7d9096e9c7346da1 |
|
BLAKE2b-256 | b47ef4fe2de5a2335b2d03b9440762959f7ce15548745be50e556e0974028e68 |
Provenance
The following attestation bundles were made for topotoolbox-0.0.1-cp312-cp312-win_amd64.whl
:
Publisher:
release.yml
on TopoToolbox/pytopotoolbox
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
topotoolbox-0.0.1-cp312-cp312-win_amd64.whl
- Subject digest:
9315518996a3cc10505139609f7df3599748115aeadd9dde8fa417e0013c42a8
- Sigstore transparency entry: 150140264
- Sigstore integration time:
- Predicate type:
File details
Details for the file topotoolbox-0.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: topotoolbox-0.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 372.6 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 64c438faf0bb88b29765de68d892f32799222e295c0a70b629374fca597ed5e4 |
|
MD5 | 4ffcc607900248664f64c9cb625d7bc8 |
|
BLAKE2b-256 | 75848f1ae8357a0e7a42ef4bf9dfa4f0a7111074487e01fc76e0698097778151 |
Provenance
The following attestation bundles were made for topotoolbox-0.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
:
Publisher:
release.yml
on TopoToolbox/pytopotoolbox
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
topotoolbox-0.0.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
- Subject digest:
64c438faf0bb88b29765de68d892f32799222e295c0a70b629374fca597ed5e4
- Sigstore transparency entry: 150140269
- Sigstore integration time:
- Predicate type:
File details
Details for the file topotoolbox-0.0.1-cp312-cp312-macosx_11_0_arm64.whl
.
File metadata
- Download URL: topotoolbox-0.0.1-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 208.8 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3a379bde9370bc28386b164796fb77564edd2c8b4d1d2772fa05377bc90f1b9 |
|
MD5 | 0f4fbb9da29d652b974c16f349fe4fd6 |
|
BLAKE2b-256 | 9c2e671c80351094650c403a5b3c39a11fc3cb710b659b6a1937af76067f37fb |
Provenance
The following attestation bundles were made for topotoolbox-0.0.1-cp312-cp312-macosx_11_0_arm64.whl
:
Publisher:
release.yml
on TopoToolbox/pytopotoolbox
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
topotoolbox-0.0.1-cp312-cp312-macosx_11_0_arm64.whl
- Subject digest:
a3a379bde9370bc28386b164796fb77564edd2c8b4d1d2772fa05377bc90f1b9
- Sigstore transparency entry: 150140262
- Sigstore integration time:
- Predicate type:
File details
Details for the file topotoolbox-0.0.1-cp312-cp312-macosx_10_13_x86_64.whl
.
File metadata
- Download URL: topotoolbox-0.0.1-cp312-cp312-macosx_10_13_x86_64.whl
- Upload date:
- Size: 219.8 kB
- Tags: CPython 3.12, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 644b981d9b86e9b318842e84c3551525010b9c1584827953c54a7c7b0b1c7f3d |
|
MD5 | 09bbca162ca81ca3e02fd1352fb4cee6 |
|
BLAKE2b-256 | 6740c22068bbafdc1256c12284a6db3e6653ee2d10cfa19129666a9e96aa21b4 |
Provenance
The following attestation bundles were made for topotoolbox-0.0.1-cp312-cp312-macosx_10_13_x86_64.whl
:
Publisher:
release.yml
on TopoToolbox/pytopotoolbox
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
topotoolbox-0.0.1-cp312-cp312-macosx_10_13_x86_64.whl
- Subject digest:
644b981d9b86e9b318842e84c3551525010b9c1584827953c54a7c7b0b1c7f3d
- Sigstore transparency entry: 150140268
- Sigstore integration time:
- Predicate type:
File details
Details for the file topotoolbox-0.0.1-cp311-cp311-win_amd64.whl
.
File metadata
- Download URL: topotoolbox-0.0.1-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 229.7 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 20706c71cb20dc63e9973d727d24a5553d9a717199b2b53f6b93848dc4aadb28 |
|
MD5 | 0c9df31c4ce3d14342001e1c510ccd00 |
|
BLAKE2b-256 | e4478a3bd664f2f2305687dec240941a8d9c82fd6e100687ce5c02c87b4ada20 |
Provenance
The following attestation bundles were made for topotoolbox-0.0.1-cp311-cp311-win_amd64.whl
:
Publisher:
release.yml
on TopoToolbox/pytopotoolbox
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
topotoolbox-0.0.1-cp311-cp311-win_amd64.whl
- Subject digest:
20706c71cb20dc63e9973d727d24a5553d9a717199b2b53f6b93848dc4aadb28
- Sigstore transparency entry: 150140276
- Sigstore integration time:
- Predicate type:
File details
Details for the file topotoolbox-0.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: topotoolbox-0.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 375.0 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 028cec3067660996c8c0a4a5f20adadd77bb5d5e80797ff9807d8bc8b44a807d |
|
MD5 | 4dfb86d2d34606393614c6d362ecfe39 |
|
BLAKE2b-256 | 753f7fbfac861ddd70678b3a04477f7bc7ff458cfd75d912429d37e4f513b506 |
Provenance
The following attestation bundles were made for topotoolbox-0.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
:
Publisher:
release.yml
on TopoToolbox/pytopotoolbox
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
topotoolbox-0.0.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
- Subject digest:
028cec3067660996c8c0a4a5f20adadd77bb5d5e80797ff9807d8bc8b44a807d
- Sigstore transparency entry: 150140271
- Sigstore integration time:
- Predicate type:
File details
Details for the file topotoolbox-0.0.1-cp311-cp311-macosx_11_0_arm64.whl
.
File metadata
- Download URL: topotoolbox-0.0.1-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 211.0 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | af803cecb347d5e8ec75e999818ba2bdb340c7d2e6479ed427e7271853807c1b |
|
MD5 | d434507da1404deb70acf83ac7eb89f7 |
|
BLAKE2b-256 | 61bf14423b687e62dedfe43353b9e2dddb6164f35cbbf65df49bea4b9aed4993 |
Provenance
The following attestation bundles were made for topotoolbox-0.0.1-cp311-cp311-macosx_11_0_arm64.whl
:
Publisher:
release.yml
on TopoToolbox/pytopotoolbox
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
topotoolbox-0.0.1-cp311-cp311-macosx_11_0_arm64.whl
- Subject digest:
af803cecb347d5e8ec75e999818ba2bdb340c7d2e6479ed427e7271853807c1b
- Sigstore transparency entry: 150140267
- Sigstore integration time:
- Predicate type:
File details
Details for the file topotoolbox-0.0.1-cp311-cp311-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: topotoolbox-0.0.1-cp311-cp311-macosx_10_9_x86_64.whl
- Upload date:
- Size: 222.0 kB
- Tags: CPython 3.11, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4dcd4baf0f4a21d0f27a5440db1c34ac7136bdedd8e639ec55cbaa7bcf793380 |
|
MD5 | a268c6e3e81c9dba0adac13575f7afca |
|
BLAKE2b-256 | 1020e7e345bfeed80a54fdaa437767326f927e661886063f1976617289d7b127 |
Provenance
The following attestation bundles were made for topotoolbox-0.0.1-cp311-cp311-macosx_10_9_x86_64.whl
:
Publisher:
release.yml
on TopoToolbox/pytopotoolbox
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
topotoolbox-0.0.1-cp311-cp311-macosx_10_9_x86_64.whl
- Subject digest:
4dcd4baf0f4a21d0f27a5440db1c34ac7136bdedd8e639ec55cbaa7bcf793380
- Sigstore transparency entry: 150140265
- Sigstore integration time:
- Predicate type:
File details
Details for the file topotoolbox-0.0.1-cp310-cp310-win_amd64.whl
.
File metadata
- Download URL: topotoolbox-0.0.1-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 226.1 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 004988afcb38a1289c6d242e6dfe154f5cab7d160063efb15930fbe606a23766 |
|
MD5 | 222630d4794d08d8b3b161e20aa52696 |
|
BLAKE2b-256 | 27d0a430a2ee30957bdf8ab584eef9f63fff8ac83889ee5b999553360d06af0b |
Provenance
The following attestation bundles were made for topotoolbox-0.0.1-cp310-cp310-win_amd64.whl
:
Publisher:
release.yml
on TopoToolbox/pytopotoolbox
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
topotoolbox-0.0.1-cp310-cp310-win_amd64.whl
- Subject digest:
004988afcb38a1289c6d242e6dfe154f5cab7d160063efb15930fbe606a23766
- Sigstore transparency entry: 150140278
- Sigstore integration time:
- Predicate type:
File details
Details for the file topotoolbox-0.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: topotoolbox-0.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 370.1 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34b367c1e5558592a2655126055a2c9f33dbc24741a0fd171d3b510cdffebfcb |
|
MD5 | bdcc37e7347c81fbd64f77b6b0f776e0 |
|
BLAKE2b-256 | a1e4a4b9258a57ff32d8ebd28b24603ebf3179bda8a0c541aef3149f5bdf390e |
Provenance
The following attestation bundles were made for topotoolbox-0.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
:
Publisher:
release.yml
on TopoToolbox/pytopotoolbox
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
topotoolbox-0.0.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
- Subject digest:
34b367c1e5558592a2655126055a2c9f33dbc24741a0fd171d3b510cdffebfcb
- Sigstore transparency entry: 150140279
- Sigstore integration time:
- Predicate type:
File details
Details for the file topotoolbox-0.0.1-cp310-cp310-macosx_11_0_arm64.whl
.
File metadata
- Download URL: topotoolbox-0.0.1-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 206.8 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 412a129435ba087b879bcb294d89c466962b8aad8a749ad407079f92d92d3626 |
|
MD5 | 1f949f26381f8e4a608b7c9f0cbf5481 |
|
BLAKE2b-256 | 9731c20e469f644e8d3f6fbceb80ecb4a559eeeb36ccabb00b889209021c7ce6 |
Provenance
The following attestation bundles were made for topotoolbox-0.0.1-cp310-cp310-macosx_11_0_arm64.whl
:
Publisher:
release.yml
on TopoToolbox/pytopotoolbox
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
topotoolbox-0.0.1-cp310-cp310-macosx_11_0_arm64.whl
- Subject digest:
412a129435ba087b879bcb294d89c466962b8aad8a749ad407079f92d92d3626
- Sigstore transparency entry: 150140261
- Sigstore integration time:
- Predicate type:
File details
Details for the file topotoolbox-0.0.1-cp310-cp310-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: topotoolbox-0.0.1-cp310-cp310-macosx_10_9_x86_64.whl
- Upload date:
- Size: 218.0 kB
- Tags: CPython 3.10, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc745923cd2b7fe221bfe7cbc3aa81f01f0d27d5f29e94f5efc9471056993125 |
|
MD5 | 29dbbb4f4a37b63ab81233c3df51ddcc |
|
BLAKE2b-256 | 315b7d79b8a77ca1b25e975d3d81fdb61bc2ed4763d757793b53d278b176c7f5 |
Provenance
The following attestation bundles were made for topotoolbox-0.0.1-cp310-cp310-macosx_10_9_x86_64.whl
:
Publisher:
release.yml
on TopoToolbox/pytopotoolbox
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
topotoolbox-0.0.1-cp310-cp310-macosx_10_9_x86_64.whl
- Subject digest:
dc745923cd2b7fe221bfe7cbc3aa81f01f0d27d5f29e94f5efc9471056993125
- Sigstore transparency entry: 150140274
- Sigstore integration time:
- Predicate type: