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.20.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.20-py3-none-any.whl (19.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: unifier-0.1.20.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.20.tar.gz
Algorithm Hash digest
SHA256 8ee85136b4bcd7c3fa59984487ac62fb1e5d1a2ca4d32726696b92b901c8d5d5
MD5 3c9cb92009a26941b0f17599c696b5de
BLAKE2b-256 c18f3e3af840e760ce97bf1a54d0ec2dda27a0cef1056bd16291c77b57471b95

See more details on using hashes here.

File details

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

File metadata

  • Download URL: unifier-0.1.20-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.20-py3-none-any.whl
Algorithm Hash digest
SHA256 804766da776282043b0463f53dad7c0095a76834007e73634f850655904be4af
MD5 2c3c2ddf75c102d18fa2be4af12ceacf
BLAKE2b-256 b805b2ad4237da96063c2f9864fa8924a6b765d0ff8300bd9ec0e6603c61c183

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