Skip to main content

A Python package to interact with the Unifier API.

Project description

Unifier

Unifier is a Python package that provides a simple interface to interact with the Unifier API, allowing for Point-In-Time and streaming data access.

Features

  • Query the Unifier API for data.
  • Retrieve data in JSON format.
  • Convert API responses into pandas DataFrames for easy data manipulation and analysis.
  • Efficiently replicate large datasets to local storage using rclone integration.
  • List and retrieve detailed metadata for datasets in the catalog.

Installation

You can install the package via pip:

pip install unifier

To use the Data Replication feature, it is recommended to install rclone for better performance. If rclone is not available, the package will automatically fall back to a native Python implementation for downloads.

Usage

Here's a basic example of how to use the unifier package:

from unifier import unifier

# Set your user and token
unifier.user = 'your_username'
unifier.token = 'your_api_token'

# Query the API
response = unifier.query(name='your_dataset_name')

# Convert the response to a DataFrame
df = unifier.get_dataframe(name='your_dataset_name')

print(df.head())

# Get list asof_date available for a dataset
dates_df = unifier.get_asof_dates(name='dataset_name')
print(dates_df.head())

# List all available datasets in the catalog
datasets = unifier.list_data_catalog()
print(datasets)

# Get detailed metadata for a specific dataset
details = unifier.get_dataset_details(name='dataset_name')
print(details)

# Replicate a large dataset to a local folder
# Note: uses rclone if installed, otherwise uses native python download
unifier.replicate(
    name="large_dataset_name",
    target_location="./data/downloads",
    back_to="2023-01-01",    # Optional: fetch history back to this date
    up_to="2024-12-16",    # Optional: fetch history up to this date
    bandwidth_limit=20       # Optional: limit download speed to 20MB/s
)

Configuration

Before using the package, ensure you set your user and token attributes in the unifier class to authenticate with the API.

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.

Contributing

Contributions are welcome! Please read the contributing guidelines for more information.

Support

For support, please contact support@exponential-tech.ai.

Acknowledgments

  • Thanks to the team at Exponential Tech for their support and contributions.

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

unifier-0.1.21.tar.gz (20.5 kB view details)

Uploaded Source

Built Distribution

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

unifier-0.1.21-py3-none-any.whl (19.8 kB view details)

Uploaded Python 3

File details

Details for the file unifier-0.1.21.tar.gz.

File metadata

  • Download URL: unifier-0.1.21.tar.gz
  • Upload date:
  • Size: 20.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for unifier-0.1.21.tar.gz
Algorithm Hash digest
SHA256 8916ec0b04667174847074bd0149ca2211a77db1b1262c8e04db00655e05a927
MD5 ea0155e59dd6dd04fcedbf84f78ac3fc
BLAKE2b-256 0ee4182fcd216ab3eccf251eeba5cd5d3b96b9e24dc7d5be8c3f6d334b46556d

See more details on using hashes here.

File details

Details for the file unifier-0.1.21-py3-none-any.whl.

File metadata

  • Download URL: unifier-0.1.21-py3-none-any.whl
  • Upload date:
  • Size: 19.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for unifier-0.1.21-py3-none-any.whl
Algorithm Hash digest
SHA256 684869fda94b111fced41b97ae899aacbdbc3524c35a5c35e41b298afae43dc2
MD5 08f9cc72be6f1229d7f34cfa21cd0d06
BLAKE2b-256 b7ee8e9eb4ae1fb18f1ffe1b5fa4fe5d65b8fe2d5a178c8c4cd085b63df3013a

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