Skip to main content

llama-index readers airbyte_hubspot integration

Project description

Airbyte Hubspot Loader

pip install llama-index-readers-airbyte-hubspot

The Airbyte Hubspot Loader allows you to access different Hubspot objects.

Usage

Here's an example usage of the AirbyteHubspotReader.

from llama_index.readers.airbyte_hubspot import AirbyteHubspotReader

hubspot_config = {
    # ...
}
reader = AirbyteHubspotReader(config=hubspot_config)
documents = reader.load_data(stream_name="products")

Configuration

Check out the Airbyte documentation page for details about how to configure the reader. The JSON schema the config object should adhere to can be found on Github: https://github.com/airbytehq/airbyte/blob/master/airbyte-integrations/connectors/source-hubspot/source_hubspot/spec.yaml.

The general shape looks like this:

{
    "start_date": "<date from which to start retrieving records from in ISO format, e.g. 2020-10-20T00:00:00Z>",
    "credentials": {
        "credentials_title": "Private App Credentials",
        "access_token": "<access token of your private app>",
    },
}

By default all fields are stored as metadata in the documents and the text is set to the JSON representation of all the fields. Construct the text of the document by passing a record_handler to the reader:

def handle_record(record, id):
    return Document(
        doc_id=id, text=record.data["title"], extra_info=record.data
    )


reader = AirbyteHubspotReader(
    config=hubspot_config, record_handler=handle_record
)

Lazy loads

The reader.load_data endpoint will collect all documents and return them as a list. If there are a large number of documents, this can cause issues. By using reader.lazy_load_data instead, an iterator is returned which can be consumed document by document without the need to keep all documents in memory.

Incremental loads

This loader supports loading data incrementally (only returning documents that weren't loaded last time or got updated in the meantime):

reader = AirbyteHubspotReader(config={...})
documents = reader.load_data(stream_name="products")
current_state = reader.last_state  # can be pickled away or stored otherwise

updated_documents = reader.load_data(
    stream_name="products", state=current_state
)  # only loads documents that were updated since last time

This loader is designed to be used as a way to load data into LlamaIndex.

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

llama_index_readers_airbyte_hubspot-0.4.1.tar.gz (4.2 kB view details)

Uploaded Source

Built Distribution

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

File details

Details for the file llama_index_readers_airbyte_hubspot-0.4.1.tar.gz.

File metadata

File hashes

Hashes for llama_index_readers_airbyte_hubspot-0.4.1.tar.gz
Algorithm Hash digest
SHA256 14e45543d962bf6bc89f1b59cf8e693de2227d52c9203b8d478a5bca52e4202c
MD5 d88d0ed50fd2b4a0773279f6d41ec843
BLAKE2b-256 080ebd94616174907c985a4e27d3ef808e0e419d103083ce89d64f70e7ac07b2

See more details on using hashes here.

File details

Details for the file llama_index_readers_airbyte_hubspot-0.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for llama_index_readers_airbyte_hubspot-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d42aa9d30f8421ede6e38869fb45d6a67ab40612780815e7e480dd38915d78d9
MD5 579060ea37188fffad35a6caa296c03e
BLAKE2b-256 3371080798f74a3903bcf07c494c36edea3a01114fa75167385d71f2306419e6

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