Skip to main content

A SDK for integrating with Blesta

Project description

Blesta Python SDK

The Blesta Python SDK offers an intuitive API and CLI interface for seamless interaction with Blesta's REST API.

๐Ÿš€ Quick and Easy Setup

  1. Create a Project Folder:

    mkdir my_project && cd my_project
    
  2. Set Up a Python Virtual Environment:

    python3 -m venv venv
    source venv/bin/activate  # On Windows, use venv\Scripts\activate
    
  3. Install Blesta SDK:

    pip install blesta_sdk
    
  4. Configure API Credentials:

    Generate API credentials in Blesta's staff area and save them in a .env file in your project's root folder:

    BLESTA_API_URL=https://your-blesta-domain.com/api
    BLESTA_API_USER=your_api_user
    BLESTA_API_KEY=your_api_key
    

That's it. Let's roll!

๐Ÿ“– Usage Examples

General Command Structure

blesta-cli --model <model_name> --method <method_name> [--action GET] [--params key=value key2=value2] [--last-request]
  • --model: The API model to interact with (e.g., clients, services).
  • --method: The method to call on the specified model (e.g., getList, get, getCustomFields).
  • --action: The HTTP action to perform (default is GET).
  • --params: Optional parameters to pass to the method (e.g., key=value pairs).
  • --last-request: Repeats the last request made.

Clients Model (API Documentation)

  • List all active clients:

    blesta-cli --model clients --method getList --params status=active --last-request
    
  • Get details of a specific client:

    blesta-cli --model clients --method get --params client_id=1 --last-request
    

Services Model (API Documentation)

  • List all active services:

    blesta-cli --model services --method getList --params status=active --last-request
    
  • Count the active services for a client:

    blesta-cli --model services --method getListCount --params client_id=1 status=active
    
  • List all services for a client:

    blesta-cli --model services --method getAllByClient --params client_id=1 status=active --last-request
    

๐Ÿ“‚ Project Structure

Here's an overview of the project structure:

.
โ”œโ”€โ”€ LICENSE
โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ examples
โ”‚   โ””โ”€โ”€ examples.sh
โ”œโ”€โ”€ pyproject.toml
โ”œโ”€โ”€ src
โ”‚   โ””โ”€โ”€ blesta_sdk
โ”‚       โ”œโ”€โ”€ __init__.py
โ”‚       โ”œโ”€โ”€ core
โ”‚       โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚       โ”‚   โ””โ”€โ”€ blesta_response.py
โ”‚       โ”œโ”€โ”€ api
โ”‚       โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚       โ”‚   โ””โ”€โ”€ blesta_request.py
โ”‚       โ””โ”€โ”€ cli
โ”‚           โ”œโ”€โ”€ __init__.py
โ”‚           โ””โ”€โ”€ blesta_cli.py
โ”œโ”€โ”€ tests
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ””โ”€โ”€ test_blesta_sdk.py
โ””โ”€โ”€ uv.lock
  • LICENSE: The license file for the project.
  • README.md: The main documentation file for the project.
  • examples/: Contains example scripts and usage.
  • pyproject.toml: Configuration file for the project.
  • src/: The source code for the Blesta SDK.
    • blesta_sdk/: The main package for the SDK.
      • core/: Core functionality and response handling.
      • api/: API request handling.
      • cli/: Command-line interface implementation.
  • tests/: Unit tests for the SDK.
  • uv.lock: Lock file for dependencies.

๐Ÿค Contribution

We welcome contributions! Whether it's a feature request, bug report, or pull request, we appreciate your input.

How to Contribute

  1. Fork the repository.
  2. Create a feature branch:
    git checkout -b feature/your-feature-name
    
  3. Commit your changes:
    git commit -m "Add your feature description here"
    
  4. Push to your branch:
    git push origin feature/your-feature-name
    
  5. Open a pull request:
    • Push your branch to GitHub.
    • Go to the repository on GitHub.
    • Click on the "Pull requests" tab.
    • Click "New pull request".
    • Select your branch and the main branch.
    • Add a descriptive title and detailed description.
    • Click "Create pull request".

This project is licensed under the MIT License

Happy coding! ๐ŸŽ‰

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

blesta_sdk-0.1.6.tar.gz (33.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

blesta_sdk-0.1.6-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

Details for the file blesta_sdk-0.1.6.tar.gz.

File metadata

  • Download URL: blesta_sdk-0.1.6.tar.gz
  • Upload date:
  • Size: 33.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.3

File hashes

Hashes for blesta_sdk-0.1.6.tar.gz
Algorithm Hash digest
SHA256 8aa8ec65ace56370199794b023384709d47bce1b389249ef8732aec8ef8a6bb7
MD5 c3511329a9700b32ff0cf726a617f776
BLAKE2b-256 c25261264df5459ac09d70ee2dae6e87c1e7c44c54dac1ab6fb6c091d9d34304

See more details on using hashes here.

File details

Details for the file blesta_sdk-0.1.6-py3-none-any.whl.

File metadata

File hashes

Hashes for blesta_sdk-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 ff28e58d5d94693b07044060627d4ccc64f333d3ef9b4b7ef278d1ec734bfb4c
MD5 3935eafb067f524cbc45c6e943397c03
BLAKE2b-256 52d8edf9c070898096fc54247b3ffac4c29515ceea7635932a85883f3224e89a

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