Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Ocean

Ocean Ocean

Lint Ask DeepWiki

Ocean is Port's open source integration framework. It makes it easy to ingest data from your third-party tools and infrastructure into Port, the platform for building your AI software factory.

Prerequisites

  • Python 3.12

Installation

In order to install the Ocean Framework, run the following command:

pip install "port-ocean[cli]"

Or

poetry add "port-ocean[cli]"

Run Integration

  1. source the integration venv

    . .venv/bin/activate
    
  2. Run

    ocean sail ./path/to/integration
    

Export Architecture

image

Real-Time updates Architecture

image

Integration Lifecycle

image

Folder Structure

The Ocean Integration Framework follows a specific folder structure within this mono repository. This structure ensures proper organization and easy identification of integration modules. The suggested folder structure is as follows:

port-ocean/
├── port_ocean (framework)/
│ ├── ocean.py
│ ├── core/
| └── ...
└── integrations/
│  └─── integration_name/
│     ├──── main.py
│     ├──── pyproject.toml
│     └──── Dockerfile
├── ...
└── ...
  • The framework folder contains the core logic for managing the integration lifecycle.
  • Each integration is represented by a separate folder inside the integrations directory.
  • Inside each integration folder, you'll find a main.py file that implements the core functionality of the integration for the specific third-party system.
  • The pyproject.toml file inside each integration folder lists the required dependencies for that integration.

Configuration

The Integration Framework utilizes a config.yaml file for its configuration. This file defines both the framework configuration and the integration configuration within it. Each integration is identified by its type and unique identifier, which are utilized during initialization to appropriately update Port.

Example config.yaml:

# This is an example configuration file for the integration service.
# Please copy this file to config.yaml file in the integration folder and edit it to your needs.

port:
  clientId: PORT_CLIENT_ID # Can be loaded via environment variable: PORT_CLIENT_ID
  clientSecret: PORT_CLIENT_SECRET # Can be loaded via environment variable: PORT_CLIENT_SECRET
  baseUrl: https://api.getport.io/v1
# The event listener to use for the integration service.
eventListener:
  type: KAFKA / WEBHOOK
integration:
  # The name of the integration.
  identifier: "my_integration"
  # The type of the integration.
  type: "PagerDuty"
  config:
    my_git_token: "random"
    some_other_integration_config: "Very important information"

Contributing

The reason Ocean is open source is that we aim for the Port integration library to offer numerous useful out-of-the-box integrations. We have confidence that developers and DevOps professionals who rely on Port in their everyday work will be inclined to contribute and assist in making it a comprehensive tool.

In order to learn how you can contribute to Ocean, read our contributing guide

Local Development (Framework)

  1. Clone the repository

  2. Install dependencies:

    make install
    

    Or (For installing integrations dependencies as well)

    make install/all
    
  3. source the integration venv

    . .venv/bin/activate
    

Local Development (Integration)

  1. Clone the repository

  2. For new integration run

    make new
    

    and follow the instructions

  3. Install dependencies

  4. cd DESIRED_INTEGRATION_FOLDER && make install
    
  5. source the integration venv

    . .venv/bin/activate
    
  6. Run the integration

    make run
    

    Or

    ocean sail
    

License

The Ocean Framework is open-source software licensed under the Apache 2.0 License. See the LICENSE file for more information.

Contact

For any questions or inquiries, please reach out to our team at support@getport.io

Metadata

Release files for port-ocean 0.56.2rc2

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

Source distribution (sdist)

Source distribution for port-ocean 0.56.2rc2
File Size Uploaded Provenance Actions
port_ocean-0.56.2rc2.tar.gz 397.4 kB Without provenance Details for port_ocean-0.56.2rc2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for port-ocean 0.56.2rc2
File Interpreter ABI Platform Actions
port_ocean-0.56.2rc2-py3-none-any.whl Python 3 none any Details for port_ocean-0.56.2rc2-py3-none-any.whl

Total release size: 958.6 kB

Release files / port_ocean-0.56.2rc2.tar.gz

Download URL port_ocean-0.56.2rc2.tar.gz
Size 397.4 kB
Tags Source
SHA-256 checksum
How to use checksums
e269e54c41ddb7f8aed57ae44a77f2a68fc0f875b085279036d39bb32b8a6f18
BLAKE2b-256 checksum
How to use checksums
0e56cbedbce4b29a7b4f62c8a37d7438d2a779043fda44aced5641dbab75c2c4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / port_ocean-0.56.2rc2-py3-none-any.whl

Download URL port_ocean-0.56.2rc2-py3-none-any.whl
Size 561.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8d80e0b3c49ebfaf990bd7f7726868f5782cab6f455d06b28dff69b653b1a6bf
BLAKE2b-256 checksum
How to use checksums
00383ead271ae242b560f1fd76c6d64b71a0921d764b7d27ca6dc5aa1e25e725
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Security for port-ocean 0.56.2rc2

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
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