Skip to main content

bulum

Installation

This package may be installed using pip from GitHub, directly from PyPi (public), or from a .tar.gz. Examples are shown below.

pip install git+https://github.com/odhydrology/bulum
pip install bulum
pip install .\dist\bulum-0.0.32.tar.gz

Usage

import bulum

# returns the package version
bulum.__version__

# prints 'Hello world!' to the console
bulum.hello_world()

API documentation is available at odhydrology.github.io/bulum.

Build and Upload to PyPi

First build a distribution from an anaconda prompt in the root of your project, and then upload the dist to PyPi using Twine.

python setup.py sdist
twine upload dist\bulum-0.0.32.tar.gz

As of Nov 2023, PyPi uses an API token instead of a conventional password. You can still use Twine, but the username is "__token__", and password is the API token which is very long string starting with "pypi-".

username = __token__
password = pypi-#####################################################################################

Where can I find the API token password? Chas has it in his emails. It is also here on the network at .\ODH working files\Professional development, reading, etc\Software\ODHSoftware\bulum\PyPi_password_and_instructions.txt.

How do I make a new API token? Go to your PyPi account settings, and click on "API tokens". Then click on "Add API token", and give it a name. The token will be displayed on the next screen.

Alternatively,

uv build
uv publish --token XXXXX

Unit Tests

For development testing, first sync with extras=dev via

uv sync --extra dev

To run tests with the current or a particular version of python, from the project root run pytest via (for example):

uv run pytest
uv run 
uv run tox -e py312 # to run a particular version

Before publishing, check the library is functional across all supported versions of python via (one of):

uv run tox
uv run tox -p auto # This is run in parallel

Note: if you are missing python versions, install via (e.g.)

uv python install 3.12

Legacy

WARNING: Run unit tests from an anaconda environment with compatible dependencies!

Install the nose2 test-runner framework.

pip install nose2

Then from the root project folder run the nose2 module. You can do this as a python modules, or just directly from the anaconda prompt (both examples given below). This will automatically find and run tests in any modules named "test_*".

python -m nose2
nose2

You can run specific tests by specifying the module name. Example below.

nose2 src.bulum.stats.tests

License

Refer to LICENCE.md

Metadata

Release files for bulum 0.3.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bulum 0.3.4
File Size Uploaded
bulum-0.3.4.tar.gz 144.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bulum 0.3.4
File Interpreter ABI Platform
bulum-0.3.4-py3-none-any.whl Python 3 none any Details

Total release size: 307.7 kB

Release files / bulum-0.3.4.tar.gz

Download URL bulum-0.3.4.tar.gz
Size 144.3 kB
Tags Source
SHA-256 checksum
How to use checksums
8c3d1245c784c956fd80e31c636711f9891c50cd18f8b19846d6b075d913f0f8
BLAKE2b-256 checksum
How to use checksums
67b0bf50eedcd25e85f0a1a89e6617ec72439399071172b87d7fdd577672b68b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 18, 2026.

Transparency log

Release files / bulum-0.3.4-py3-none-any.whl

Download URL bulum-0.3.4-py3-none-any.whl
Size 163.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bdbdcb2107457c893779a1fd492aa61e1a75ca0ffc55eebb03f632ef48f25050
BLAKE2b-256 checksum
How to use checksums
939680be94a345af822f090ed881b08b1ff62a585668505524972c8c3d53974d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 18, 2026.

Transparency log
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