Skip to main content

Official Python client for the Orbuculum API - accounting and finance automation

Project description

Orbuculum Python Client

Python 3.9+ License: MIT

Official Python client library for the Orbuculum API - accounting and finance automation platform.

๐Ÿ“ฆ Package Information

  • PyPI Package: orbuculum-client
  • Import Name: orbuculum_client
  • Client Version: 0.0.1
  • Supported API Version: 0.4.0
  • Python: 3.9+

This package is automatically generated from the OpenAPI specification using OpenAPI Generator 7.15.0.


๐Ÿš€ Quick Start

Installation

pip install orbuculum-client

Or install from source:

pip install git+https://github.com/orbuculum-app/orbuculum-python-client.git

Basic Usage

import orbuculum_client
from orbuculum_client.rest import ApiException
import os

# Configure API client
configuration = orbuculum_client.Configuration(
    host = "https://s1.orbuculum.app",
    access_token = os.environ["BEARER_TOKEN"]  # JWT token
)

# Use the API
with orbuculum_client.ApiClient(configuration) as api_client:
    # Create API instance
    api_instance = orbuculum_client.AccountApi(api_client)
    
    try:
        # Get account details
        response = api_instance.get_account(id=1)
        print(response)
    except ApiException as e:
        print(f"Error: {e}")

๐Ÿ“š Documentation

For Users

For Developers


โš ๏ธ Important: Docker-Only Development

All development, build, and publishing operations MUST be performed inside Docker containers.

# Update from API
docker-compose run --rm updater

# Build package
docker-compose run --rm builder

# Run tests
docker-compose run --rm dev pytest

# Publish to PyPI
docker-compose run --rm publisher pypi

# Publish to TestPyPI
docker-compose run --rm publisher testpypi

See DOCKER.md for complete details.


๐Ÿ”ง Development Workflow

1. Update API Client

When the API specification changes:

docker-compose run --rm updater

See API_UPDATES.md for details.

2. Run Tests

docker-compose run --rm dev pytest

3. Build Package

docker-compose run --rm builder

4. Publish

# Test on TestPyPI first
docker-compose run --rm publisher testpypi

# Then publish to PyPI
docker-compose run --rm publisher pypi

See PUBLISHING.md for complete publishing workflow.


๐Ÿ“‹ Requirements

  • Python: 3.9 or higher
  • Docker: For all development operations (required)
  • Dependencies:
    • urllib3>=2.1.0,<3.0.0
    • python-dateutil>=2.8.2
    • pydantic>=2
    • typing-extensions>=4.7.1
    • lazy-imports>=1,<2

Getting Started

Please follow the installation procedure and then run the following:

import orbuculum_client
from orbuculum_client.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to https://s1.orbuculum.app
# See configuration.py for a list of all supported configuration parameters.
configuration = orbuculum_client.Configuration(
    host = "https://s1.orbuculum.app"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure Bearer authorization (JWT): bearerAuth
configuration = orbuculum_client.Configuration(
    access_token = os.environ["BEARER_TOKEN"]
)


# Enter a context with an instance of the API client
with orbuculum_client.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = orbuculum_client.AccountApi(api_client)
    id = 1 # int | Account ID to activate
    activate_account_request = orbuculum_client.ActivateAccountRequest() # ActivateAccountRequest | 

    try:
        # Activate an existing account
        api_response = api_instance.activate_account(id, activate_account_request)
        print("The response of AccountApi->activate_account:\n")
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling AccountApi->activate_account: %s\n" % e)

Documentation for API Endpoints

All URIs are relative to https://s1.orbuculum.app

Class Method HTTP request Description
AccountApi activate_account POST /api/account/activate Activate an existing account
AccountApi create_account POST /api/account/create Create a new account
AccountApi delete_account DELETE /api/account/delete Delete an existing account
AccountApi get_account GET /api/account/get Get account details
AccountApi update_account POST /api/account/update Update an existing account
AccountPermissionsApi create_account_permission POST /api/permission/account-create Create account permission
AccountPermissionsApi delete_account_permission DELETE /api/permission/account-delete Delete account permission
AccountPermissionsApi edit_account_permission POST /api/permission/account-edit Permission to edit account
AccountPermissionsApi get_account_permissions GET /api/permission/account Get account permissions
AuthenticationApi login POST /api/auth/login Login and get JWT token
CustomApi create_custom_record POST /api/custom/create Create a record in custom table
CustomApi delete_custom_records POST /api/custom/delete Delete records from custom table
CustomApi get_custom_tables GET /api/custom/tables Get list of custom tables
CustomApi read_custom_records GET /api/custom/read Read records from custom table
CustomApi update_custom_records POST /api/custom/update Update records in custom table
EntityPermissionsApi create_entity_permission POST /api/permission/entity-create Create entity permission
EntityPermissionsApi delete_entity_permission DELETE /api/permission/entity-delete Delete entity permission
EntityPermissionsApi get_entity_permissions GET /api/permission/entity Get entity permissions
LabelApi create_label POST /api/label/create Create label
LabelApi delete_label DELETE /api/label/delete Delete an existing label
LabelApi get_label GET /api/label/get Get label
LabelApi update_label POST /api/label/update Update label
LabelPermissionsApi create_label_permission POST /api/permission/label-create Create label permission
LabelPermissionsApi delete_label_permission DELETE /api/permission/label-delete Delete label permission
LabelPermissionsApi get_label_permissions GET /api/permission/label Get label permissions
LimitationApi get_limitation GET /api/limitation/get Get limitations for an account
LimitationApi manage_account_limitation POST /api/limitation/account-manage Manage account limitation
LimitationApi manage_entity_limitation POST /api/limitation/entity-manage Manage entity limitation
TransactionApi add_transaction_commission POST /api/transaction/add-commission Add commission to a transaction
TransactionApi create_transaction POST /api/transaction/create Create a new transaction
TransactionApi delete_transaction DELETE /api/transaction/delete Delete an existing transaction
TransactionApi get_transaction GET /api/transaction/get Get transaction details
TransactionApi update_transaction POST /api/transaction/update Update an existing transaction

Documentation For Models

Documentation For Authorization

Authentication schemes defined for the API:

bearerAuth

  • Type: Bearer authentication (JWT)

Author

Orbuculum Team i@orbuculum.app


๐Ÿ”„ Version Management

This client follows Semantic Versioning. The client version is independent from the API version.

Current Versions

import orbuculum_client

print(orbuculum_client.__version__)        # Client version: 0.0.1
print(orbuculum_client.__api_version__)    # API version: 0.4.0
print(orbuculum_client.__api_supported__)  # Supported API: 0.4.0

Version Update Guidelines

  • PATCH (0.0.1 โ†’ 0.0.2): Bug fixes, documentation updates
  • MINOR (0.0.2 โ†’ 0.1.0): New features, backward-compatible
  • MAJOR (0.1.0 โ†’ 1.0.0): Breaking changes

See VERSIONING.md for complete version management policy.


๐Ÿค Contributing

Development Setup

  1. Clone the repository

    git clone https://github.com/orbuculum-app/orbuculum-python-client.git
    cd orbuculum-python-client
    
  2. Use Docker for all operations (required)

    # Development shell
    docker-compose run --rm dev
    
    # Run tests
    docker-compose run --rm dev pytest
    
  3. Update from API changes

    docker-compose run --rm updater
    

See DOCKER.md for complete development workflow.

Project Structure

orbuculum-python-client/
โ”œโ”€โ”€ orbuculum_client/          # Main package (import as orbuculum_client)
โ”‚   โ”œโ”€โ”€ api/                   # API endpoint classes
โ”‚   โ”œโ”€โ”€ models/                # Data models
โ”‚   โ””โ”€โ”€ __init__.py           # Package initialization
โ”œโ”€โ”€ docs/                      # API documentation (auto-generated)
โ”œโ”€โ”€ test/                      # Tests
โ”‚   โ”œโ”€โ”€ generated/            # Auto-generated tests
โ”‚   โ””โ”€โ”€ custom/               # Custom tests
โ”œโ”€โ”€ scripts/                   # Build and update scripts
โ”œโ”€โ”€ docker/                    # Docker configuration
โ”œโ”€โ”€ dev-notes/                 # Personal development notes (gitignored)
โ”œโ”€โ”€ pyproject.toml            # Package configuration
โ”œโ”€โ”€ README.md                 # This file
โ”œโ”€โ”€ DOCKER.md                 # Docker workflow (required reading)
โ”œโ”€โ”€ API_UPDATES.md            # API update process
โ”œโ”€โ”€ PUBLISHING.md             # Publishing guide
โ”œโ”€โ”€ VERSIONING.md             # Version policy
โ””โ”€โ”€ docker-compose.yml        # Docker services

๐Ÿ“– Additional Resources


๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


๐Ÿ†˜ Support


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

orbuculum_client-0.0.3.tar.gz (80.5 kB view details)

Uploaded Source

Built Distribution

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

orbuculum_client-0.0.3-py3-none-any.whl (140.6 kB view details)

Uploaded Python 3

File details

Details for the file orbuculum_client-0.0.3.tar.gz.

File metadata

  • Download URL: orbuculum_client-0.0.3.tar.gz
  • Upload date:
  • Size: 80.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for orbuculum_client-0.0.3.tar.gz
Algorithm Hash digest
SHA256 1b4743b18bda2ed1144b3ed5811429d1e1145d9bd3d0693cad1e89ffa05044c9
MD5 d9b6c9d78c16a9aa0eab63cbe4f041b3
BLAKE2b-256 9a381c5d35bd23b22a446285d2c9c0f7d075b77782495ce3b3ecc1dd4eddb05f

See more details on using hashes here.

File details

Details for the file orbuculum_client-0.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for orbuculum_client-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 71f9027f98beca2250161205459714d7fd6ecdcf22fe6ad98607fe7d169b8e43
MD5 b25c3d242a129b24fd451413a8a9a1c3
BLAKE2b-256 871e3ea8594b7bf257473508c349e4030a2e3858d2d708dc1d7c2562539711c2

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