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 data catalogs.

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 data catalogs
catalogs = unifier.list_data_catalogs()
print(catalogs)

# Get detailed metadata for a specific catalog
catalog = unifier.get_data_catalog(name='dataset_name')
print(catalog)

# 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.19.tar.gz (20.4 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.19-py3-none-any.whl (19.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: unifier-0.1.19.tar.gz
  • Upload date:
  • Size: 20.4 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.19.tar.gz
Algorithm Hash digest
SHA256 f1fdf1ca5b41c0657e9a7a6c3d5d6bbd2fe0bf74d507aaf408f4b47255acdaa4
MD5 6ec9474b906cac9f4213d51f397e7b4a
BLAKE2b-256 5c64dd020faffdf5036b2f6f0ae23e71b9f10dcd7726a67a3220b35b6e842303

See more details on using hashes here.

File details

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

File metadata

  • Download URL: unifier-0.1.19-py3-none-any.whl
  • Upload date:
  • Size: 19.6 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.19-py3-none-any.whl
Algorithm Hash digest
SHA256 49ab67a331127cf5f1304d8f76b57329361e133066b1b026341a8aa00ecc36ba
MD5 6ffb99b9a6243948bf59562c46019712
BLAKE2b-256 520103d06f111854562eb9144046117078b9ec08bb22c8e7ff2124a40369d573

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