Skip to content
This repository has been archived by the owner on Sep 28, 2022. It is now read-only.

FeatureBaseDB/python-pilosa

Repository files navigation

Python Client for Pilosa

This repo archived Sept 2022 as part of the transition from Pilosa to FeatureBase. Please contact community[at]featurebase[dot]com with any questions.

Python client for Pilosa high performance distributed row index.

What's New?

See: CHANGELOG

Requirements

  • Compatible with Pilosa 1.2 and Pilosa 1.3
  • Requires Python 2.7 and higher or Python 3.4 and higher.

Install

Pilosa client is on PyPI. You can install the library using pip:

pip install pilosa

Usage

Quick overview

Assuming Pilosa server is running at localhost:10101 (the default):

import pilosa

# Create the default client
client = pilosa.Client()

# Retrieve the schema
schema = client.schema()

# Create an Index object
myindex = schema.index("myindex")

# Create a Field object
myfield = myindex.field("myfield")

# make sure the index and field exists on the server
client.sync_schema(schema)

# Send a Set query. PilosaError is thrown if execution of the query fails.
client.query(myfield.set(5, 42))

# Send a Row query. PilosaError is thrown if execution of the query fails.
response = client.query(myfield.row(5))

# Get the result
result = response.result

# Act on the result
if result:
    columns = result.row.columns
    print("Got columns: ", columns)

# You can batch queries to improve throughput
response = client.query(
    myindex.batch_query(
        myfield.row(5),
        myfield.row(10),
    )    
)
for result in response.results:
    # Act on the result
    print(result.row.columns)

Documentation

Data Model and Queries

See: Data Model and Queries

Executing Queries

See: Server Interaction

Importing and Exporting Data

See: Importing and Exporting Data

Other Documentation

Contributing

See: CONTRIBUTING

License

See: LICENSE