Skip to main content

CLI and library for Bloret Launcher API and plugin development

Project description

BLDEV (Bloret Launcher Developer CLI)

CLI and Python library for Bloret Launcher API access and plugin development.

Install the package as BLDEV, run the command as BLDEV, and continue importing the Python package as BLAPI for compatibility.

BLCLI and BLAPI remain available as command aliases.

Installation

pip install BLDEV

Or install from source:

pip install .

Usage

As a Library

from BLAPI import Client, request_api, LauncherClient

# Using the Client class
client = Client(base_url="https://api.bloret.com", token="your-token")
response = client.request("GET", "/v1/games")

# Using the convenience function
response = request_api("GET", "/v1/games", token="your-token")

As a Command-Line Tool

After installation, use the BLDEV command:

# Make a GET request
BLDEV get /v1/games

# Make a POST request with data
BLDEV post /v1/games --data '{"name": "New Game"}'

# Specify a custom base URL and token
BLDEV --base-url https://api.bloret.com --token your-token get /v1/games

# Save output to a file
BLDEV get /v1/games --output games.json

Compatibility aliases:

BLCLI --help
BLAPI --help

Commands

  • get - Make a GET request to an endpoint
  • post - Make a POST request to an endpoint
  • put - Make a PUT request to an endpoint
  • delete - Make a DELETE request to an endpoint
  • plugin - Scaffold, validate, inspect, build, install, and develop launcher plugins

Plugin Development

BLDEV includes an offline plugin SDK and CLI for Bloret Launcher plugins.

# Create a plugin project
BLDEV plugin init my-plugin --id com.example.my-plugin --template python --non-interactive

# Validate the project (offline)
BLDEV plugin validate my-plugin --strict

# Inspect normalized manifest and high-risk permissions
BLDEV plugin inspect my-plugin

# Build a reproducible ZIP with plugin.json at the archive root
BLDEV plugin build my-plugin -o dist

# Install into the local Bloret Launcher data directory
BLDEV plugin install my-plugin
# or:
BLDEV plugin install my-plugin --data-dir /path/to/Bloret-Launcher-data --force

# Validate, install, and query a running launcher (OAuth only needed for runtime status)
BLDEV plugin dev my-plugin --oauth-name YOUR_APP --oauth-secret YOUR_SECRET

Supported templates:

  • python - Python extension plugin with register(api)
  • declarative / theme - theme-only declarative plugin
  • nav - QML navigation page plugin
  • agent - Bloriko Agent tool/prompt starter

As a library:

from BLAPI.plugin import (
    scaffold_plugin,
    validate_project,
    inspect_project,
    build_plugin,
    install_plugin,
    find_launcher_data_dir,
)
from BLAPI import LauncherClient

project = scaffold_plugin("my-plugin", "com.example.my-plugin", template="python")
diagnostics = validate_project(project)
archive = build_plugin(project, "dist/my-plugin.zip")
install_plugin(project, find_launcher_data_dir() / "Plugin", force=True)

client = LauncherClient(
    "http://localhost:25252",
    oauth_name="YOUR_APP",
    oauth_secret="YOUR_SECRET",
)
print(client.plugin_info("com.example.my-plugin"))

Notes:

  • plugin init/validate/inspect/build/install are offline and do not require OAuth setup.
  • Python plugins run in-process with the launcher; permissions are capability checks, not a sandbox.
  • ZIP archives must place plugin.json at the root (BLDEV plugin build does this automatically).

Options

  • --base-url - Base URL for the API (default: https://api.bloret.com)
  • --token - Authorization token for API requests
  • --output, -o - Output file (default: stdout)

Development

To install the package in development mode:

pip install -e .

To run tests:

pytest

License

MIT

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

bldev-0.2.0.tar.gz (45.4 kB view details)

Uploaded Source

Built Distribution

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

bldev-0.2.0-py3-none-any.whl (48.8 kB view details)

Uploaded Python 3

File details

Details for the file bldev-0.2.0.tar.gz.

File metadata

  • Download URL: bldev-0.2.0.tar.gz
  • Upload date:
  • Size: 45.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bldev-0.2.0.tar.gz
Algorithm Hash digest
SHA256 8468e7b760a4aad72ac1bcb398356d0c0018411d73b6ee8b1e3c0d3860ae3fd3
MD5 6892ccfaa8436bf6893dc5a5c7e8c124
BLAKE2b-256 e0c4beaa029b7780f165e9ba8e55222f8a2ea3a50a6de704ece06175b07c88b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for bldev-0.2.0.tar.gz:

Publisher: release.yml on BloretCrew/Bloret-Launcher-API-Tool

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bldev-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: bldev-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 48.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bldev-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ce9a14236562b805bc3757b4e3d2585be742b1f22cdf6e24207510861fb7fae1
MD5 c9720c5c7bc166e09dcab9574bfadeb9
BLAKE2b-256 174e370fcc892d41f06b0e032e676e60158993ff286719061d7067a5a951cf0a

See more details on using hashes here.

Provenance

The following attestation bundles were made for bldev-0.2.0-py3-none-any.whl:

Publisher: release.yml on BloretCrew/Bloret-Launcher-API-Tool

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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