Skip to main content

Python interface to TopoToolbox.

Project description

pytopotoolbox Logo


GitHub Release PyPI - Version Tests GitHub License

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.

    1. 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
    2. 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.

    3. 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


Download files

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

Source Distribution

topotoolbox-0.0.1.tar.gz (75.3 kB view details)

Uploaded Source

Built Distributions

topotoolbox-0.0.1-cp312-cp312-win_amd64.whl (230.3 kB view details)

Uploaded CPython 3.12 Windows x86-64

topotoolbox-0.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (372.6 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

topotoolbox-0.0.1-cp312-cp312-macosx_11_0_arm64.whl (208.8 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

topotoolbox-0.0.1-cp312-cp312-macosx_10_13_x86_64.whl (219.8 kB view details)

Uploaded CPython 3.12 macOS 10.13+ x86-64

topotoolbox-0.0.1-cp311-cp311-win_amd64.whl (229.7 kB view details)

Uploaded CPython 3.11 Windows x86-64

topotoolbox-0.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (375.0 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

topotoolbox-0.0.1-cp311-cp311-macosx_11_0_arm64.whl (211.0 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

topotoolbox-0.0.1-cp311-cp311-macosx_10_9_x86_64.whl (222.0 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

topotoolbox-0.0.1-cp310-cp310-win_amd64.whl (226.1 kB view details)

Uploaded CPython 3.10 Windows x86-64

topotoolbox-0.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (370.1 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

topotoolbox-0.0.1-cp310-cp310-macosx_11_0_arm64.whl (206.8 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

topotoolbox-0.0.1-cp310-cp310-macosx_10_9_x86_64.whl (218.0 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

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

Hashes for topotoolbox-0.0.1.tar.gz
Algorithm Hash digest
SHA256 13e5e8be6caac4a6474bb51ca47f4cf17831e1d9e17e97ada37994244fc9f7be
MD5 5f6d7fb4868a96a8f869eb7226bcc59e
BLAKE2b-256 4a19d3501bcda0a84e0798779af4075ffc1a2b8d9e946d992ac280539ae9fa0c

See more details on using hashes here.

Provenance

The following attestation bundles were made for topotoolbox-0.0.1.tar.gz:

Publisher: release.yml on TopoToolbox/pytopotoolbox

Attestations:

File details

Details for the file topotoolbox-0.0.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for topotoolbox-0.0.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 9315518996a3cc10505139609f7df3599748115aeadd9dde8fa417e0013c42a8
MD5 7b1d10621c1b655a7d9096e9c7346da1
BLAKE2b-256 b47ef4fe2de5a2335b2d03b9440762959f7ce15548745be50e556e0974028e68

See more details on using hashes here.

Provenance

The following attestation bundles were made for topotoolbox-0.0.1-cp312-cp312-win_amd64.whl:

Publisher: release.yml on TopoToolbox/pytopotoolbox

Attestations:

File details

Details for the file topotoolbox-0.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for topotoolbox-0.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 64c438faf0bb88b29765de68d892f32799222e295c0a70b629374fca597ed5e4
MD5 4ffcc607900248664f64c9cb625d7bc8
BLAKE2b-256 75848f1ae8357a0e7a42ef4bf9dfa4f0a7111074487e01fc76e0698097778151

See more details on using hashes here.

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

Attestations:

File details

Details for the file topotoolbox-0.0.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for topotoolbox-0.0.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a3a379bde9370bc28386b164796fb77564edd2c8b4d1d2772fa05377bc90f1b9
MD5 0f4fbb9da29d652b974c16f349fe4fd6
BLAKE2b-256 9c2e671c80351094650c403a5b3c39a11fc3cb710b659b6a1937af76067f37fb

See more details on using hashes here.

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

Attestations:

File details

Details for the file topotoolbox-0.0.1-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for topotoolbox-0.0.1-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 644b981d9b86e9b318842e84c3551525010b9c1584827953c54a7c7b0b1c7f3d
MD5 09bbca162ca81ca3e02fd1352fb4cee6
BLAKE2b-256 6740c22068bbafdc1256c12284a6db3e6653ee2d10cfa19129666a9e96aa21b4

See more details on using hashes here.

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

Attestations:

File details

Details for the file topotoolbox-0.0.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for topotoolbox-0.0.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 20706c71cb20dc63e9973d727d24a5553d9a717199b2b53f6b93848dc4aadb28
MD5 0c9df31c4ce3d14342001e1c510ccd00
BLAKE2b-256 e4478a3bd664f2f2305687dec240941a8d9c82fd6e100687ce5c02c87b4ada20

See more details on using hashes here.

Provenance

The following attestation bundles were made for topotoolbox-0.0.1-cp311-cp311-win_amd64.whl:

Publisher: release.yml on TopoToolbox/pytopotoolbox

Attestations:

File details

Details for the file topotoolbox-0.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for topotoolbox-0.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 028cec3067660996c8c0a4a5f20adadd77bb5d5e80797ff9807d8bc8b44a807d
MD5 4dfb86d2d34606393614c6d362ecfe39
BLAKE2b-256 753f7fbfac861ddd70678b3a04477f7bc7ff458cfd75d912429d37e4f513b506

See more details on using hashes here.

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

Attestations:

File details

Details for the file topotoolbox-0.0.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for topotoolbox-0.0.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 af803cecb347d5e8ec75e999818ba2bdb340c7d2e6479ed427e7271853807c1b
MD5 d434507da1404deb70acf83ac7eb89f7
BLAKE2b-256 61bf14423b687e62dedfe43353b9e2dddb6164f35cbbf65df49bea4b9aed4993

See more details on using hashes here.

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

Attestations:

File details

Details for the file topotoolbox-0.0.1-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for topotoolbox-0.0.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4dcd4baf0f4a21d0f27a5440db1c34ac7136bdedd8e639ec55cbaa7bcf793380
MD5 a268c6e3e81c9dba0adac13575f7afca
BLAKE2b-256 1020e7e345bfeed80a54fdaa437767326f927e661886063f1976617289d7b127

See more details on using hashes here.

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

Attestations:

File details

Details for the file topotoolbox-0.0.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for topotoolbox-0.0.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 004988afcb38a1289c6d242e6dfe154f5cab7d160063efb15930fbe606a23766
MD5 222630d4794d08d8b3b161e20aa52696
BLAKE2b-256 27d0a430a2ee30957bdf8ab584eef9f63fff8ac83889ee5b999553360d06af0b

See more details on using hashes here.

Provenance

The following attestation bundles were made for topotoolbox-0.0.1-cp310-cp310-win_amd64.whl:

Publisher: release.yml on TopoToolbox/pytopotoolbox

Attestations:

File details

Details for the file topotoolbox-0.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for topotoolbox-0.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 34b367c1e5558592a2655126055a2c9f33dbc24741a0fd171d3b510cdffebfcb
MD5 bdcc37e7347c81fbd64f77b6b0f776e0
BLAKE2b-256 a1e4a4b9258a57ff32d8ebd28b24603ebf3179bda8a0c541aef3149f5bdf390e

See more details on using hashes here.

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

Attestations:

File details

Details for the file topotoolbox-0.0.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for topotoolbox-0.0.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 412a129435ba087b879bcb294d89c466962b8aad8a749ad407079f92d92d3626
MD5 1f949f26381f8e4a608b7c9f0cbf5481
BLAKE2b-256 9731c20e469f644e8d3f6fbceb80ecb4a559eeeb36ccabb00b889209021c7ce6

See more details on using hashes here.

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

Attestations:

File details

Details for the file topotoolbox-0.0.1-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for topotoolbox-0.0.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 dc745923cd2b7fe221bfe7cbc3aa81f01f0d27d5f29e94f5efc9471056993125
MD5 29dbbb4f4a37b63ab81233c3df51ddcc
BLAKE2b-256 315b7d79b8a77ca1b25e975d3d81fdb61bc2ed4763d757793b53d278b176c7f5

See more details on using hashes here.

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

Attestations:

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