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.4.0
  • Supported API Version: 0.11.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.git

Basic Usage

import orbuculum_client
from orbuculum_client.rest import ApiException
import os

# Configure API client
configuration = orbuculum_client.Configuration(
    host = "https://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:

# Update from production API (default)
docker-compose run --rm updater

# Or from custom URL (staging, dev, local)
docker-compose run --rm updater -u https://dev.orbuculum.app/swagger/json

See UPDATE_AND_PUBLISH.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 UPDATE_AND_PUBLISH.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://orbuculum.app
# See configuration.py for a list of all supported configuration parameters.
configuration = orbuculum_client.Configuration(
    host = "https://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://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 POST /api/account/delete Delete an existing account
AccountApi get_account GET /api/account/get Get account details
AccountApi get_account_balance GET /api/account/balance Get account balance at a specific date
AccountApi get_account_context GET /api/account/context Get account form context data
AccountApi get_menu_config GET /api/account/get-menu-config Get sidebar menu configuration
AccountApi save_account_sorting POST /api/account/save-sorting Save account sorting preference
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 POST /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
AccountPermissionsApi get_manage_access GET /api/permission/manage-access Get manage-access data for account
AccountPermissionsApi update_account_tab POST /api/permission/update-account-tab Update account permissions (Tab 3)
ActivityJournalApi activity_journal_get_authors GET /api/activity-journal/get-authors Get workspace users for activity journal author filter
ActivityJournalApi activity_journal_list GET /api/activity-journal/list Get paginated activity journal entries
AuthenticationApi disconnect_social POST /api/auth/disconnect-social Disconnect a social auth provider
AuthenticationApi login POST /api/auth/login Login and get JWT token
AuthenticationApi register POST /api/auth/register Register a new user and get JWT token
BulkPermissionsApi bulk_assign_permissions POST /api/permission/bulk-assign Bulk assign permissions to a role
ConnectionApi create_connection_recipient POST /api/connection/create-recipient Create recipient connection
ConnectionApi create_connection_source POST /api/connection/create-source Create source connection
ConnectionApi delete_connection POST /api/connection/delete Delete connection
CurrencyApi create_currency POST /api/currency/create Create a new currency
CurrencyApi delete_currency POST /api/currency/delete Delete a currency
CurrencyApi get_currency GET /api/currency/get Get a single currency
CurrencyApi list_currencies GET /api/currency/list List all currencies for a workspace
CurrencyApi update_currency POST /api/currency/update Update an existing currency
CustomApi create_custom_record POST /api/custom/create Create a record in custom table
CustomApi delete_custom_records POST /api/custom/delete Delete record from custom table by ID
CustomApi get_custom_tables GET /api/custom/tables Get list of custom tables
CustomApi read_custom_records POST /api/custom/read Read records from custom table with flexible filtering
CustomApi update_custom_records POST /api/custom/update Update record in custom table by ID
EntityApi activate_entity POST /api/entity/activate Activate entity
EntityApi create_entity POST /api/entity/create Create entity
EntityApi delete_entity POST /api/entity/delete Delete entity
EntityApi get_entities GET /api/entity/get Get entities
EntityApi update_entity POST /api/entity/update Update entity
EntityPermissionsApi create_entity_permission POST /api/permission/entity-create Create entity permission
EntityPermissionsApi delete_entity_permission POST /api/permission/entity-delete Delete entity permission
EntityPermissionsApi get_entity_permissions GET /api/permission/entity Get entity permissions
EntityPermissionsApi update_entity_tab POST /api/permission/update-entity-tab Update entity permissions (Tab 2)
GeneralPermissionsApi toggle_flag POST /api/permission/toggle-flag Toggle a general permission flag for a workspace member
GeneralPermissionsApi toggle_full_access POST /api/permission/toggle-full-access Toggle full access for a workspace member
GeneralPermissionsApi update_tag_tab POST /api/permission/update-tag-tab Update tag permissions (Tab 5)
ImportApi cancel_import POST /api/import/cancel Cancel import
ImportApi create_import POST /api/import/create Execute import
ImportApi get_import_form GET /api/import/get-form Get import form configuration
ImportApi preview_import POST /api/import/preview Preview import data
ImportApi update_import_table POST /api/import/update-table Update import mapping table
LabelApi create_label POST /api/label/create Create label
LabelApi delete_label POST /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 POST /api/permission/label-delete Delete label permission
LabelPermissionsApi get_label_permissions GET /api/permission/label Get label permissions
LabelPermissionsApi update_label_tab POST /api/permission/update-label-tab Update label permissions (Tab 4)
LimitationApi get_limitation GET /api/limitation/get Get transaction limitations for an account
LimitationApi manage_account_limitation POST /api/limitation/account-manage Manage account transaction limitations
LimitationApi manage_entity_limitation POST /api/limitation/entity-manage Manage entity transaction limitations
MatchingApi matching_suggest POST /api/matching/suggest Get account matching suggestions for counterparty
MembershipApi invite_member POST /api/membership/invite Invite user to workspace
MembershipApi list_members GET /api/membership/list List workspace members
MembershipApi remove_member POST /api/membership/remove Remove user from workspace
MembershipApi update_member_role POST /api/membership/update-role Update member role in workspace
PermissionApi manage_access_save POST /api/permission/manage-access-save Bulk save access permissions for an account
RateApi create_rate POST /api/rate/create Create exchange rate
RateApi delete_rate POST /api/rate/delete Delete exchange rate
RateApi get_rate GET /api/rate/get Get exchange rate for a currency on a date
RateApi get_rate_history GET /api/rate/history Get rate history for a currency
RateApi list_rates GET /api/rate/list List exchange rates for currencies
RateApi update_rate POST /api/rate/update Update exchange rate
ReportsApi export_pnl_pdf GET /api/reports/export-pdf Export P&L report as PDF
ReportsApi get_pnl_report GET /api/reports/get-pnl Get P&L report data
ReportsApi save_balance_settings POST /api/reports/save-balance-settings Save balance report display settings
ReportsApi save_cashflow_settings POST /api/reports/save-cashflow-settings Save cash flow report display settings
ReportsApi save_pnl_settings POST /api/reports/pnl-settings Save PnL report display settings
RoleApi create_role POST /api/role/create Create role
RoleApi delete_role POST /api/role/delete Delete role
RoleApi get_roles GET /api/role/get Get roles
RoleApi update_role POST /api/role/update Update role
ScheduledTransactionApi create_scheduled_transaction POST /api/scheduled-transaction/create Create a new scheduled transaction
ScheduledTransactionApi delete_scheduled_transaction POST /api/scheduled-transaction/delete Delete a scheduled transaction
ScheduledTransactionApi get_scheduled_transaction GET /api/scheduled-transaction/get Get scheduled transaction(s)
ScheduledTransactionApi update_scheduled_transaction POST /api/scheduled-transaction/update Update a scheduled transaction
SystemApi system_bundle_check POST /api/system/bundle-check Check bundle version consistency
SystemApi system_error_log POST /api/system/error-log Log a frontend error
SystemApi system_version_check GET /api/system/version-check Check application version
TagApi assign_accounts_to_tag POST /api/tag/assign-accounts Assign accounts to a tag
TagApi create_tag POST /api/tag/create Create a new tag
TagApi delete_tag POST /api/tag/delete Delete a tag
TagApi get_tag_accounts GET /api/tag/get-accounts Get accounts assigned to a tag
TagApi list_tags GET /api/tag/list Get list of tags
TagApi remove_account_from_tag POST /api/tag/remove-account Remove an account from a tag
TagApi update_tag POST /api/tag/update Update a tag
TransactionApi add_transaction_commission POST /api/transaction/add-commission Add commission to a transaction
TransactionApi call_715f0758591c4b040bb95d00236e14e4 POST /api/transaction/check-chained-transactions Check chained transactions affected by mass action
TransactionApi create_transaction POST /api/transaction/create Create a new transaction
TransactionApi delete_transaction POST /api/transaction/delete Delete an existing transaction
TransactionApi delete_transaction_file POST /api/transaction/delete-file Delete a transaction file
TransactionApi download_transaction_file GET /api/transaction/download-file Download a transaction file
TransactionApi get_recalculated_balances GET /api/transaction/get-recalculated-balances Poll for balance recalculation status
TransactionApi get_transaction GET /api/transaction/get Get transaction(s) with enriched data, pagination and filters
TransactionApi list_transaction_files GET /api/transaction/list-files List files for a transaction
TransactionApi mass_delete_transactions POST /api/transaction/mass-delete Delete multiple transactions
TransactionApi mass_duplicate_transactions POST /api/transaction/mass-duplicate Duplicate multiple transactions
TransactionApi mass_replace_account POST /api/transaction/mass-replace-account Replace account on multiple transactions
TransactionApi mass_set_date POST /api/transaction/mass-set-date Set date on multiple transactions
TransactionApi mass_set_done POST /api/transaction/mass-set-done Set done/undone on multiple transactions
TransactionApi set_balance_invalid POST /api/transaction/set-balance-invalid Trigger balance recalculation for specified accounts
TransactionApi update_transaction POST /api/transaction/update Update an existing transaction
TransactionApi upload_transaction_files POST /api/transaction/upload-files Upload files to a transaction
UserApi change_email POST /api/user/change-email Initiate email change
UserApi change_password POST /api/user/change-password Change password
UserApi create_password POST /api/user/create-password Create password for OAuth-only user
UserApi disable_password POST /api/user/disable-password Disable password authentication
UserApi get_user_profile GET /api/user/get-profile Get current user profile
UserApi get_user_workspaces GET /api/user/get-workspaces Get user workspaces
UserApi remove_photo POST /api/user/remove-photo Remove profile photo
UserApi set_timezone POST /api/user/set-timezone Set workspace timezone
UserApi update_username POST /api/user/update-username Update username
UserApi upload_photo POST /api/user/upload-photo Upload profile photo
WorkspaceApi save_workspace_preferences POST /api/workspace/save-preferences Save report preferences

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.4.0
print(orbuculum_client.__api_version__)    # API version: 0.11.0
print(orbuculum_client.__api_supported__)  # Supported API: 0.11.0

Version Update Guidelines

  • PATCH (0.4.0 โ†’ 0.4.1): Bug fixes, documentation updates
  • MINOR (0.4.1 โ†’ 0.5.0): New features, backward-compatible
  • MAJOR (0.5.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.git
    cd orbuculum-python
    
  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/
โ”œโ”€โ”€ 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)
โ”œโ”€โ”€ UPDATE_AND_PUBLISH.md     # API updates and 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.4.0.tar.gz (288.4 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.4.0-py3-none-any.whl (649.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for orbuculum_client-0.4.0.tar.gz
Algorithm Hash digest
SHA256 f5bbc253258a34763e1bf329ec762a5274cf02dbf23b2a745d81420e9ba09ac2
MD5 d225b402d39d686035a56c6e4f28003b
BLAKE2b-256 200f36b9046649c86faaf256e1093339ba0885b58ad25bc1d9a5405791b642d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for orbuculum_client-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 998657bc69c424dd02977c8ba46fefc7cb9e69efffee05bd17a075614ae99b71
MD5 8778b950d78b6afcdee25d62b82d7110
BLAKE2b-256 489d5a893acef20f2615b85776ef25bab40aae0c417f7852070460f650e4882e

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