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
Release files for cetos 0.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cetos-0.0.0.tar.gz | 49.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cetos-0.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 78.5 kB
Release files / cetos-0.0.0.tar.gz
| Download URL | cetos-0.0.0.tar.gz |
|---|---|
| Size | 49.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dd4d959f7c4d7aff546caaa24a8eba34d3a44408dfbf5b6c6ea91bbfd5f9377f
|
|
BLAKE2b-256 checksum How to use checksums |
a52c38be717fe8e8477d0a4182dce4d639cf4ba4d903f4a0b79ab28eb8ce5ac3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Dec 10, 2025.
Transparency logRelease files / cetos-0.0.0-py3-none-any.whl
| Download URL | cetos-0.0.0-py3-none-any.whl |
|---|---|
| Size | 29.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
870b2774ba5b70f48c99b01765ea32d376c22c0e6b9341672deda79a99ed97c9
|
|
BLAKE2b-256 checksum How to use checksums |
b590bd8d4fa99d5046927105aa0d437971bfafd4b45c496b05696854e45712e1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Dec 10, 2025.
Transparency log