Metadata-Version: 2.4
Name: jilebi_sdk
Version: 0.6.2
Summary: jilebi API
Home-page: 
Author: OpenAPI Generator community
Author-email: OpenAPI Generator Community <team@openapitools.org>
License: AGPL-3.0
Project-URL: Repository, https://github.com/Datron/jilebi
Keywords: OpenAPI,OpenAPI-Generator,jilebi API
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: urllib3<3.0.0,>=2.7.0
Requires-Dist: python-dateutil>=2.8.2
Requires-Dist: pydantic>=2.11
Requires-Dist: typing-extensions>=4.7.1
Dynamic: author

# jilebi-sdk
Programmatic API for jilebi microVMs, routes, SSH keys, nodes and billing.

Authenticate with an API key (`X-API-Key` header or `Authorization: Bearer <key>`), or with a browser session cookie. API keys carry scopes — see the `POST /api/v1/api-keys` endpoint for the full list.

This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:

- API version: 1.0.0
- Package version: 0.6.2
- Generator version: 7.26.0
- Build package: org.openapitools.codegen.languages.PythonClientCodegen

## Requirements.

Python 3.10+

Packaging uses standard `[project]` metadata and `[dependency-groups]` (PEP 621/735).
Install the package with `python -m pip install .`; install development dependencies
with Poetry 2.2 or newer using `poetry install`, or pip 25.1 or newer using
`python -m pip install --group dev`. The latter installs the group, not the package.

## Installation & Usage
### pip install

If the python package is hosted on a repository, you can install directly using:

```sh
pip install git+https://github.com/Datron/jilebi.git
```
(you may need to run `pip` with root permission: `sudo pip install git+https://github.com/Datron/jilebi.git`)

Then import the package:
```python
import jilebi_sdk
```

### Setuptools

Install via [Setuptools](http://pypi.python.org/pypi/setuptools).

```sh
python setup.py install --user
```
(or `sudo python setup.py install` to install the package for all users)

Then import the package:
```python
import jilebi_sdk
```

### Tests

Execute `pytest` to run the tests.

## Getting Started

Please follow the [installation procedure](#installation--usage) and then run the following:

```python

import jilebi_sdk
from jilebi_sdk.rest import ApiException
from pprint import pprint

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

# 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 API key authorization: apiKey
configuration.api_key['apiKey'] = os.environ["API_KEY"]

# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['apiKey'] = 'Bearer'

# Configure API key authorization: sessionCookie
configuration.api_key['sessionCookie'] = os.environ["API_KEY"]

# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['sessionCookie'] = 'Bearer'

# Configure Bearer authorization (API key): bearerAuth
configuration = jilebi_sdk.Configuration(
    access_token = os.environ["BEARER_TOKEN"]
)


# Enter a context with an instance of the API client
with jilebi_sdk.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = jilebi_sdk.APIKeysApi(api_client)
    id = 'id_example' # str | Id of the API key.

    try:
        # Revoke an API key
        api_response = api_instance.delete_api_v1_api_keys_by_id(id)
        print("The response of APIKeysApi->delete_api_v1_api_keys_by_id:\n")
        pprint(api_response)
    except ApiException as e:
        print("Exception when calling APIKeysApi->delete_api_v1_api_keys_by_id: %s\n" % e)

```

## Documentation for API Endpoints

All URIs are relative to *https://jilebi.ai*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*APIKeysApi* | [**delete_api_v1_api_keys_by_id**](docs/APIKeysApi.md#delete_api_v1_api_keys_by_id) | **DELETE** /api/v1/api-keys/{id} | Revoke an API key
*APIKeysApi* | [**get_api_v1_api_keys**](docs/APIKeysApi.md#get_api_v1_api_keys) | **GET** /api/v1/api-keys | List API keys
*APIKeysApi* | [**post_api_v1_api_keys**](docs/APIKeysApi.md#post_api_v1_api_keys) | **POST** /api/v1/api-keys | Create an API key
*AccountApi* | [**get_api_me**](docs/AccountApi.md#get_api_me) | **GET** /api/me | Get the current user and session
*BillingApi* | [**get_api_v1_billing_admin_users**](docs/BillingApi.md#get_api_v1_billing_admin_users) | **GET** /api/v1/billing/admin/users | List billable users
*BillingApi* | [**post_api_v1_billing_admin_generate_by_username**](docs/BillingApi.md#post_api_v1_billing_admin_generate_by_username) | **POST** /api/v1/billing/admin/generate/{username} | Generate an invoice
*BillingApi* | [**post_api_v1_billing_admin_reset_dodo_by_username**](docs/BillingApi.md#post_api_v1_billing_admin_reset_dodo_by_username) | **POST** /api/v1/billing/admin/reset-dodo/{username} | Reset a user&#39;s Dodo data
*BillingApi* | [**post_api_v1_billing_pay_by_bill_id**](docs/BillingApi.md#post_api_v1_billing_pay_by_bill_id) | **POST** /api/v1/billing/pay/{billId} | Pay an invoice
*MicroVMsApi* | [**delete_api_v1_vmm_by_machine_name**](docs/MicroVMsApi.md#delete_api_v1_vmm_by_machine_name) | **DELETE** /api/v1/vmm/{machine_name} | Delete a microVM
*MicroVMsApi* | [**get_api_v1_vmm**](docs/MicroVMsApi.md#get_api_v1_vmm) | **GET** /api/v1/vmm | List microVMs
*MicroVMsApi* | [**get_api_v1_vmm_by_machine_name**](docs/MicroVMsApi.md#get_api_v1_vmm_by_machine_name) | **GET** /api/v1/vmm/{machine_name} | Get a microVM
*MicroVMsApi* | [**post_api_v1_vmm_by_machine_name**](docs/MicroVMsApi.md#post_api_v1_vmm_by_machine_name) | **POST** /api/v1/vmm/{machine_name} | Create a microVM
*MicroVMsApi* | [**post_api_v1_vmm_by_machine_name_clone**](docs/MicroVMsApi.md#post_api_v1_vmm_by_machine_name_clone) | **POST** /api/v1/vmm/{machine_name}/clone | Clone a microVM
*MicroVMsApi* | [**put_api_v1_vmm_by_machine_name**](docs/MicroVMsApi.md#put_api_v1_vmm_by_machine_name) | **PUT** /api/v1/vmm/{machine_name} | Resize a microVM
*MicroVMsApi* | [**put_api_v1_vmm_by_machine_name_pause**](docs/MicroVMsApi.md#put_api_v1_vmm_by_machine_name_pause) | **PUT** /api/v1/vmm/{machine_name}/pause | Pause a microVM
*MicroVMsApi* | [**put_api_v1_vmm_by_machine_name_restart**](docs/MicroVMsApi.md#put_api_v1_vmm_by_machine_name_restart) | **PUT** /api/v1/vmm/{machine_name}/restart | Restart a microVM
*MicroVMsApi* | [**put_api_v1_vmm_by_machine_name_restore**](docs/MicroVMsApi.md#put_api_v1_vmm_by_machine_name_restore) | **PUT** /api/v1/vmm/{machine_name}/restore | Restore a microVM from a snapshot
*MicroVMsApi* | [**put_api_v1_vmm_by_machine_name_shutdown**](docs/MicroVMsApi.md#put_api_v1_vmm_by_machine_name_shutdown) | **PUT** /api/v1/vmm/{machine_name}/shutdown | Shut down a microVM
*MicroVMsApi* | [**put_api_v1_vmm_by_machine_name_snapshot**](docs/MicroVMsApi.md#put_api_v1_vmm_by_machine_name_snapshot) | **PUT** /api/v1/vmm/{machine_name}/snapshot | Snapshot a microVM
*MicroVMsApi* | [**put_api_v1_vmm_by_machine_name_start**](docs/MicroVMsApi.md#put_api_v1_vmm_by_machine_name_start) | **PUT** /api/v1/vmm/{machine_name}/start | Start a microVM
*NodesApi* | [**delete_api_v1_nodes_by_name**](docs/NodesApi.md#delete_api_v1_nodes_by_name) | **DELETE** /api/v1/nodes/{name} | Delete a node
*NodesApi* | [**get_api_v1_nodes**](docs/NodesApi.md#get_api_v1_nodes) | **GET** /api/v1/nodes | List nodes
*NodesApi* | [**get_api_v1_nodes_by_name**](docs/NodesApi.md#get_api_v1_nodes_by_name) | **GET** /api/v1/nodes/{name} | Get a node
*NodesApi* | [**post_api_v1_nodes**](docs/NodesApi.md#post_api_v1_nodes) | **POST** /api/v1/nodes | Register a node
*NodesApi* | [**post_api_v1_nodes_by_name_health**](docs/NodesApi.md#post_api_v1_nodes_by_name_health) | **POST** /api/v1/nodes/{name}/health | Check node health
*NodesApi* | [**post_api_v1_nodes_by_name_refresh**](docs/NodesApi.md#post_api_v1_nodes_by_name_refresh) | **POST** /api/v1/nodes/{name}/refresh | Refresh node resources
*NodesApi* | [**post_api_v1_nodes_by_name_reinitialize**](docs/NodesApi.md#post_api_v1_nodes_by_name_reinitialize) | **POST** /api/v1/nodes/{name}/reinitialize | Reinitialize a node
*NodesApi* | [**put_api_v1_nodes_by_name**](docs/NodesApi.md#put_api_v1_nodes_by_name) | **PUT** /api/v1/nodes/{name} | Update a node
*RoutesApi* | [**delete_api_v1_routes_by_name**](docs/RoutesApi.md#delete_api_v1_routes_by_name) | **DELETE** /api/v1/routes/{name} | Delete a route
*RoutesApi* | [**get_api_v1_routes**](docs/RoutesApi.md#get_api_v1_routes) | **GET** /api/v1/routes | List routes
*RoutesApi* | [**post_api_v1_routes**](docs/RoutesApi.md#post_api_v1_routes) | **POST** /api/v1/routes | Create a route
*RoutesApi* | [**put_api_v1_routes_by_name**](docs/RoutesApi.md#put_api_v1_routes_by_name) | **PUT** /api/v1/routes/{name} | Update a route
*SSHKeysApi* | [**delete_api_v1_keys_by_id**](docs/SSHKeysApi.md#delete_api_v1_keys_by_id) | **DELETE** /api/v1/keys/{id} | Delete an SSH key
*SSHKeysApi* | [**get_api_v1_keys**](docs/SSHKeysApi.md#get_api_v1_keys) | **GET** /api/v1/keys | List SSH keys
*SSHKeysApi* | [**post_api_v1_keys**](docs/SSHKeysApi.md#post_api_v1_keys) | **POST** /api/v1/keys | Add an SSH key
*SSHKeysApi* | [**put_api_v1_keys_by_id**](docs/SSHKeysApi.md#put_api_v1_keys_by_id) | **PUT** /api/v1/keys/{id} | Rename an SSH key
*SoftwareCatalogApi* | [**delete_api_v1_software_by_id**](docs/SoftwareCatalogApi.md#delete_api_v1_software_by_id) | **DELETE** /api/v1/software/{id} | Delete software
*SoftwareCatalogApi* | [**get_api_v1_software**](docs/SoftwareCatalogApi.md#get_api_v1_software) | **GET** /api/v1/software | List software
*SoftwareCatalogApi* | [**get_api_v1_software_by_id**](docs/SoftwareCatalogApi.md#get_api_v1_software_by_id) | **GET** /api/v1/software/{id} | Get software
*SoftwareCatalogApi* | [**post_api_v1_software**](docs/SoftwareCatalogApi.md#post_api_v1_software) | **POST** /api/v1/software | Add software
*SoftwareCatalogApi* | [**put_api_v1_software_by_id**](docs/SoftwareCatalogApi.md#put_api_v1_software_by_id) | **PUT** /api/v1/software/{id} | Update software


## Documentation For Models

 - [ApiBillingGenerateResponse](docs/ApiBillingGenerateResponse.md)
 - [ApiBillingGenerateResponseBillsInner](docs/ApiBillingGenerateResponseBillsInner.md)
 - [ApiBillingResetDodoResponse](docs/ApiBillingResetDodoResponse.md)
 - [ApiBillingUser](docs/ApiBillingUser.md)
 - [ApiBillingUsersResponse](docs/ApiBillingUsersResponse.md)
 - [ApiError](docs/ApiError.md)
 - [ApiKey](docs/ApiKey.md)
 - [ApiKeyCreateRequest](docs/ApiKeyCreateRequest.md)
 - [ApiKeyCreateRequestExpiresIn](docs/ApiKeyCreateRequestExpiresIn.md)
 - [ApiKeyCreateResponse](docs/ApiKeyCreateResponse.md)
 - [ApiMeResponse](docs/ApiMeResponse.md)
 - [ApiNode](docs/ApiNode.md)
 - [ApiNodeCreateRequest](docs/ApiNodeCreateRequest.md)
 - [ApiNodeHealthResponse](docs/ApiNodeHealthResponse.md)
 - [ApiNodeRefreshResponse](docs/ApiNodeRefreshResponse.md)
 - [ApiNodeReinitializeResponse](docs/ApiNodeReinitializeResponse.md)
 - [ApiNodeStatus](docs/ApiNodeStatus.md)
 - [ApiNodeUpdateRequest](docs/ApiNodeUpdateRequest.md)
 - [ApiRoute](docs/ApiRoute.md)
 - [ApiRouteCreateRequest](docs/ApiRouteCreateRequest.md)
 - [ApiRouteCreateResponse](docs/ApiRouteCreateResponse.md)
 - [ApiRouteListResponse](docs/ApiRouteListResponse.md)
 - [ApiRouteUpdateRequest](docs/ApiRouteUpdateRequest.md)
 - [ApiSoftware](docs/ApiSoftware.md)
 - [ApiSoftwareCreateRequest](docs/ApiSoftwareCreateRequest.md)
 - [ApiSoftwareUpdateRequest](docs/ApiSoftwareUpdateRequest.md)
 - [ApiSshKey](docs/ApiSshKey.md)
 - [ApiSshKeyCreateRequest](docs/ApiSshKeyCreateRequest.md)
 - [ApiSshKeyCreateResponse](docs/ApiSshKeyCreateResponse.md)
 - [ApiSshKeyUpdateRequest](docs/ApiSshKeyUpdateRequest.md)
 - [ApiSuccess](docs/ApiSuccess.md)
 - [ApiVm](docs/ApiVm.md)
 - [ApiVmCloneRequest](docs/ApiVmCloneRequest.md)
 - [ApiVmCloneResponse](docs/ApiVmCloneResponse.md)
 - [ApiVmCreateRequest](docs/ApiVmCreateRequest.md)
 - [ApiVmCreateResponse](docs/ApiVmCreateResponse.md)
 - [ApiVmGetResponse](docs/ApiVmGetResponse.md)
 - [ApiVmRestoreRequest](docs/ApiVmRestoreRequest.md)
 - [ApiVmRestoreResponse](docs/ApiVmRestoreResponse.md)
 - [ApiVmSnapshotRequest](docs/ApiVmSnapshotRequest.md)
 - [ApiVmSnapshotResponse](docs/ApiVmSnapshotResponse.md)
 - [ApiVmState](docs/ApiVmState.md)
 - [ApiVmUpdateRequest](docs/ApiVmUpdateRequest.md)
 - [DeviceNode](docs/DeviceNode.md)
 - [ProvisionedVm](docs/ProvisionedVm.md)
 - [SharedUser](docs/SharedUser.md)
 - [VmInfo](docs/VmInfo.md)


<a id="documentation-for-authorization"></a>
## Documentation For Authorization


Authentication schemes defined for the API:
<a id="apiKey"></a>
### apiKey

- **Type**: API key
- **API key parameter name**: X-API-Key
- **Location**: HTTP header

<a id="bearerAuth"></a>
### bearerAuth

- **Type**: Bearer authentication (API key)

<a id="sessionCookie"></a>
### sessionCookie

- **Type**: API key
- **API key parameter name**: better-auth.session_token
- **Location**: 


## Author



