Skip to main content

OpenVBI

Reference Algorithms for Volunteer Bathymetric Information processing.

Installation

Local installation

pip install .

Running in a VS Code dev container

You will need docker installed to use the dev container. There is more info on the specific prerequisites here. Once you have docker installed, open the project in vscode and select "Dev Container: Reopen in Container" from the command palette. Once the container is built and running, you can open a terminal with access to it in vscode and your environment will be set up.

Usage

At present, most functionality is accessed via the OpenVBI Python API, examples of which can be found in the examples folder.

There is a simple command line tool called vbi:

vbi --help
Usage: vbi [OPTIONS] COMMAND [ARGS]...

Options:
  --version  Show the version and exit.
  --help     Show this message and exit.

Commands:
  dump  Dump logger data file to ASCII format for debugging.

The dump command allows logger data files to be written as ASCII to the screen or to a file. To dump a file to the screen, run:

vbi dump tests/data/00000029.TSV.lzma -
Packet 0: name: RMC
	_data: {'Fields': {'timestamp': 123458, 'status': 'A', 'lat': 5048.614, 'lat_dir': 'N', 'lon': 108.632, 'lon_dir': 'W', 'spd_over_grnd': 0, 'true_course': 119.9, 'datestamp': 260822, 'mag_variation': 3.4, 'mag_var_dir': 'W'}, 'Talker': 'GP', 'Formatter': 'RMC'}
Packet 1: name: RMB
	_data: {'Fields': {'status': 'A', 'cross_track_error': '', 'cte_correction_dir': '', 'origin_waypoint_id': '', 'dest_waypoint_id': '', 'dest_lat': '', 'dest_lat_dir': '', 'dest_lon': '', 'dest_lon_dir': '', 'dest_range': '', 'dest_true_bearing': '', 'dest_velocity': '', 'arrival_alarm': 'V'}, 'Talker': 'GP', 'Formatter': 'RMB'}
Packet 2: name: GLL
	_data: {'Fields': {'lat': 5048.614, 'lat_dir': 'N', 'lon': 108.632, 'lon_dir': 'W', 'timestamp': 123458, 'status': 'A'}, 'Talker': 'GP', 'Formatter': 'GLL'}
...
...
...

To output to a file, specify the output file name instead of '-' as the last argument:

vbi dump tests/data/00000029.TSV.lzma 00000029.txt

Testing

Create a virtual environment with test dependencies:

python3 -m venv venv
source venv/bin/activate
pip -r requirements-test.txt

Run tests:

pytest tests/unit/test_*.py
================================================================================================================================================ test session starts ================================================================================================================================================
platform darwin -- Python 3.13.2, pytest-8.3.5, pluggy-1.5.0
rootdir: /Users/$USER/repos/OpenVBI
configfile: pyproject.toml
plugins: cov-6.0.0, xdist-3.6.1
collected 2 items                                                                                                                                                                                                                                                                                                   

tests/unit/test_metadata.py ..                                                                                                                                                                                                                                                                                [100%]

================================================================================================================================================= warnings summary ==================================================================================================================================================
tests/unit/test_metadata.py::test_optional_metadata
tests/unit/test_metadata.py::test_optional_metadata
  /Users/$USER/repos/OpenVBI/openvbi/core/metadata.py:180: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
    timestamp = dt.datetime.utcnow()

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================================================================================================================================== 2 passed, 2 warnings in 0.06s ===========================================================================================================================================

Library Components

Metadata

Release files for openvbi 1.0.1

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

Source distribution (sdist)

Source distribution for openvbi 1.0.1
File Size Uploaded
openvbi-1.0.1.tar.gz 59.6 kB Details

Built distribution (wheel)

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

Total release size: 145.4 kB

Release files / openvbi-1.0.1.tar.gz

Download URL openvbi-1.0.1.tar.gz
Size 59.6 kB
Tags Source
SHA-256 checksum
How to use checksums
9283cafd787cf97f3ff3aff52a81c69dbcdd8e3154714743fbd9548e1988d1cd
BLAKE2b-256 checksum
How to use checksums
75fb3fb625c27b6fbc4290850a72b3573c35315a8110ed564cc8924cfcb47dda
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / openvbi-1.0.1-py3-none-any.whl

Download URL openvbi-1.0.1-py3-none-any.whl
Size 85.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
37c3490fbb91719101b09c5435dfcada0987269bc246c5e8a235568d3d27ddd6
BLAKE2b-256 checksum
How to use checksums
0d91059cc1b34758910c9dd1c8102bb7612b14b5a184adcd4f18a5181d08c5b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

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