https://github.com/oceanstreamio/oceanstream
Oceanstream is a Python library which can be used as a CLI tool to process raw acoustic data from echosounders. It uses echopype as a backend. Developed at @pineviewlabs
https://github.com/oceanstreamio/oceanstream
acoustics echopype echosounder ecology netcdf oceanography sonar underwater-acoustics zarr
Last synced: 4 days ago
JSON representation
Oceanstream is a Python library which can be used as a CLI tool to process raw acoustic data from echosounders. It uses echopype as a backend. Developed at @pineviewlabs
- Host: GitHub
- URL: https://github.com/oceanstreamio/oceanstream
- Owner: OceanStreamIO
- License: mit
- Created: 2023-09-04T06:01:45.000Z (over 2 years ago)
- Default Branch: dev
- Last Pushed: 2024-08-31T11:01:44.000Z (over 1 year ago)
- Last Synced: 2025-10-13T14:37:06.530Z (5 months ago)
- Topics: acoustics, echopype, echosounder, ecology, netcdf, oceanography, sonar, underwater-acoustics, zarr
- Language: Python
- Homepage: https://oceanstream.io
- Size: 319 KB
- Stars: 5
- Watchers: 2
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# OceanStream
[OceanStream](https://oceanstream.io/) is an integrated cloud data platform used for hydroacoustic data collection and analysis in real-time. It is built on [Azure IoT Edge](https://azure.microsoft.com/en-us/products/iot-edge) infrastructure.
## How to Install
### Prerequisites
- **Python 3.11**: Ensure Python 3.11 is installed on your system.
### Setup
To contribute, clone the OceanStream repository's dev branch, which contains the latest development changes:
git clone -b dev https://github.com/OceanStreamIO/oceanstream.git
Navigate to the oceanstream directory:
cd oceanstream
Now, you can install dependencies, run tests, or start development! Direct all pull requests to the dev branch.
### Using Conda/Mamba
- **Create a virtual environment to use the package:**
```bash
conda env create -f environment.yml
```
This command creates an environment named `oceanstream`. To activate it:
```
conda activate oceanstream
```
- **Create a virtual environment to contribute to the package:**
```bash
conda env create -f environment-dev.yml
```
Again, activate the environment with:
```
conda activate oceanstream
```
### Using Pip
1. **Create a Virtual Environment:**
```bash
python -m venv .venv
```
This command creates a virtual environment in the `.venv` directory using Python 3.9.
- **Example using `pyenv`:**
- Install Python 3.9 with `pyenv`:
```bash
pyenv install 3.9
```
- Navigate to your project directory:
```bash
cd /path/to/your/project_directory
```
- Create the virtual environment using the Python 3.9 executable managed by `pyenv`:
```bash
~/.pyenv/versions/3.11/bin/python -m venv .venv
```
2. **Activate the Virtual Environment:**
- On Linux and MacOS:
```bash
source .venv/bin/activate
```
- On Windows:
```bash
.venv\Scripts\activate.bat # In cmd.exe
.venv\Scripts\Activate.ps1 # In PowerShell
```
3. **Install the Dependencies:**
- To use the package:
```bash
pip install -r requirements.txt
```
- To contribute to the package:
```bash
pip install -r requirements-dev.txt
```
## Running Pre-Commit Locally
### Installation
Install the pre-commit tool using pip:
pip install pre-commit
### Installing the Git Hook Scripts
Navigate to your repository where the `.pre-commit-config.yaml` file is located. Install the Git hook scripts with:
pre-commit install
### Running Pre-Commit
Pre-commit will now run automatically every time you attempt to make a commit. If any hooks fail, the commit will be blocked, and you'll be prompted to fix the issues before committing again.
To manually run all hooks against all the files, use:
pre-commit run --all-files
### Updating Hooks
To update your hooks to the latest versions, use:
pre-commit autoupdate
### Skipping Hooks
To bypass the hooks for a particular commit, use the `-n` or `--no-verify` option:
git commit -m "Your commit message" -n
### Uninstalling Pre-Commit
To uninstall the Git hook scripts, use:
pre-commit uninstall
## Building Documentation Locally
### Prerequisites
Ensure Python and pip are installed on your system.
### Steps
1. **Install Sphinx:**
pip install sphinx
2. **Navigate to Your Project's docs Directory:**
cd /path/to/your/docs_directory
3. **Build the Documentation:**
- For Linux/Mac:
make html
- For Windows:
make.bat html
This command will generate the HTML documentation in the `build/html` directory within your docs folder.