Skip to main content

cetos

CI PyPI Python Version License

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!

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. 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

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)

Source distribution for cetos 0.0.0
File Size Uploaded
cetos-0.0.0.tar.gz 49.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cetos 0.0.0
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.0.0 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