Metadata-Version: 2.4
Name: lokobridge-client
Version: 1.0.0
Summary: Dependency-free Python client for the local LokoBridge protocol v1.0
Author: NovoLokoLabs
License-Expression: LicenseRef-Proprietary
Project-URL: Homepage, https://github.com/NovoLokoLabs/lokobridge-client
Project-URL: Source, https://github.com/NovoLokoLabs/lokobridge-client
Project-URL: Issues, https://github.com/NovoLokoLabs/lokobridge-client/issues
Project-URL: Documentation, https://pypi.org/project/lokobridge-client/
Keywords: lokobridge,omniloko,kokoloko,novoloko,protocol-v1
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Typing :: Typed
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# lokobridge-client

`lokobridge-client` is the dependency-free Python client for LokoBridge protocol v1.0. LokoBridge provides loopback-only interoperability with an OmniLoko voice host at `127.0.0.1`; it is not a browser service and does not include a voice model or runtime.

## Install

After the first trusted PyPI release:

```powershell
python -m pip install lokobridge-client==1.0.0
```

The package requires Python 3.11 or later and declares no runtime dependencies.

## Use

```python
from pathlib import Path

from lokobridge_client import LokoBridgeClient, parse_discovery

discovery = parse_discovery(
    Path.home().joinpath("AppData/Local/OmniLoko/Bridge/endpoint-v1.json").read_text(encoding="utf-8")
)
client = LokoBridgeClient(discovery)
print(client.health())
```

On Windows, applications should normally resolve the discovery file through `%LOCALAPPDATA%` rather than constructing a user-profile path. The discovery bearer token is session-local and must never be logged or persisted elsewhere.

## Security boundary

- LokoBridge v1 uses literal `127.0.0.1` only.
- Health is the only unauthenticated endpoint.
- Browser `Origin` requests are forbidden and CORS is not supported.
- Breaking protocol changes require a new major URL path.

This repository contains public package source, approved protocol metadata, tests and release automation only. It does not contain OmniLoko, KokoLoko or NovoLoko application source, a host implementation, `omnivoice_worker.py`, models, presets or audio.

## Provenance

`SOURCE_PROVENANCE.json` identifies the exact reviewed commit in the private authoritative LokoBridge development repository and hashes every exported payload file. The public repository has fresh Git history and is not a mirror of private history.

## Licence

Copyright (c) 2026 NovoLokoLabs. All rights reserved. The package is source-visible, not open source. Its limited licence permits downloading, installing, executing, and using unmodified copies for lawful LokoBridge interoperability; modification and redistribution remain prohibited. See [LICENSE](LICENSE).

Issues: https://github.com/NovoLokoLabs/lokobridge-client/issues
