Official Python client for the Orbuculum API - accounting and finance automation
Project description
Orbuculum Python Client
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
- Installation & Usage - Get started quickly
- API Endpoints - Available API methods
- Models - Data structures
- Authentication - How to authenticate
For Developers
- DOCKER.md - Docker-based development workflow โ ๏ธ Required for all operations
- API_UPDATES.md - How to update client from API changes
- PUBLISHING.md - Complete publishing guide to PyPI
- QUICK_PUBLISH_GUIDE.md - Quick reference for publishing
- VERSIONING.md - Version management and SemVer policy
โ ๏ธ 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.0python-dateutil>=2.8.2pydantic>=2typing-extensions>=4.7.1lazy-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 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 |
| 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
- Account
- AccountCreatedResponse
- AccountPermission
- ActivateAccountRequest
- AddCommissionRequest
- ColumnInfo
- CommissionCreatedResponse
- CommissionData
- CreateAccountPermissionRequest
- CreateAccountRequest
- CreateCustomRecordRequest
- CreateCustomRecordResponse
- CreateEntityPermissionRequest
- CreateLabelPermissionRequest
- CreateLabelRequest
- CreateTransactionRequest
- CustomTableInfo
- CustomValue
- DeleteCustomRecordsRequest
- DeleteCustomRecordsResponse
- DeleteEntityPermissionRequest
- DeleteLabelPermissionRequest
- DeleteTransactionRequest
- EditAccountPermissionRequest
- EntityPermission
- ErrorResponse
- ErrorResponse400
- ErrorResponse401
- ErrorResponse403
- ErrorResponse404
- ErrorResponse405
- ErrorResponse500
- GetAccountPermissionsResponse
- GetAccountResponse
- GetCustomTablesResponse
- GetEntityPermissionsResponse
- GetLabelPermissionsResponse
- GetLabelsResponse
- GetLimitationsResponse
- Label
- LabelCreatedResponse
- LabelCreatedResponseData
- LabelPermission
- Limitation
- LimitationManagedResponse
- LoginRequest
- LoginResponse
- ManageAccountLimitationRequest
- ManageEntityLimitationRequest
- PaginationMeta
- PermissionCreatedResponse
- ReadCustomRecordsResponse
- SuccessResponse
- Transaction
- TransactionCreatedData
- TransactionCreatedResponse
- TransactionListResponse
- UpdateAccountRequest
- UpdateCustomRecordsRequest
- UpdateCustomRecordsResponse
- UpdateLabelRequest
- UpdateLabelResponse
- UpdateLabelResponseData
- UpdateTransactionRequest
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
-
Clone the repository
git clone https://github.com/orbuculum-app/orbuculum-python-client.git cd orbuculum-python-client
-
Use Docker for all operations (required)
# Development shell docker-compose run --rm dev # Run tests docker-compose run --rm dev pytest
-
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
- API Documentation: https://s1.orbuculum.app/swagger
- OpenAPI Specification: https://s1.orbuculum.app/swagger/json
- GitHub Repository: https://github.com/orbuculum-app/orbuculum-python-client
- Issue Tracker: https://github.com/orbuculum-app/orbuculum-python-client/issues
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Support
- Documentation Issues: Open an issue on GitHub
- API Questions: Check the API documentation
- Bug Reports: Use the issue tracker
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file orbuculum_client-0.0.4.tar.gz.
File metadata
- Download URL: orbuculum_client-0.0.4.tar.gz
- Upload date:
- Size: 81.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a4660b2cc89e637e9fc305eaf1f9ac390e3199b1cd3c5c9008d684a193304cd6
|
|
| MD5 |
ec38d361d3961ff763c05dd0b63697b0
|
|
| BLAKE2b-256 |
02bc68160389dce5a999d5b0de57d5774eb87158cab8503b019067ad167052a6
|
File details
Details for the file orbuculum_client-0.0.4-py3-none-any.whl.
File metadata
- Download URL: orbuculum_client-0.0.4-py3-none-any.whl
- Upload date:
- Size: 145.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e2c49ef7043b407044fc4fd6adb5b3a919b8238ad3e6a4374e716b282fbcb023
|
|
| MD5 |
5d9d0a682992a119f5ad0e037da449a6
|
|
| BLAKE2b-256 |
0dff2341836af268068ddddebeadda599c7b15f1f7f14d8cceed01923e6540c4
|