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.8.0
  • Supported API Version: 0.49.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_account_transactions GET /api/account/transactions Get account transactions with cursor pagination
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 search_accounts GET /api/account/search Search accounts in workspace
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
AppContextApi get_app_context GET /api/app-context/index Get application context for SPA initialization
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 refresh POST /api/auth/refresh Refresh JWT access token
AuthenticationApi register POST /api/auth/register Register a new user and get JWT token
AuthenticationApi request_reset POST /api/auth/request-reset Request password reset email
AuthenticationApi reset_password POST /api/auth/reset-password Reset password using token from email
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 get_entity_type_icons GET /api/entity/type-icons Get entity type icons
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_create_anti_pattern POST /api/matching/create-anti-pattern Create an anti-pattern (negative learning from rejected suggestion)
MatchingApi matching_create_example POST /api/matching/create-example Create a confirmed matching example (learning loop)
MatchingApi matching_create_keyword_pattern POST /api/matching/create-keyword-pattern Create or update a keyword pattern (upsert)
MatchingApi matching_list_examples GET /api/matching/list-examples List confirmed matching examples for workspace
MatchingApi matching_list_keyword_patterns GET /api/matching/list-keyword-patterns List keyword patterns for workspace
MatchingApi matching_suggest POST /api/matching/suggest Get account matching suggestions for counterparty
MatchingApi matching_update_example POST /api/matching/update-example Update a matching example (confidence, times_matched, is_active)
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 export_xlsx GET /api/reports/export-xlsx Export report as XLSX (Excel)
ReportsApi get_balance_settings GET /api/reports/get-balance-settings Get Balance report settings
ReportsApi get_balances_report GET /api/reports/get-balances Get Balances report data
ReportsApi get_cashflow_report GET /api/reports/get-cashflow Get Cash Flow report data
ReportsApi get_cashflow_settings GET /api/reports/get-cashflow-settings Get Cash Flow report settings
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
SelectionApi get_selection_tree GET /api/selection/tree Get filtered entity/account tree
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 check_chained_transactions 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_photo GET /api/user/get-photo Get user photo binary
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
UserAdminApi user_admin_create POST /api/user-admin/create Create a new user
UserAdminApi user_admin_delete POST /api/user-admin/delete Delete a user
UserAdminApi user_admin_form_data GET /api/user-admin/form-data Get form data for create/edit user
UserAdminApi user_admin_index GET /api/user-admin/index List all users
UserAdminApi user_admin_ownership GET /api/user-admin/ownership Get user's workspace ownership
UserAdminApi user_admin_roles GET /api/user-admin/roles Get user's RBAC roles
UserAdminApi user_admin_save_ownership POST /api/user-admin/save-ownership Save user's workspace ownership
UserAdminApi user_admin_save_roles POST /api/user-admin/save-roles Save user's RBAC roles
UserAdminApi user_admin_update POST /api/user-admin/update Update an existing user
UserAdminApi user_admin_view GET /api/user-admin/view Get user details
WorkspaceApi create_workspace POST /api/workspace/create Create a new workspace
WorkspaceApi delete_workspace POST /api/workspace/delete Delete a workspace
WorkspaceApi get_workspace_context GET /api/workspace/context Get workspace context for transaction modal
WorkspaceApi get_workspace_image GET /api/workspace/get-image Get workspace image
WorkspaceApi remove_workspace_image POST /api/workspace/remove-image Remove workspace image
WorkspaceApi save_workspace_preferences POST /api/workspace/save-preferences Save report preferences
WorkspaceApi upload_workspace_image POST /api/workspace/upload-image Upload workspace image

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

Version Update Guidelines

  • PATCH (0.8.0 โ†’ 0.8.1): Bug fixes, documentation updates
  • MINOR (0.8.1 โ†’ 0.9.0): New features, backward-compatible
  • MAJOR (0.9.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.8.0.tar.gz (399.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.8.0-py3-none-any.whl (883.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: orbuculum_client-0.8.0.tar.gz
  • Upload date:
  • Size: 399.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.8.0.tar.gz
Algorithm Hash digest
SHA256 13b03f8075a574807ff0e7844babf4eff8852e36cdb101da94efd96c89a4a6ba
MD5 192bec846e2635715ce1a6cda41f1f95
BLAKE2b-256 e37227604abb7edc2796a9b7f86c82ee8c7f2e1431038f7819072a974c7e7e34

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for orbuculum_client-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ae2e59579fbaf92a3d2f9b3409af8cac60156bc1ab22c812b7a6169e2b36861e
MD5 9f1b3520243fd58b160de70f873e4487
BLAKE2b-256 4092933a4e2efff9c195bc0d130d484f0dd74a81c409d03344a8fbad943f842d

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