Skip to main content

Async Python client for the MyPalace memory service

Project description

mypalace-client

Async Python client for the MyPalace Memory Service.

Install

pip install mypalace-client
# Optional gRPC transport:
pip install "mypalace-client[grpc]"

Quick start

import asyncio
from palace_client import PalaceClient

async def main():
    async with PalaceClient(
        base_url="http://localhost:8000",
        api_key="pk_live_...",
    ) as client:
        # Add a memory
        mem = await client.create(
            user_id="u1",
            content="Joshua likes oat milk",
            memory_type="preference",
        )
        # Search
        results = await client.search(query="milk", user_id="u1", limit=5)
        for r in results:
            print(r.score, r.content)

asyncio.run(main())

Features

Mirrors the full Palace HTTP API:

  • Memory CRUD + semantic search + smart-ingestion (infer=True)
  • Sessions + messages
  • Episode reflection + narrative arc synthesis
  • FSRS dynamics (promote/demote/score)
  • Intentions (set/check/format)
  • Layered context assembly
  • Manual supersede + supersession history

Auth

Pass api_key to the constructor; the client sends it as X-Palace-Key on every request. Without an API key, the client works against a server with PALACE_AUTH_DISABLED=true.

gRPC (optional)

Phase 3 ships a focused gRPC mirror covering MemoryService (Create/Get/Delete/Search/List). Use PalaceGrpcClient when you want lower-overhead binary transport for memory ops:

from palace_client.grpc import PalaceGrpcClient

async with PalaceGrpcClient("localhost:50051", api_key="pk_live_...") as c:
    mem = await c.create(user_id="u1", content="hello via gRPC")

Other surfaces (sessions, episodes, etc.) ride HTTP via PalaceClient.

License

PolyForm Noncommercial 1.0.0 — see LICENSE.md.

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

mypalace_client-0.9.0.tar.gz (19.7 kB view details)

Uploaded Source

Built Distribution

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

mypalace_client-0.9.0-py3-none-any.whl (15.4 kB view details)

Uploaded Python 3

File details

Details for the file mypalace_client-0.9.0.tar.gz.

File metadata

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

File hashes

Hashes for mypalace_client-0.9.0.tar.gz
Algorithm Hash digest
SHA256 628c4ba32d92b835b8ccc0209396614b29373333d90ba83f3395d62cbd27953a
MD5 26565436e4c3b348870a088fbd897fc4
BLAKE2b-256 5975e1bcc6cb1198a646b3bab77f3c6d135c13ed223bcfba77910c7d6efefe08

See more details on using hashes here.

Provenance

The following attestation bundles were made for mypalace_client-0.9.0.tar.gz:

Publisher: release.yml on BangRocket/MyPalace

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

File details

Details for the file mypalace_client-0.9.0-py3-none-any.whl.

File metadata

File hashes

Hashes for mypalace_client-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bc46a120e565c0ee0a78ecb1f00240d5c0858621add8d3b061088e6b93c0b2d0
MD5 d0a34fe192646a2d810f766d1bec552d
BLAKE2b-256 afa6b746eadc5fe6cb48a0abac4f1a41fed6f51f217b7726db5dd47a4ff1b639

See more details on using hashes here.

Provenance

The following attestation bundles were made for mypalace_client-0.9.0-py3-none-any.whl:

Publisher: release.yml on BangRocket/MyPalace

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