Skip to main content

Chroma import/export tool.

Project description

chromie-tool

Chroma (https://trychroma.com) import/export tool.

Install

# install
pip install chromie-tool

# check chromie tool
which chromie

Commands

Help

# chromie help
chromie -h

# exp command help
chromie exp -h

Download prepared datasets

Prepared datasets: https://github.com/chromiodev/datasets.

chromie dl -l es eurostat/prc_hicp_manr

Export

chromie exp server://localhost:8000/tenant/db/collection file.json

Check an export file

chromie check prc_hicp_manr-es.json

Import

# import all the content of movies.json
chromie imp movies.json server://localhost:8000/tenant/db/collection

# import all the content of movies.json, skipping the cert and rating metadata
chromie imp movies.json -M cert,rating server://localhost:8000/tenant/db/collection

# import all the content of movies.json, setting the cert and dir metadata
# to the specified values
chromie imp movies.json -m cert:C,dir:D server://localhost:8000/tenant/db/collection

Copy

chromie cp server://///coll1 server://///coll2

Listing the database collections

# only names
chromie ls server:////

# names and counts
chromie ls -c server:////

Metadata filters

The --metafilter or -f options allow to select records from metadata in the cp and exp commands. Format:

predicate
predicate and predicate
predicate or predicate

Examples:

-f "dir='Quentin Tarantino'"
-f "dir='Quentin Tarantino' or dir='Alfred Hitchcock'"
-f "dir in ['Quentin Tarantino', 'Alfred Hitchcock']"

Predicates:

field                   # similar to: field == true
not field               # similar to: field != true
field = literal_scalar  # similar to: field == literal_scalar
field == literal_scalar
field != literal_scalar
field < literal_scalar
field <= literal_scalar
field > literal_scalar
field >= literal_scalar
field in [literal_scalar, literal_scalar, ...]
field not in [literal_scalar, literal_scalar, ...]
field between literal_num|literal_text and literal_num|literal_text
field not between literal_num|literal_text and literal_num|literal_text

Literals:

  • Literal text: 'A text'.

  • Literal number: 1234.

  • Literal boolean: true or false.

URIs

Server URI

Format:

server://host:port/tenant/database
server://host:port/tenant/database/collection

When a segment must take its value from the default value or an environment variable, this must be left blank. Examples:

server://///
server:///tenant/db

Environment variables we can use for settings segments in server URIs:

  • CHROMA_HOST

  • CHROMA_PORT

  • CHROMA_TENANT

  • CHROMA_DATABASE

The default values in server URIs, when blank segments and environment variable unset, are these set in the chromadb package. Right now:

  • Host: localhost

  • Port: 8000

  • Tenant: default_tenant

  • Database: default_database

Chroma Cloud URI

Format:

cloud:///tenant/db
cloud:///tenant/db/collection

Similar to the server schema but, with the cloud schema, the environment variables we can use are the following:

  • CHROMA_TENANT

  • CHROMA_DATABASE

Default values:

  • host:port segment is always api.trychroma.com:8000.

  • Tenant and database don't have default values, these must be set explicitly or with environment variables.

Checking and decomposing URIs

With chromie uri, we check and decompose a URI. Examples:

$ chromie uri server:////
Schema: server
Host: localhost
Port: 8000
Tenant: default_tenant
Database: default_database

$ CHROMA_PORT=8888 chromie uri server:////
Schema: server
Host: localhost
Port: 8888
Tenant: default_tenant
Database: default_database

$ CHROMA_DATABASE=testdb chromie uri server://me//
Schema: server
Host: me
Port: 8000
Tenant: default_tenant
Database: testdb

Pinging database instance and/or collection

Examples:

# database instance
chromie ping server:////

# database collection
chromie ping server://///movies
chromie ping cloud://///movies

API key

When an API key needed, --key or -k must be set. We can use the CHROMA_API_KEY environment variable too.

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

chromie_tool-0.6.0.tar.gz (24.9 kB view details)

Uploaded Source

Built Distribution

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

chromie_tool-0.6.0-py3-none-any.whl (39.6 kB view details)

Uploaded Python 3

File details

Details for the file chromie_tool-0.6.0.tar.gz.

File metadata

  • Download URL: chromie_tool-0.6.0.tar.gz
  • Upload date:
  • Size: 24.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for chromie_tool-0.6.0.tar.gz
Algorithm Hash digest
SHA256 4bbc965e94c0f304b6f2dc890b6dba8d5c88e8722b1df9cf9c0e55d4777b23d2
MD5 8b99c86e9588598c357ff9d6b5f43125
BLAKE2b-256 8e14bac1ba7b84a5bc5a0dd20dbc6145644741a9a67fd460611b5e3c16a44863

See more details on using hashes here.

Provenance

The following attestation bundles were made for chromie_tool-0.6.0.tar.gz:

Publisher: publish.yaml on chromiodev/chromie-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 chromie_tool-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: chromie_tool-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 39.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for chromie_tool-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f5040e321e968337b255eaf214baeb01b3fe7b594711b60bdb80de6b9812626f
MD5 216c0b83e9ddbc46454100e3b643a995
BLAKE2b-256 cce45fbb1cc884bf3eb351f8d945dab4f26a3ddb034932d483b97f07a7acfc52

See more details on using hashes here.

Provenance

The following attestation bundles were made for chromie_tool-0.6.0-py3-none-any.whl:

Publisher: publish.yaml on chromiodev/chromie-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