A Python package for analyzing vessel data.
Project description
cetos
Open-source tools for analyzing vessel data.
Overview
cetos provides tools for analyzing vessel performance, estimating fuel consumption, and evaluating energy systems for maritime vessels. It implements methodologies from the IMO Fourth GHG Study 2020.
Features
- Fuel Consumption Estimation: Calculate vessel fuel consumption based on IMO methodologies
- Energy System Analysis: Analyze batteries, hydrogen systems, and hybrid propulsion
- AIS Data Processing: Convert AIS data to voyage profiles
- Multiple Vessel Types: Support for various vessel types (ferries, container ships, tankers, etc.)
Installation
Install cetos using pip:
pip install cetos
Quick Start
from cetos import imo
# Define vessel characteristics
vessel_data = {
"length": 39.8, # meters
"beam": 10.46, # meters
"design_speed": 13.5, # knots
"design_draft": 2.84, # meters
"double_ended": False,
"number_of_propulsion_engines": 4,
"propulsion_engine_power": 330, # kW per engine
"propulsion_engine_type": "MSD",
"propulsion_engine_age": "after_2000",
"propulsion_engine_fuel_type": "MDO",
"type": "ferry-pax",
"size": 686, # GT
}
# Define voyage profile
voyage_profile = {
"time_anchored": 10.0, # hours
"time_at_berth": 10.0, # hours
"legs_manoeuvring": [(10, 10, 6)], # (distance, speed, draft)
"legs_at_sea": [(30, 10, 6), (30, 10, 6)],
}
# Calculate fuel consumption
results = imo.calculate_fuel_consumption(vessel_data, voyage_profile)
print(f"Total fuel consumption: {results['total_fuel']} tonnes")
Modules
IMO Module (cetos.imo)
Functions for estimating vessel fuel consumption based on IMO Fourth GHG Study 2020 methodologies.
Energy Systems (cetos.energy_systems)
Tools for analyzing vessel energy systems including batteries, hydrogen, and internal combustion engines.
AIS Adapter (cetos.ais_adapter)
Process AIS (Automatic Identification System) data and convert it to voyage profiles.
Analysis (cetos.analysis)
Additional analysis tools for vessel performance evaluation.
Development
Quick Setup with uv (Recommended)
uv is a fast Python package installer and resolver:
# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# Clone the repository
git clone https://github.com/RISE-Maritime/cetos.git
cd cetos
# Create virtual environment and install dependencies
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -e ".[dev]"
Using pip
# Clone the repository
git clone https://github.com/RISE-Maritime/cetos.git
cd cetos
# Create and activate virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install in editable mode with dev dependencies
pip install -e ".[dev]"
Using Dev Containers
This repository includes a dev container configuration for VS Code. Simply open the repository in VS Code and select "Reopen in Container" when prompted.
Running Tests
pytest tests/
Code Formatting
black .
ruff check --fix .
Contributing
Contributions are welcome!
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
References
[1] IMO. Fourth IMO GHG Study 2020. International Maritime Organization.
Contact
- Issues: GitHub Issues
- Discussions: GitHub Discussions
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 Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cetos-0.0.0.tar.gz.
File metadata
- Download URL: cetos-0.0.0.tar.gz
- Upload date:
- Size: 49.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dd4d959f7c4d7aff546caaa24a8eba34d3a44408dfbf5b6c6ea91bbfd5f9377f
|
|
| MD5 |
c1c1c4de875213222f3e7fdd9465bf91
|
|
| BLAKE2b-256 |
a52c38be717fe8e8477d0a4182dce4d639cf4ba4d903f4a0b79ab28eb8ce5ac3
|
Provenance
The following attestation bundles were made for cetos-0.0.0.tar.gz:
Publisher:
release.yml on RISE-Maritime/cetos
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cetos-0.0.0.tar.gz -
Subject digest:
dd4d959f7c4d7aff546caaa24a8eba34d3a44408dfbf5b6c6ea91bbfd5f9377f - Sigstore transparency entry: 757296355
- Sigstore integration time:
-
Permalink:
RISE-Maritime/cetos@f5c7275994c9eebbf118a131a3a4e9d652e2cc8b -
Branch / Tag:
refs/tags/0.2.0-pre.1 - Owner: https://github.com/RISE-Maritime
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f5c7275994c9eebbf118a131a3a4e9d652e2cc8b -
Trigger Event:
release
-
Statement type:
File details
Details for the file cetos-0.0.0-py3-none-any.whl.
File metadata
- Download URL: cetos-0.0.0-py3-none-any.whl
- Upload date:
- Size: 29.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
870b2774ba5b70f48c99b01765ea32d376c22c0e6b9341672deda79a99ed97c9
|
|
| MD5 |
81f2c9ba072bd70a2a97f6e6c5a6cfb2
|
|
| BLAKE2b-256 |
b590bd8d4fa99d5046927105aa0d437971bfafd4b45c496b05696854e45712e1
|
Provenance
The following attestation bundles were made for cetos-0.0.0-py3-none-any.whl:
Publisher:
release.yml on RISE-Maritime/cetos
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cetos-0.0.0-py3-none-any.whl -
Subject digest:
870b2774ba5b70f48c99b01765ea32d376c22c0e6b9341672deda79a99ed97c9 - Sigstore transparency entry: 757296361
- Sigstore integration time:
-
Permalink:
RISE-Maritime/cetos@f5c7275994c9eebbf118a131a3a4e9d652e2cc8b -
Branch / Tag:
refs/tags/0.2.0-pre.1 - Owner: https://github.com/RISE-Maritime
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f5c7275994c9eebbf118a131a3a4e9d652e2cc8b -
Trigger Event:
release
-
Statement type: