Skip to content

BloretCrew/Bloret-Launcher-API-Tool

Repository files navigation

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")  # writes dist/{id}-{version}.zip
# or: 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|package/install are offline and do not require OAuth setup.
  • plugin package is an alias of plugin build.
  • -o dist accepts a directory and writes {id}-{version}.zip inside it (CI-friendly).
  • 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/package does this automatically).
  • GitHub Actions example: install BLDEV, run BLDEV plugin package <plugin> -o dist, upload the ZIP artifact for users or a future plugin store.

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

About

Bloret Launcher API Tool with Bloret Launcher API CLI

Topics

Resources

License

Code of conduct

Security policy

Stars

1 star

Watchers

0 watching

Forks

Sponsor this project

Packages

 
 
 

Contributors