Skip to main content

API for interacting with the GoodMem service, providing vector-based memory storage and retrieval with multiple embedder support.

Project description

goodmem-client

PyPI version

API for interacting with the GoodMem service, providing vector-based memory storage and retrieval with multiple embedder support. The service enables creation of memory spaces, storing memories with vector representations, and efficient similarity-based retrieval.

This Python package is automatically generated by the OpenAPI Generator project:

  • API version: v1
  • Package version: 1.0.2
  • Generator version: 7.13.0
  • Build package: org.openapitools.codegen.languages.PythonClientCodegen For more information, please visit https://goodmem.io/support

Requirements.

Python 3.9+

Installation & Usage

pip install

You can install the package directly from PyPI:

pip install goodmem-client

If you prefer uv:

uv pip install goodmem-client

Then import the package:

import goodmem_client

Setuptools

Install via Setuptools.

python setup.py install --user

(or sudo python setup.py install to install the package for all users)

Then import the package:

import goodmem_client

Tests

Execute pytest to run the tests.

Getting Started

Please follow the installation procedure and then run the following:

from goodmem_client.api import APIKeysApi
from goodmem_client.configuration import Configuration
from goodmem_client.api_client import ApiClient
from goodmem_client.models import CreateApiKeyRequest
from goodmem_client.rest import ApiException
from pprint import pprint

# Configure the API client
configuration = Configuration()
configuration.host = "http://localhost:8080"  # Use your server URL

# Create API client
api_client = ApiClient(configuration=configuration)

# Set authentication
api_client.default_headers["x-api-key"] = "your-api-key"  # Your API key here

# Create an instance of the API class
api_instance = APIKeysApi(api_client=api_client)

# Prepare a create request with labels
create_request = CreateApiKeyRequest(
    labels={
        "environment": "development",
        "service": "chat-ui"
    }
)

try:
    # Create a new API key
    api_response = api_instance.create_api_key(create_api_key_request=create_request)
    print("API Key created successfully:")
    print(f"API Key ID: {api_response.api_key_metadata.api_key_id}")
    print(f"Raw API Key: {api_response.raw_api_key}")
except ApiException as e:
    print(f"Exception when calling APIKeysApi->create_api_key: {e}\n")

For a more comprehensive example, see the samples directory, particularly apikey_sample.py which demonstrates CRUD operations on API keys.

Documentation for API Endpoints

All URIs are relative to http://localhost:8080

Class Method HTTP request Description
APIKeysApi create_api_key POST /v1/apikeys Create a new API key
APIKeysApi delete_api_key DELETE /v1/apikeys/{id} Delete an API key
APIKeysApi list_api_keys GET /v1/apikeys List API keys
APIKeysApi update_api_key PUT /v1/apikeys/{id} Update an API key
EmbeddersApi create_embedder POST /v1/embedders Create a new embedder
EmbeddersApi delete_embedder DELETE /v1/embedders/{id} Delete an embedder
EmbeddersApi get_embedder GET /v1/embedders/{id} Get an embedder by ID
EmbeddersApi list_embedders GET /v1/embedders List embedders
EmbeddersApi update_embedder PUT /v1/embedders/{id} Update an embedder
MemoriesApi batch_create_memory POST /v1/memories/batch Create multiple memories in a batch
MemoriesApi batch_delete_memory POST /v1/memories/batch/delete Delete multiple memories by ID
MemoriesApi batch_get_memory POST /v1/memories/batch/get Get multiple memories by ID
MemoriesApi create_memory POST /v1/memories Create a new memory
MemoriesApi delete_memory DELETE /v1/memories/{id} Delete a memory
MemoriesApi get_memory GET /v1/memories/{id} Get a memory by ID
MemoriesApi list_memories GET /v1/spaces/{spaceId}/memories List memories in a space
SpacesApi create_space POST /v1/spaces Create a new Space
SpacesApi delete_space DELETE /v1/spaces/{id} Delete a space
SpacesApi get_space GET /v1/spaces/{id} Get a space by ID
SpacesApi list_spaces GET /v1/spaces List spaces
SpacesApi update_space PUT /v1/spaces/{id} Update a space
SystemApi initialize_system POST /v1/system/init Initialize the system
UsersApi get_user GET /v1/users/{id} Get a user by ID

Documentation For Models

  • ApiKeyResponse - API key metadata and information
  • BatchMemoryCreationRequest - Request for creating multiple memories
  • BatchMemoryDeletionRequest - Request for deleting multiple memories
  • BatchMemoryRetrievalRequest - Request for retrieving multiple memories
  • CreateApiKeyRequest - Request for creating a new API key
  • CreateApiKeyResponse - Response containing new API key details
  • EmbedderCreationRequest - Request for creating a new embedder
  • EmbedderResponse - Embedder configuration and metadata
  • ListApiKeysResponse - Response containing list of API keys
  • ListEmbeddersResponse - Response containing list of embedders
  • ListSpacesResponse - Response containing list of spaces
  • Memory - Memory object with content and metadata
  • MemoryCreationRequest - Request for creating a new memory
  • MemoryListResponse - Response containing list of memories
  • Modality - Enumeration of supported modalities (TEXT, IMAGE, etc.)
  • ProviderType - Enumeration of embedding providers (OPENAI, etc.)
  • Space - Space object for organizing memories
  • SpaceCreationRequest - Request for creating a new space
  • SystemInitResponse - Response from system initialization
  • UpdateApiKeyRequest - Request for updating an API key
  • UpdateEmbedderRequest - Request for updating an embedder
  • UpdateSpaceRequest - Request for updating a space
  • UserResponse - User account information

Documentation For Authorization

Authentication schemes defined for the API:

BearerAuth

  • Type: Bearer authentication

ApiKeyAuth

  • Type: API key
  • API key parameter name: x-api-key
  • Location: HTTP header

Contact & Support

For questions or issues with the Python client, please visit:

Author

support@goodmem.io

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

goodmem_client-1.0.3.tar.gz (49.3 kB view details)

Uploaded Source

Built Distribution

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

goodmem_client-1.0.3-py3-none-any.whl (80.3 kB view details)

Uploaded Python 3

File details

Details for the file goodmem_client-1.0.3.tar.gz.

File metadata

  • Download URL: goodmem_client-1.0.3.tar.gz
  • Upload date:
  • Size: 49.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for goodmem_client-1.0.3.tar.gz
Algorithm Hash digest
SHA256 4294e0afcc930fd8d4ac8bb178eb84268d08618ac7b95aa7330906af8f4edd68
MD5 2fb0beedf5f3427291697fe4554808be
BLAKE2b-256 7d82936ac3679aeb25ed7a884b90302045e7bc69eba0ebbd1f202279e535ec6a

See more details on using hashes here.

File details

Details for the file goodmem_client-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: goodmem_client-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 80.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for goodmem_client-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a8148fa027574ec826641504af787ba2c23c86b2d4166171a71a3a08844e3b9e
MD5 3919b1b063dcdeef7f488096ae0b40ad
BLAKE2b-256 6b34d665788c434362523be53d5dfdf674c3a2ccb38bbaaa07f454d236336dfd

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