Skip to main content
Ocean

Ocean Ocean

Lint Ask DeepWiki

Ocean is an innovative solution developed by Port to seamlessly integrate various third-party systems with our developer portal product, empowering engineers to effortlessly prioritize key features and streamline the integration process.

Prerequisites

  • Python 3.11

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

port_ocean-0.50.5.tar.gz (329.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

port_ocean-0.50.5-py3-none-any.whl (461.1 kB view details)

Uploaded Python 3

File details

Details for the file port_ocean-0.50.5.tar.gz.

File metadata

  • Download URL: port_ocean-0.50.5.tar.gz
  • Upload date:
  • Size: 329.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for port_ocean-0.50.5.tar.gz
Algorithm Hash digest
SHA256 db3558d64efa4acfae31f6d214c3fc79e5b6e5920821e4e4fc0449938fcb36d3
MD5 9f827af5dd66fe45a5f0a5f0726322ce
BLAKE2b-256 dff279cfb5c48feb769f631b14ac81dcb7210a8a06b030bd21e7a433c0ca739c

See more details on using hashes here.

File details

Details for the file port_ocean-0.50.5-py3-none-any.whl.

File metadata

  • Download URL: port_ocean-0.50.5-py3-none-any.whl
  • Upload date:
  • Size: 461.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for port_ocean-0.50.5-py3-none-any.whl
Algorithm Hash digest
SHA256 0027f7d4ae98af0beb66e84ce20f9dca167e79fef0d84207a34d2d0ecd55f475
MD5 1e4fdc8c38f357f798b6a0e5ec2fee48
BLAKE2b-256 1b771d83266b9f9ff1f51a295b2bb9aeff2e2ba05664efdb962eae91b8d8a1ea

See more details on using hashes here.

Release history Release notifications | RSS feed

0.50.9

2 files

0.50.8

2 files

0.50.7

2 files

0.50.6

2 files

This release

0.50.5 This release

2 files

0.50.4

2 files

0.50.3

2 files

0.50.2

2 files

0.50.1

2 files

0.50.0

2 files

0.49.1

2 files

0.49.0

2 files

0.48.13

2 files

0.48.12

2 files

0.48.11

2 files

0.48.10

2 files

0.48.9

2 files

0.48.8

2 files

0.48.7

2 files

0.48.6

2 files

0.48.5

2 files

0.48.4

2 files

0.48.3

2 files

0.48.2

2 files

0.48.1

2 files

0.48.0

2 files

0.47.10

2 files

0.47.9

2 files

0.47.8

2 files

0.47.7

2 files

0.47.6

2 files

0.47.5

2 files

0.47.4

2 files

0.47.3

2 files

0.47.2

2 files

0.47.1

2 files

0.47.0

2 files

0.46.6

2 files

0.46.5

2 files

0.46.4

2 files

0.46.3

2 files

0.46.2

2 files

0.46.1

2 files

0.46.0

2 files

0.45.10

2 files

0.45.9

2 files

0.45.8

2 files

0.45.7

2 files

0.45.6

2 files

0.45.5

2 files

0.45.4

2 files

0.45.3

2 files

0.45.2

2 files

0.45.1

2 files

0.45.0

2 files

0.44.14

2 files

0.44.13

2 files

0.44.12

2 files

0.44.11

2 files

0.44.10

2 files

0.44.9

2 files

0.44.8

2 files

0.44.7

2 files

0.44.6

2 files

0.44.5

2 files

0.44.4

2 files

0.44.3

2 files

0.44.2

2 files

0.44.1

2 files

0.44.0

2 files

0.43.19

2 files

0.43.18

2 files

0.43.17

2 files

0.43.16

2 files

0.43.15

2 files

0.43.14

2 files

0.43.13

2 files

0.43.12

2 files

0.43.11

2 files

0.43.10

2 files

0.43.9

2 files

0.43.8

2 files

0.43.7

2 files

0.43.6

2 files

0.43.5

2 files

0.43.4

2 files

0.43.3

2 files

0.43.2

2 files

0.43.1

2 files

0.43.0

2 files

0.42.11

2 files

0.42.10

2 files

0.42.9

2 files

0.42.8

2 files

0.42.7

2 files

0.42.6

2 files

0.42.5

2 files

0.42.4

2 files

0.42.3

2 files

0.42.2

2 files

0.42.1

2 files

0.42.0

2 files

0.41.9

2 files

0.41.8

2 files

0.41.7

2 files

0.41.6

2 files

0.41.5

2 files

0.41.4

2 files

0.41.3

2 files

0.41.2

2 files

0.41.1

2 files

0.41.0

2 files

0.40.7

2 files

0.40.6

2 files

0.40.5

2 files

0.40.4

2 files

0.40.3

2 files

0.40.2

2 files

0.40.1

2 files

0.40.0

2 files

0.39.1

2 files

0.39.0

2 files

0.38.27

2 files

0.38.26

2 files

0.38.25

2 files

0.38.24

2 files

0.38.23

2 files

0.38.22

2 files

0.38.21

2 files

0.38.20

2 files

0.38.19

2 files

0.38.18

2 files

0.38.17

2 files

0.38.16

2 files

0.38.15

2 files

0.38.14

2 files

0.38.13

2 files

0.38.12

2 files

0.38.11

2 files

0.38.10

2 files

0.38.9

2 files

0.38.8

2 files

0.38.7

2 files

0.38.6

2 files

0.38.5

2 files

0.38.4

2 files

0.38.3

2 files

0.38.2

2 files

0.38.1

2 files

0.38.0

2 files

0.37.3

2 files

0.37.2

2 files

0.37.1

2 files

0.37.0

2 files

0.36.0

2 files

0.35.8

2 files

0.35.7

2 files

0.35.6

2 files

0.35.5

2 files

0.35.4

2 files

0.35.3

2 files

0.35.2

2 files

0.35.1

2 files

0.35.0

2 files

0.34.0

2 files

0.33.1

2 files

0.33.0

2 files

0.32.17

2 files

0.32.16

2 files

0.32.15

2 files

0.32.14

2 files

0.32.13

2 files

0.32.12

2 files

0.32.11

2 files

0.32.10

2 files

0.32.9

2 files

0.32.8

2 files

0.32.7

2 files

0.32.6

2 files

0.32.5

2 files

0.32.4

2 files

0.32.3

2 files

0.32.2

2 files

0.32.1

2 files

0.32.0

2 files

0.31.7

2 files

0.31.6

2 files

0.31.4

2 files

0.31.3

2 files

0.31.2

2 files

0.31.1

2 files

0.31.0

2 files

0.30.7

2 files

0.30.6

2 files

0.30.5

2 files

0.30.4

2 files

0.30.3

2 files

0.30.2

2 files

0.30.1

2 files

0.30.0

2 files

0.29.10

2 files

0.29.9

2 files

0.29.8

2 files

0.29.7

2 files

0.29.6

2 files

0.29.5

2 files

0.29.4

2 files

0.29.3

2 files

0.29.2

2 files

0.29.1

2 files

0.29.0

2 files

0.28.19

2 files

0.28.18

2 files

0.28.17

2 files

0.28.16

2 files

0.28.15

2 files

0.28.14

2 files

0.28.12

2 files

0.28.11

2 files

0.28.9

2 files

0.28.8

2 files

0.28.7

2 files

0.28.5

2 files

0.28.4

2 files

0.28.3

2 files

0.28.2

2 files

0.28.1

2 files

0.28.0

2 files

0.27.10

2 files

0.27.9

2 files

0.27.8

2 files

0.27.7

2 files

0.27.6

2 files

0.27.5

2 files

0.27.3

2 files

0.27.2

2 files

0.27.1

2 files

0.27.0

2 files

0.26.3

2 files

0.26.2

2 files

0.26.1

2 files

0.25.5

2 files

0.25.4

2 files

0.25.3

2 files

0.25.2

2 files

0.25.0

2 files

0.24.22

2 files

0.24.21

2 files

0.24.20

2 files

0.24.19

2 files

0.24.18

2 files

0.24.17

2 files

0.24.16

2 files

0.24.15

2 files

0.24.14

2 files

0.24.12

2 files

0.24.11

2 files

0.24.10

2 files

0.24.8

2 files

0.24.7

2 files

0.24.6

2 files

0.24.5

2 files

0.24.4

2 files

0.24.3

2 files

0.24.2

2 files

0.24.1

2 files

0.24.0

2 files

0.23.5

2 files

0.23.4

2 files

0.23.3

2 files

0.23.2

2 files

0.23.1

2 files

0.23.0

2 files

0.22.12

2 files

0.22.11

2 files

0.22.10

2 files

0.22.9

2 files

0.22.8

2 files

0.22.7

2 files

0.22.6

2 files

0.22.5

2 files

0.22.4

2 files

0.22.3

2 files

0.22.2

2 files

0.22.1

2 files

0.22.0

2 files

0.21.5

2 files

0.21.4

2 files

0.21.3

2 files

0.21.2

2 files

0.21.1

2 files

0.21.0

2 files

0.20.4

2 files

0.20.3

2 files

0.20.2

2 files

0.20.1

2 files

0.20.0

2 files

0.19.3

2 files

0.19.2

2 files

0.19.1

2 files

0.18.9

2 files

0.18.8

2 files

0.18.7

2 files

0.18.6

2 files

0.18.5

2 files

0.18.4

2 files

0.18.3

2 files

0.18.2

2 files

0.18.1

2 files

0.18.0

2 files

0.17.8

2 files

0.17.7

2 files

0.17.6

2 files

0.17.5

2 files

0.17.4

2 files

0.17.3

2 files

0.17.2

2 files

0.17.1

2 files

0.17.0

2 files

0.16.1

2 files

0.16.0

2 files

0.15.3

2 files

0.15.2

2 files

0.15.1

2 files

0.15.0

2 files

0.14.7

2 files

0.14.6

2 files

0.14.5

2 files

0.14.4

2 files

0.14.3

2 files

0.14.2

2 files

0.14.1

2 files

0.14.0

2 files

0.13.1

2 files

0.13.0

2 files

0.12.9

2 files

0.12.8

2 files

0.12.7

2 files

0.12.6

2 files

0.12.5

2 files

0.12.4

2 files

0.12.3

2 files

0.12.2

2 files

0.12.1

2 files

0.12.0

2 files

0.11.0

2 files

0.10.12

2 files

0.10.11

2 files

0.10.10

2 files

0.10.9

2 files

0.10.8

2 files

0.10.7

2 files

0.10.6

2 files

0.10.5

2 files

0.10.4

2 files

0.10.3

2 files

0.10.2

2 files

0.10.1

2 files

0.10.0

2 files

0.9.14

2 files

0.9.13

2 files

0.9.12

2 files

0.9.11

2 files

0.9.10

2 files

0.9.8

2 files

0.9.7

2 files

0.9.6

2 files

0.9.5

2 files

0.9.4

2 files

0.9.3

2 files

0.9.2

2 files

0.9.1

2 files

0.9.0

2 files

0.8.0

2 files

0.7.1

2 files

0.7.0

2 files

0.6.0

2 files

0.5.27

2 files

0.5.25

2 files

0.5.24

2 files

0.5.23

2 files

0.5.22

2 files

0.5.21

2 files

0.5.20

2 files

0.5.19

2 files

0.5.18

2 files

0.5.17

2 files

0.5.16

2 files

0.5.15

2 files

0.5.14

2 files

0.5.13

2 files

0.5.12

2 files

0.5.11

2 files

0.5.10

2 files

0.5.9

2 files

0.5.8

2 files

0.5.7

2 files

0.5.6

2 files

0.5.5

2 files

0.5.4

2 files

0.5.3

2 files

0.5.2

2 files

0.5.1

2 files

0.5.0

2 files

0.4.17

2 files

0.4.16

2 files

0.4.15

2 files

0.4.14

2 files

0.4.13

2 files

0.4.12

2 files

0.4.11

2 files

0.4.10

2 files

0.4.9

2 files

0.4.8

2 files

0.4.7

2 files

0.4.6

2 files

0.4.5

2 files

0.4.4

2 files

0.4.3

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 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