Skip to main content

No project description provided

Project description

Opencloudtool Python Library

A tool to hide the complexity of the cloud, now available as a Python library. This library allows you to deploy services directly from your Python scripts.The core of this library is written in Rust for high performance and reliability.

Installation

You can install the library from PyPI using pip

pip install opencloudtool

Basic Usage

To use the library, you need an oct.toml configuration file in your project directory. The library provides deploy and destroy functions to manage your stack.

Example deploy.py

import opencloudtool as oct

# The path to the project directory containing oct.toml
project_path = "./my-app"

oct.deploy(path=project_path)

To destroy infrastructure:

oct.destroy(path=project_path)

Main repo opencloudtool

Dev

How it works: Python-Rust binding

The connection between Python and Rust is managed by maturin and PyO3

  1. maturin compiles the Rust code in the oct-py crate into a native Python module.
  2. We configure the name of this compiled module in pyproject.toml to be opencloudtool._internal.
  3. The leading underscore (_) is a standard Python convention that signals that _internal is a low-level module not meant for direct use.
  4. Our user-facing Python code in opencloudtool/py_api.py imports functions from _internal and presents them as a clean, stable API.

1. Navigate to the Python Directory

cd crates/oct-py

2. Create and activate the Virtual environment

uv venv

source .venv/bin/activate # Windows: .venv\Scripts\activate

3. Install dependencies

uv sync --group dev

4. Build the Library

maturin develop

5. Run the example

cd ../../examples/projects/single-host-python-lib

You can now run python deploy.py or python destroy.py to test your changes.

Releasing the Python Library

Bump the Version Number

  1. Before releasing, you must increment the version number. PyPI will not accept a version that already exists.
  • crates/oct-py/pyproject.toml
  1. Build & upload the Release Packages:
cd crates/oct-py

maturin sdist

maturin build --release

cd ../..

twine upload target/wheels/*

Project details


Download files

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

Source Distribution

opencloudtool-0.6.1.tar.gz (79.3 kB view details)

Uploaded Source

File details

Details for the file opencloudtool-0.6.1.tar.gz.

File metadata

  • Download URL: opencloudtool-0.6.1.tar.gz
  • Upload date:
  • Size: 79.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.9 {"installer":{"name":"uv","version":"0.9.9"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for opencloudtool-0.6.1.tar.gz
Algorithm Hash digest
SHA256 4aeccd61719d8b079369b9aed5b7c3aab1122191bb92c80c4d58c5795b67854d
MD5 21bf85142f0b9409b06f3a5ba3d69b66
BLAKE2b-256 cc9ec79cd306788f3e63a2c4832a5240e868ec961910011365764b2ba5a54af8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page