# Orbuculum Python Client
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
Official Python client library for the [Orbuculum API](https://s1.orbuculum.app/swagger) - 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](https://openapi-generator.tech) 7.15.0.
---
## 🚀 Quick Start
### Installation
```bash
pip install orbuculum-client
```
Or install from source:
```bash
pip install git+https://github.com/orbuculum-app/orbuculum-python-client.git
```
### Basic Usage
```python
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](#installation)** - Get started quickly
- **[API Endpoints](#documentation-for-api-endpoints)** - Available API methods
- **[Models](#documentation-for-models)** - Data structures
- **[Authentication](#documentation-for-authorization)** - How to authenticate
### For Developers
- **[DOCKER.md](DOCKER.md)** - Docker-based development workflow ⚠️ **Required for all operations**
- **[API_UPDATES.md](API_UPDATES.md)** - How to update client from API changes
- **[PUBLISHING.md](PUBLISHING.md)** - Complete publishing guide to PyPI
- **[QUICK_PUBLISH_GUIDE.md](QUICK_PUBLISH_GUIDE.md)** - Quick reference for publishing
- **[VERSIONING.md](VERSIONING.md)** - Version management and SemVer policy
---
## ⚠️ Important: Docker-Only Development
**All development, build, and publishing operations MUST be performed inside Docker containers.**
```bash
# 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](DOCKER.md) for complete details.
---
## 🔧 Development Workflow
### 1. Update API Client
When the API specification changes:
```bash
docker-compose run --rm updater
```
See [API_UPDATES.md](API_UPDATES.md) for details.
### 2. Run Tests
```bash
docker-compose run --rm dev pytest
```
### 3. Build Package
```bash
docker-compose run --rm builder
```
### 4. Publish
```bash
# Test on TestPyPI first
docker-compose run --rm publisher testpypi
# Then publish to PyPI
docker-compose run --rm publisher pypi
```
See [PUBLISHING.md](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](#installation--usage) and then run the following:
```python
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**](docs/AccountApi.md#activate_account) | **POST** /api/account/activate | Activate an existing account
*AccountApi* | [**create_account**](docs/AccountApi.md#create_account) | **POST** /api/account/create | Create a new account
*AccountApi* | [**delete_account**](docs/AccountApi.md#delete_account) | **DELETE** /api/account/delete | Delete an existing account
*AccountApi* | [**get_account**](docs/AccountApi.md#get_account) | **GET** /api/account/get | Get account details
*AccountApi* | [**update_account**](docs/AccountApi.md#update_account) | **POST** /api/account/update | Update an existing account
*AccountPermissionsApi* | [**create_account_permission**](docs/AccountPermissionsApi.md#create_account_permission) | **POST** /api/permission/account-create | Create account permission
*AccountPermissionsApi* | [**delete_account_permission**](docs/AccountPermissionsApi.md#delete_account_permission) | **DELETE** /api/permission/account-delete | Delete account permission
*AccountPermissionsApi* | [**edit_account_permission**](docs/AccountPermissionsApi.md#edit_account_permission) | **POST** /api/permission/account-edit | Permission to edit account
*AccountPermissionsApi* | [**get_account_permissions**](docs/AccountPermissionsApi.md#get_account_permissions) | **GET** /api/permission/account | Get account permissions
*AuthenticationApi* | [**login**](docs/AuthenticationApi.md#login) | **POST** /api/auth/login | Login and get JWT token
*CustomApi* | [**create_custom_record**](docs/CustomApi.md#create_custom_record) | **POST** /api/custom/create | Create a record in custom table
*CustomApi* | [**delete_custom_records**](docs/CustomApi.md#delete_custom_records) | **POST** /api/custom/delete | Delete records from custom table
*CustomApi* | [**get_custom_tables**](docs/CustomApi.md#get_custom_tables) | **GET** /api/custom/tables | Get list of custom tables
*CustomApi* | [**read_custom_records**](docs/CustomApi.md#read_custom_records) | **GET** /api/custom/read | Read records from custom table
*CustomApi* | [**update_custom_records**](docs/CustomApi.md#update_custom_records) | **POST** /api/custom/update | Update records in custom table
*EntityPermissionsApi* | [**create_entity_permission**](docs/EntityPermissionsApi.md#create_entity_permission) | **POST** /api/permission/entity-create | Create entity permission
*EntityPermissionsApi* | [**delete_entity_permission**](docs/EntityPermissionsApi.md#delete_entity_permission) | **DELETE** /api/permission/entity-delete | Delete entity permission
*EntityPermissionsApi* | [**get_entity_permissions**](docs/EntityPermissionsApi.md#get_entity_permissions) | **GET** /api/permission/entity | Get entity permissions
*LabelApi* | [**create_label**](docs/LabelApi.md#create_label) | **POST** /api/label/create | Create label
*LabelApi* | [**delete_label**](docs/LabelApi.md#delete_label) | **DELETE** /api/label/delete | Delete an existing label
*LabelApi* | [**get_label**](docs/LabelApi.md#get_label) | **GET** /api/label/get | Get label
*LabelApi* | [**update_label**](docs/LabelApi.md#update_label) | **POST** /api/label/update | Update label
*LabelPermissionsApi* | [**create_label_permission**](docs/LabelPermissionsApi.md#create_label_permission) | **POST** /api/permission/label-create | Create label permission
*LabelPermissionsApi* | [**delete_label_permission**](docs/LabelPermissionsApi.md#delete_label_permission) | **DELETE** /api/permission/label-delete | Delete label permission
*LabelPermissionsApi* | [**get_label_permissions**](docs/LabelPermissionsApi.md#get_label_permissions) | **GET** /api/permission/label | Get label permissions
*LimitationApi* | [**get_limitation**](docs/LimitationApi.md#get_limitation) | **GET** /api/limitation/get | Get limitations for an account
*LimitationApi* | [**manage_account_limitation**](docs/LimitationApi.md#manage_account_limitation) | **POST** /api/limitation/account-manage | Manage account limitation
*LimitationApi* | [**manage_entity_limitation**](docs/LimitationApi.md#manage_entity_limitation) | **POST** /api/limitation/entity-manage | Manage entity limitation
*TransactionApi* | [**add_transaction_commission**](docs/TransactionApi.md#add_transaction_commission) | **POST** /api/transaction/add-commission | Add commission to a transaction
*TransactionApi* | [**create_transaction**](docs/TransactionApi.md#create_transaction) | **POST** /api/transaction/create | Create a new transaction
*TransactionApi* | [**delete_transaction**](docs/TransactionApi.md#delete_transaction) | **DELETE** /api/transaction/delete | Delete an existing transaction
*TransactionApi* | [**get_transaction**](docs/TransactionApi.md#get_transaction) | **GET** /api/transaction/get | Get transaction details
*TransactionApi* | [**update_transaction**](docs/TransactionApi.md#update_transaction) | **POST** /api/transaction/update | Update an existing transaction
## Documentation For Models
- [Account](docs/Account.md)
- [AccountCreatedResponse](docs/AccountCreatedResponse.md)
- [AccountPermission](docs/AccountPermission.md)
- [ActivateAccountRequest](docs/ActivateAccountRequest.md)
- [AddCommissionRequest](docs/AddCommissionRequest.md)
- [ColumnInfo](docs/ColumnInfo.md)
- [CommissionCreatedResponse](docs/CommissionCreatedResponse.md)
- [CommissionData](docs/CommissionData.md)
- [CreateAccountPermissionRequest](docs/CreateAccountPermissionRequest.md)
- [CreateAccountRequest](docs/CreateAccountRequest.md)
- [CreateCustomRecordRequest](docs/CreateCustomRecordRequest.md)
- [CreateCustomRecordResponse](docs/CreateCustomRecordResponse.md)
- [CreateEntityPermissionRequest](docs/CreateEntityPermissionRequest.md)
- [CreateLabelPermissionRequest](docs/CreateLabelPermissionRequest.md)
- [CreateLabelRequest](docs/CreateLabelRequest.md)
- [CreateTransactionRequest](docs/CreateTransactionRequest.md)
- [CustomTableInfo](docs/CustomTableInfo.md)
- [CustomValue](docs/CustomValue.md)
- [DeleteCustomRecordsRequest](docs/DeleteCustomRecordsRequest.md)
- [DeleteCustomRecordsResponse](docs/DeleteCustomRecordsResponse.md)
- [DeleteEntityPermissionRequest](docs/DeleteEntityPermissionRequest.md)
- [DeleteLabelPermissionRequest](docs/DeleteLabelPermissionRequest.md)
- [DeleteTransactionRequest](docs/DeleteTransactionRequest.md)
- [EditAccountPermissionRequest](docs/EditAccountPermissionRequest.md)
- [EntityPermission](docs/EntityPermission.md)
- [ErrorResponse](docs/ErrorResponse.md)
- [ErrorResponse400](docs/ErrorResponse400.md)
- [ErrorResponse401](docs/ErrorResponse401.md)
- [ErrorResponse403](docs/ErrorResponse403.md)
- [ErrorResponse404](docs/ErrorResponse404.md)
- [GetAccountPermissionsResponse](docs/GetAccountPermissionsResponse.md)
- [GetAccountResponse](docs/GetAccountResponse.md)
- [GetCustomTablesResponse](docs/GetCustomTablesResponse.md)
- [GetEntityPermissionsResponse](docs/GetEntityPermissionsResponse.md)
- [GetLabelPermissionsResponse](docs/GetLabelPermissionsResponse.md)
- [GetLabelsResponse](docs/GetLabelsResponse.md)
- [GetLimitationsResponse](docs/GetLimitationsResponse.md)
- [Label](docs/Label.md)
- [LabelCreatedResponse](docs/LabelCreatedResponse.md)
- [LabelPermission](docs/LabelPermission.md)
- [Limitation](docs/Limitation.md)
- [LimitationManagedResponse](docs/LimitationManagedResponse.md)
- [LoginRequest](docs/LoginRequest.md)
- [LoginResponse](docs/LoginResponse.md)
- [ManageAccountLimitationRequest](docs/ManageAccountLimitationRequest.md)
- [ManageEntityLimitationRequest](docs/ManageEntityLimitationRequest.md)
- [PaginationMeta](docs/PaginationMeta.md)
- [PermissionCreatedResponse](docs/PermissionCreatedResponse.md)
- [ReadCustomRecordsResponse](docs/ReadCustomRecordsResponse.md)
- [SuccessResponse](docs/SuccessResponse.md)
- [Transaction](docs/Transaction.md)
- [TransactionCreatedData](docs/TransactionCreatedData.md)
- [TransactionCreatedResponse](docs/TransactionCreatedResponse.md)
- [TransactionListResponse](docs/TransactionListResponse.md)
- [UpdateAccountRequest](docs/UpdateAccountRequest.md)
- [UpdateCustomRecordsRequest](docs/UpdateCustomRecordsRequest.md)
- [UpdateCustomRecordsResponse](docs/UpdateCustomRecordsResponse.md)
- [UpdateLabelRequest](docs/UpdateLabelRequest.md)
- [UpdateTransactionRequest](docs/UpdateTransactionRequest.md)
<a id="documentation-for-authorization"></a>
## Documentation For Authorization
Authentication schemes defined for the API:
<a id="bearerAuth"></a>
### bearerAuth
- **Type**: Bearer authentication (JWT)
## Author
Orbuculum Team <i@orbuculum.app>
---
## 🔄 Version Management
This client follows [Semantic Versioning](https://semver.org/). The client version is **independent** from the API version.
### Current Versions
```python
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](VERSIONING.md) for complete version management policy.
---
## 🤝 Contributing
### Development Setup
1. **Clone the repository**
```bash
git clone https://github.com/orbuculum-app/orbuculum-python-client.git
cd orbuculum-python-client
```
2. **Use Docker for all operations** (required)
```bash
# Development shell
docker-compose run --rm dev
# Run tests
docker-compose run --rm dev pytest
```
3. **Update from API changes**
```bash
docker-compose run --rm updater
```
See [DOCKER.md](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](LICENSE) file for details.
---
## 🆘 Support
- **Documentation Issues**: Open an issue on GitHub
- **API Questions**: Check the [API documentation](https://s1.orbuculum.app/swagger)
- **Bug Reports**: Use the [issue tracker](https://github.com/orbuculum-app/orbuculum-python-client/issues)
---
Raw data
{
"_id": null,
"home_page": null,
"name": "orbuculum-client",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "orbuculum, api, client, accounting, finance, automation",
"author": null,
"author_email": "Orbuculum Team <i@orbuculum.app>",
"download_url": "https://files.pythonhosted.org/packages/18/9b/05b08e8621adf3c46b56648a4d333b492a4945b2ce107a818311ea3473a8/orbuculum_client-0.0.1.tar.gz",
"platform": null,
"description": "# Orbuculum Python Client\n\n[](https://www.python.org/downloads/)\n[](https://opensource.org/licenses/MIT)\n\nOfficial Python client library for the [Orbuculum API](https://s1.orbuculum.app/swagger) - accounting and finance automation platform.\n\n## \ud83d\udce6 Package Information\n\n- **PyPI Package**: `orbuculum-client`\n- **Import Name**: `orbuculum_client`\n- **Client Version**: 0.0.1\n- **Supported API Version**: 0.4.0\n- **Python**: 3.9+\n\nThis package is automatically generated from the OpenAPI specification using [OpenAPI Generator](https://openapi-generator.tech) 7.15.0.\n\n---\n\n## \ud83d\ude80 Quick Start\n\n### Installation\n\n```bash\npip install orbuculum-client\n```\n\nOr install from source:\n```bash\npip install git+https://github.com/orbuculum-app/orbuculum-python-client.git\n```\n\n### Basic Usage\n\n```python\nimport orbuculum_client\nfrom orbuculum_client.rest import ApiException\nimport os\n\n# Configure API client\nconfiguration = orbuculum_client.Configuration(\n host = \"https://s1.orbuculum.app\",\n access_token = os.environ[\"BEARER_TOKEN\"] # JWT token\n)\n\n# Use the API\nwith orbuculum_client.ApiClient(configuration) as api_client:\n # Create API instance\n api_instance = orbuculum_client.AccountApi(api_client)\n \n try:\n # Get account details\n response = api_instance.get_account(id=1)\n print(response)\n except ApiException as e:\n print(f\"Error: {e}\")\n```\n\n---\n\n## \ud83d\udcda Documentation\n\n### For Users\n\n- **[Installation & Usage](#installation)** - Get started quickly\n- **[API Endpoints](#documentation-for-api-endpoints)** - Available API methods\n- **[Models](#documentation-for-models)** - Data structures\n- **[Authentication](#documentation-for-authorization)** - How to authenticate\n\n### For Developers\n\n- **[DOCKER.md](DOCKER.md)** - Docker-based development workflow \u26a0\ufe0f **Required for all operations**\n- **[API_UPDATES.md](API_UPDATES.md)** - How to update client from API changes\n- **[PUBLISHING.md](PUBLISHING.md)** - Complete publishing guide to PyPI\n- **[QUICK_PUBLISH_GUIDE.md](QUICK_PUBLISH_GUIDE.md)** - Quick reference for publishing\n- **[VERSIONING.md](VERSIONING.md)** - Version management and SemVer policy\n\n---\n\n## \u26a0\ufe0f Important: Docker-Only Development\n\n**All development, build, and publishing operations MUST be performed inside Docker containers.**\n\n```bash\n# Update from API\ndocker-compose run --rm updater\n\n# Build package\ndocker-compose run --rm builder\n\n# Run tests\ndocker-compose run --rm dev pytest\n\n# Publish to PyPI\ndocker-compose run --rm publisher pypi\n\n# Publish to TestPyPI\ndocker-compose run --rm publisher testpypi\n```\n\nSee [DOCKER.md](DOCKER.md) for complete details.\n\n---\n\n## \ud83d\udd27 Development Workflow\n\n### 1. Update API Client\n\nWhen the API specification changes:\n\n```bash\ndocker-compose run --rm updater\n```\n\nSee [API_UPDATES.md](API_UPDATES.md) for details.\n\n### 2. Run Tests\n\n```bash\ndocker-compose run --rm dev pytest\n```\n\n### 3. Build Package\n\n```bash\ndocker-compose run --rm builder\n```\n\n### 4. Publish\n\n```bash\n# Test on TestPyPI first\ndocker-compose run --rm publisher testpypi\n\n# Then publish to PyPI\ndocker-compose run --rm publisher pypi\n```\n\nSee [PUBLISHING.md](PUBLISHING.md) for complete publishing workflow.\n\n---\n\n## \ud83d\udccb Requirements\n\n- **Python**: 3.9 or higher\n- **Docker**: For all development operations (required)\n- **Dependencies**:\n - `urllib3>=2.1.0,<3.0.0`\n - `python-dateutil>=2.8.2`\n - `pydantic>=2`\n - `typing-extensions>=4.7.1`\n - `lazy-imports>=1,<2`\n\n---\n\n## Getting Started\n\nPlease follow the [installation procedure](#installation--usage) and then run the following:\n\n```python\n\nimport orbuculum_client\nfrom orbuculum_client.rest import ApiException\nfrom pprint import pprint\n\n# Defining the host is optional and defaults to https://s1.orbuculum.app\n# See configuration.py for a list of all supported configuration parameters.\nconfiguration = orbuculum_client.Configuration(\n host = \"https://s1.orbuculum.app\"\n)\n\n# The client must configure the authentication and authorization parameters\n# in accordance with the API server security policy.\n# Examples for each auth method are provided below, use the example that\n# satisfies your auth use case.\n\n# Configure Bearer authorization (JWT): bearerAuth\nconfiguration = orbuculum_client.Configuration(\n access_token = os.environ[\"BEARER_TOKEN\"]\n)\n\n\n# Enter a context with an instance of the API client\nwith orbuculum_client.ApiClient(configuration) as api_client:\n # Create an instance of the API class\n api_instance = orbuculum_client.AccountApi(api_client)\n id = 1 # int | Account ID to activate\n activate_account_request = orbuculum_client.ActivateAccountRequest() # ActivateAccountRequest | \n\n try:\n # Activate an existing account\n api_response = api_instance.activate_account(id, activate_account_request)\n print(\"The response of AccountApi->activate_account:\\n\")\n pprint(api_response)\n except ApiException as e:\n print(\"Exception when calling AccountApi->activate_account: %s\\n\" % e)\n\n```\n\n## Documentation for API Endpoints\n\nAll URIs are relative to *https://s1.orbuculum.app*\n\nClass | Method | HTTP request | Description\n------------ | ------------- | ------------- | -------------\n*AccountApi* | [**activate_account**](docs/AccountApi.md#activate_account) | **POST** /api/account/activate | Activate an existing account\n*AccountApi* | [**create_account**](docs/AccountApi.md#create_account) | **POST** /api/account/create | Create a new account\n*AccountApi* | [**delete_account**](docs/AccountApi.md#delete_account) | **DELETE** /api/account/delete | Delete an existing account\n*AccountApi* | [**get_account**](docs/AccountApi.md#get_account) | **GET** /api/account/get | Get account details\n*AccountApi* | [**update_account**](docs/AccountApi.md#update_account) | **POST** /api/account/update | Update an existing account\n*AccountPermissionsApi* | [**create_account_permission**](docs/AccountPermissionsApi.md#create_account_permission) | **POST** /api/permission/account-create | Create account permission\n*AccountPermissionsApi* | [**delete_account_permission**](docs/AccountPermissionsApi.md#delete_account_permission) | **DELETE** /api/permission/account-delete | Delete account permission\n*AccountPermissionsApi* | [**edit_account_permission**](docs/AccountPermissionsApi.md#edit_account_permission) | **POST** /api/permission/account-edit | Permission to edit account\n*AccountPermissionsApi* | [**get_account_permissions**](docs/AccountPermissionsApi.md#get_account_permissions) | **GET** /api/permission/account | Get account permissions\n*AuthenticationApi* | [**login**](docs/AuthenticationApi.md#login) | **POST** /api/auth/login | Login and get JWT token\n*CustomApi* | [**create_custom_record**](docs/CustomApi.md#create_custom_record) | **POST** /api/custom/create | Create a record in custom table\n*CustomApi* | [**delete_custom_records**](docs/CustomApi.md#delete_custom_records) | **POST** /api/custom/delete | Delete records from custom table\n*CustomApi* | [**get_custom_tables**](docs/CustomApi.md#get_custom_tables) | **GET** /api/custom/tables | Get list of custom tables\n*CustomApi* | [**read_custom_records**](docs/CustomApi.md#read_custom_records) | **GET** /api/custom/read | Read records from custom table\n*CustomApi* | [**update_custom_records**](docs/CustomApi.md#update_custom_records) | **POST** /api/custom/update | Update records in custom table\n*EntityPermissionsApi* | [**create_entity_permission**](docs/EntityPermissionsApi.md#create_entity_permission) | **POST** /api/permission/entity-create | Create entity permission\n*EntityPermissionsApi* | [**delete_entity_permission**](docs/EntityPermissionsApi.md#delete_entity_permission) | **DELETE** /api/permission/entity-delete | Delete entity permission\n*EntityPermissionsApi* | [**get_entity_permissions**](docs/EntityPermissionsApi.md#get_entity_permissions) | **GET** /api/permission/entity | Get entity permissions\n*LabelApi* | [**create_label**](docs/LabelApi.md#create_label) | **POST** /api/label/create | Create label\n*LabelApi* | [**delete_label**](docs/LabelApi.md#delete_label) | **DELETE** /api/label/delete | Delete an existing label\n*LabelApi* | [**get_label**](docs/LabelApi.md#get_label) | **GET** /api/label/get | Get label\n*LabelApi* | [**update_label**](docs/LabelApi.md#update_label) | **POST** /api/label/update | Update label\n*LabelPermissionsApi* | [**create_label_permission**](docs/LabelPermissionsApi.md#create_label_permission) | **POST** /api/permission/label-create | Create label permission\n*LabelPermissionsApi* | [**delete_label_permission**](docs/LabelPermissionsApi.md#delete_label_permission) | **DELETE** /api/permission/label-delete | Delete label permission\n*LabelPermissionsApi* | [**get_label_permissions**](docs/LabelPermissionsApi.md#get_label_permissions) | **GET** /api/permission/label | Get label permissions\n*LimitationApi* | [**get_limitation**](docs/LimitationApi.md#get_limitation) | **GET** /api/limitation/get | Get limitations for an account\n*LimitationApi* | [**manage_account_limitation**](docs/LimitationApi.md#manage_account_limitation) | **POST** /api/limitation/account-manage | Manage account limitation\n*LimitationApi* | [**manage_entity_limitation**](docs/LimitationApi.md#manage_entity_limitation) | **POST** /api/limitation/entity-manage | Manage entity limitation\n*TransactionApi* | [**add_transaction_commission**](docs/TransactionApi.md#add_transaction_commission) | **POST** /api/transaction/add-commission | Add commission to a transaction\n*TransactionApi* | [**create_transaction**](docs/TransactionApi.md#create_transaction) | **POST** /api/transaction/create | Create a new transaction\n*TransactionApi* | [**delete_transaction**](docs/TransactionApi.md#delete_transaction) | **DELETE** /api/transaction/delete | Delete an existing transaction\n*TransactionApi* | [**get_transaction**](docs/TransactionApi.md#get_transaction) | **GET** /api/transaction/get | Get transaction details\n*TransactionApi* | [**update_transaction**](docs/TransactionApi.md#update_transaction) | **POST** /api/transaction/update | Update an existing transaction\n\n\n## Documentation For Models\n\n - [Account](docs/Account.md)\n - [AccountCreatedResponse](docs/AccountCreatedResponse.md)\n - [AccountPermission](docs/AccountPermission.md)\n - [ActivateAccountRequest](docs/ActivateAccountRequest.md)\n - [AddCommissionRequest](docs/AddCommissionRequest.md)\n - [ColumnInfo](docs/ColumnInfo.md)\n - [CommissionCreatedResponse](docs/CommissionCreatedResponse.md)\n - [CommissionData](docs/CommissionData.md)\n - [CreateAccountPermissionRequest](docs/CreateAccountPermissionRequest.md)\n - [CreateAccountRequest](docs/CreateAccountRequest.md)\n - [CreateCustomRecordRequest](docs/CreateCustomRecordRequest.md)\n - [CreateCustomRecordResponse](docs/CreateCustomRecordResponse.md)\n - [CreateEntityPermissionRequest](docs/CreateEntityPermissionRequest.md)\n - [CreateLabelPermissionRequest](docs/CreateLabelPermissionRequest.md)\n - [CreateLabelRequest](docs/CreateLabelRequest.md)\n - [CreateTransactionRequest](docs/CreateTransactionRequest.md)\n - [CustomTableInfo](docs/CustomTableInfo.md)\n - [CustomValue](docs/CustomValue.md)\n - [DeleteCustomRecordsRequest](docs/DeleteCustomRecordsRequest.md)\n - [DeleteCustomRecordsResponse](docs/DeleteCustomRecordsResponse.md)\n - [DeleteEntityPermissionRequest](docs/DeleteEntityPermissionRequest.md)\n - [DeleteLabelPermissionRequest](docs/DeleteLabelPermissionRequest.md)\n - [DeleteTransactionRequest](docs/DeleteTransactionRequest.md)\n - [EditAccountPermissionRequest](docs/EditAccountPermissionRequest.md)\n - [EntityPermission](docs/EntityPermission.md)\n - [ErrorResponse](docs/ErrorResponse.md)\n - [ErrorResponse400](docs/ErrorResponse400.md)\n - [ErrorResponse401](docs/ErrorResponse401.md)\n - [ErrorResponse403](docs/ErrorResponse403.md)\n - [ErrorResponse404](docs/ErrorResponse404.md)\n - [GetAccountPermissionsResponse](docs/GetAccountPermissionsResponse.md)\n - [GetAccountResponse](docs/GetAccountResponse.md)\n - [GetCustomTablesResponse](docs/GetCustomTablesResponse.md)\n - [GetEntityPermissionsResponse](docs/GetEntityPermissionsResponse.md)\n - [GetLabelPermissionsResponse](docs/GetLabelPermissionsResponse.md)\n - [GetLabelsResponse](docs/GetLabelsResponse.md)\n - [GetLimitationsResponse](docs/GetLimitationsResponse.md)\n - [Label](docs/Label.md)\n - [LabelCreatedResponse](docs/LabelCreatedResponse.md)\n - [LabelPermission](docs/LabelPermission.md)\n - [Limitation](docs/Limitation.md)\n - [LimitationManagedResponse](docs/LimitationManagedResponse.md)\n - [LoginRequest](docs/LoginRequest.md)\n - [LoginResponse](docs/LoginResponse.md)\n - [ManageAccountLimitationRequest](docs/ManageAccountLimitationRequest.md)\n - [ManageEntityLimitationRequest](docs/ManageEntityLimitationRequest.md)\n - [PaginationMeta](docs/PaginationMeta.md)\n - [PermissionCreatedResponse](docs/PermissionCreatedResponse.md)\n - [ReadCustomRecordsResponse](docs/ReadCustomRecordsResponse.md)\n - [SuccessResponse](docs/SuccessResponse.md)\n - [Transaction](docs/Transaction.md)\n - [TransactionCreatedData](docs/TransactionCreatedData.md)\n - [TransactionCreatedResponse](docs/TransactionCreatedResponse.md)\n - [TransactionListResponse](docs/TransactionListResponse.md)\n - [UpdateAccountRequest](docs/UpdateAccountRequest.md)\n - [UpdateCustomRecordsRequest](docs/UpdateCustomRecordsRequest.md)\n - [UpdateCustomRecordsResponse](docs/UpdateCustomRecordsResponse.md)\n - [UpdateLabelRequest](docs/UpdateLabelRequest.md)\n - [UpdateTransactionRequest](docs/UpdateTransactionRequest.md)\n\n\n<a id=\"documentation-for-authorization\"></a>\n## Documentation For Authorization\n\n\nAuthentication schemes defined for the API:\n<a id=\"bearerAuth\"></a>\n### bearerAuth\n\n- **Type**: Bearer authentication (JWT)\n\n\n## Author\n\nOrbuculum Team <i@orbuculum.app>\n\n---\n\n## \ud83d\udd04 Version Management\n\nThis client follows [Semantic Versioning](https://semver.org/). The client version is **independent** from the API version.\n\n### Current Versions\n\n```python\nimport orbuculum_client\n\nprint(orbuculum_client.__version__) # Client version: 0.0.1\nprint(orbuculum_client.__api_version__) # API version: 0.4.0\nprint(orbuculum_client.__api_supported__) # Supported API: 0.4.0\n```\n\n### Version Update Guidelines\n\n- **PATCH** (0.0.1 \u2192 0.0.2): Bug fixes, documentation updates\n- **MINOR** (0.0.2 \u2192 0.1.0): New features, backward-compatible\n- **MAJOR** (0.1.0 \u2192 1.0.0): Breaking changes\n\nSee [VERSIONING.md](VERSIONING.md) for complete version management policy.\n\n---\n\n## \ud83e\udd1d Contributing\n\n### Development Setup\n\n1. **Clone the repository**\n ```bash\n git clone https://github.com/orbuculum-app/orbuculum-python-client.git\n cd orbuculum-python-client\n ```\n\n2. **Use Docker for all operations** (required)\n ```bash\n # Development shell\n docker-compose run --rm dev\n \n # Run tests\n docker-compose run --rm dev pytest\n ```\n\n3. **Update from API changes**\n ```bash\n docker-compose run --rm updater\n ```\n\nSee [DOCKER.md](DOCKER.md) for complete development workflow.\n\n### Project Structure\n\n```\norbuculum-python-client/\n\u251c\u2500\u2500 orbuculum_client/ # Main package (import as orbuculum_client)\n\u2502 \u251c\u2500\u2500 api/ # API endpoint classes\n\u2502 \u251c\u2500\u2500 models/ # Data models\n\u2502 \u2514\u2500\u2500 __init__.py # Package initialization\n\u251c\u2500\u2500 docs/ # API documentation (auto-generated)\n\u251c\u2500\u2500 test/ # Tests\n\u2502 \u251c\u2500\u2500 generated/ # Auto-generated tests\n\u2502 \u2514\u2500\u2500 custom/ # Custom tests\n\u251c\u2500\u2500 scripts/ # Build and update scripts\n\u251c\u2500\u2500 docker/ # Docker configuration\n\u251c\u2500\u2500 dev-notes/ # Personal development notes (gitignored)\n\u251c\u2500\u2500 pyproject.toml # Package configuration\n\u251c\u2500\u2500 README.md # This file\n\u251c\u2500\u2500 DOCKER.md # Docker workflow (required reading)\n\u251c\u2500\u2500 API_UPDATES.md # API update process\n\u251c\u2500\u2500 PUBLISHING.md # Publishing guide\n\u251c\u2500\u2500 VERSIONING.md # Version policy\n\u2514\u2500\u2500 docker-compose.yml # Docker services\n```\n\n---\n\n## \ud83d\udcd6 Additional Resources\n\n- **API Documentation**: https://s1.orbuculum.app/swagger\n- **OpenAPI Specification**: https://s1.orbuculum.app/swagger/json\n- **GitHub Repository**: https://github.com/orbuculum-app/orbuculum-python-client\n- **Issue Tracker**: https://github.com/orbuculum-app/orbuculum-python-client/issues\n\n---\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n---\n\n## \ud83c\udd98 Support\n\n- **Documentation Issues**: Open an issue on GitHub\n- **API Questions**: Check the [API documentation](https://s1.orbuculum.app/swagger)\n- **Bug Reports**: Use the [issue tracker](https://github.com/orbuculum-app/orbuculum-python-client/issues)\n\n---\n\n",
"bugtrack_url": null,
"license": null,
"summary": "Official Python client for the Orbuculum API - accounting and finance automation",
"version": "0.0.1",
"project_urls": {
"Documentation": "https://s1.orbuculum.app/swagger",
"Homepage": "https://github.com/orbuculum-app/orbuculum-python-client",
"Issues": "https://github.com/orbuculum-app/orbuculum-python-client/issues",
"Repository": "https://github.com/orbuculum-app/orbuculum-python-client"
},
"split_keywords": [
"orbuculum",
" api",
" client",
" accounting",
" finance",
" automation"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "cbbf09ab9acb1dbf4105d077c90bc7f46a46dcf1e596bc2f1fb08bcfec23f3fb",
"md5": "25b6c5f7d18e9df641a6468ff9cbdec8",
"sha256": "7a889756744818add4f3a9f214668a8b346158fe3dcff9a61488dcae413a9763"
},
"downloads": -1,
"filename": "orbuculum_client-0.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "25b6c5f7d18e9df641a6468ff9cbdec8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 137619,
"upload_time": "2025-10-06T17:43:42",
"upload_time_iso_8601": "2025-10-06T17:43:42.542910Z",
"url": "https://files.pythonhosted.org/packages/cb/bf/09ab9acb1dbf4105d077c90bc7f46a46dcf1e596bc2f1fb08bcfec23f3fb/orbuculum_client-0.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "189b05b08e8621adf3c46b56648a4d333b492a4945b2ce107a818311ea3473a8",
"md5": "abd774304c9cb91bf024a9c6d552fea1",
"sha256": "3c0274ab7b2b91b7c69e69020bbfdff569cebe95aecd0e39ceeed1250f517762"
},
"downloads": -1,
"filename": "orbuculum_client-0.0.1.tar.gz",
"has_sig": false,
"md5_digest": "abd774304c9cb91bf024a9c6d552fea1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 80104,
"upload_time": "2025-10-06T17:43:44",
"upload_time_iso_8601": "2025-10-06T17:43:44.346493Z",
"url": "https://files.pythonhosted.org/packages/18/9b/05b08e8621adf3c46b56648a4d333b492a4945b2ce107a818311ea3473a8/orbuculum_client-0.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-06 17:43:44",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "orbuculum-app",
"github_project": "orbuculum-python-client",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "urllib3",
"specs": [
[
"<",
"3.0.0"
],
[
">=",
"2.1.0"
]
]
},
{
"name": "python_dateutil",
"specs": [
[
">=",
"2.8.2"
]
]
},
{
"name": "pydantic",
"specs": [
[
">=",
"2"
]
]
},
{
"name": "typing-extensions",
"specs": [
[
">=",
"4.7.1"
]
]
},
{
"name": "lazy-imports",
"specs": [
[
"<",
"2"
],
[
">=",
"1"
]
]
}
],
"tox": true,
"lcname": "orbuculum-client"
}