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.5.tar.gz (19.4 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.5-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for blesta_sdk-0.1.5.tar.gz
Algorithm Hash digest
SHA256 40a9567066c2444591a9ef6c999de29a19483e2d459df7cf4fe7113b35cad450
MD5 737190e894f1390bc2e1e408cdf98be0
BLAKE2b-256 d1c0563e22e75efae0062dd17895958fb0cedc700d5efae3e6e97993514e26e5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for blesta_sdk-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 dde0055e2632f9f0722028477c290ade73ea992564c292274f1aa528803904d6
MD5 3bf4968fe9797dcae1ebaaa8389c3354
BLAKE2b-256 14fe8391579f9c37624812bbf5a603e9627421a6de7b257551c2aca74a9a534c

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