Skip to main content

DataLigo

This library helps to read and write data from most of the data sources. It accelerate the ML and ETL process without worrying about the multiple data connectors.

Installation

pip install -U dataligo

Install from sources

Alternatively, you can also clone the latest version from the repository and install it directly from the source code:

pip install -e .

Quick tour

>>> from dataligo import Ligo
>>> from transformers import pipeline

>>> ligo = Ligo('./ligo_config.yaml') # Check the sample_ligo_config.yaml for reference
>>> print(ligo.get_supported_data_sources_list())
['s3',
 'gcs',
 'azureblob',
 'bigquery',
 'snowflake',
 'redshift',
 'starrocks',
 'postgresql',
 'mysql',
 'oracle',
 'mssql',
 'mariadb',
 'sqlite',
 'elasticsearch',
 'mongodb',
 'dynamodb',
 'redis']

>>> mongodb = ligo.connect('mongodb')
>>> df = mongodb.read_as_dataframe(database='reviewdb',collection='reviews',return_type='pandas') # Default return_type is pandas
>>> df.head()
        _id	                        Review
0	64272bb06a14f52787e0a09e	good and interesting
1	64272bb06a14f52787e0a09f	This class is very helpful to me. Currently, I...
2	64272bb06a14f52787e0a0a0	like!Prof and TAs are helpful and the discussi...
3	64272bb06a14f52787e0a0a1	Easy to follow and includes a lot basic and im...
4	64272bb06a14f52787e0a0a2	Really nice teacher!I could got the point eazl...

>>> classifier = pipeline("sentiment-analysis")
>>> reviews = df.Review.tolist()
>>> results = classifier(reviews,truncation=True)
>>> for result in results:
>>>     print(f"label: {result['label']}, with score: {round(result['score'], 4)}")
label: POSITIVE, with score: 0.9999
label: POSITIVE, with score: 0.9997
label: POSITIVE, with score: 0.9999
label: POSITIVE, with score: 0.999
label: POSITIVE, with score: 0.9967

>>> df['predicted_label'] = [result['label'] for result in results]
>>> df['predicted_score'] = [round(result['score'], 4) for result in results]

# Write the results to the MongoDB
>>> mongodb.write_dataframe(df,'reviewdb','review_sentiments')

Example DataLigo Pipeline

ETL Pipeline

dataligo ETL pipeline diagram

ML Pipeline

dataligo ML pipeline diagram

Supported Connectors

Data Sources Type pandas polars dask
S3 datalake
  • [x] read
  • [x] write
  • [x] read
  • [x] write
  • [ ] read
  • [ ] write
GCS datalake
  • [x] read
  • [x] write
  • [x] read
  • [x] write
  • [ ] read
  • [ ] write
Azure Blob Storage datalake
  • [x] read
  • [x] write
  • [x] read
  • [x] write
  • [ ] read
  • [ ] write
Snowflake datawarehouse
  • [x] read
  • [x] write
  • [x] read
  • [x] write
  • [ ] read
  • [ ] write
BigQuery datawarehouse
  • [x] read
  • [x] write
  • [x] read
  • [x] write
  • [x] read
  • [ ] write
StarRocks datawarehouse
  • [x] read
  • [x] write
  • [x] read
  • [x] write
  • [x] read
  • [ ] write
Redshift datawarehouse
  • [x] read
  • [x] write
  • [x] read
  • [x] write
  • [x] read
  • [ ] write
PostgreSQL database
  • [x] read
  • [x] write
  • [x] read
  • [x] write
  • [x] read
  • [ ] write
MySQL database
  • [x] read
  • [x] write
  • [x] read
  • [x] write
  • [x] read
  • [ ] write
MariaDB database
  • [x] read
  • [x] write
  • [x] read
  • [x] write
  • [x] read
  • [ ] write
MsSQL database
  • [x] read
  • [x] write
  • [x] read
  • [x] write
  • [x] read
  • [ ] write
Oracle database
  • [x] read
  • [x] write
  • [x] read
  • [x] write
  • [x] read
  • [ ] write
SQLite database
  • [x] read
  • [x] write
  • [x] read
  • [x] write
  • [x] read
  • [ ] write
MongoDB nosql
  • [x] read
  • [x] write
  • [x] read
  • [x] write
  • [ ] read
  • [ ] write
ElasticSearch nosql
  • [x] read
  • [x] write
  • [x] read
  • [x] write
  • [ ] read
  • [ ] write
DynamoDB nosql
  • [x] read
  • [x] write
  • [x] read
  • [x] write
  • [ ] read
  • [ ] write
Redis(beta) nosql
  • [x] read
  • [ ] write
  • [ ] read
  • [ ] write
  • [ ] read
  • [ ] write

Acknowledgement

Some functionalities of DataLigo are inspired by the following packages.

  • ConnectorX

    DataLigo used Connectorx to read data from most of the RDBMS databases to utilize the performance benefits and inspired the return_type parameter from it

  • dynamo-pandas

    DataLigo used dynamo-pandas to read and write data from DynamoDB

Metadata

Release files for dataligo 0.7.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dataligo 0.7.3
File Size Uploaded
dataligo-0.7.3.tar.gz 25.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dataligo 0.7.3
File Interpreter ABI Platform
dataligo-0.7.3-py3-none-any.whl Python 3 none any Details

Total release size: 52.5 kB

Release files / dataligo-0.7.3.tar.gz

Download URL dataligo-0.7.3.tar.gz
Size 25.2 kB
Tags Source
SHA-256 checksum
How to use checksums
2cae8c9cf4afb8b7e55ab45d219a0662f1fed55f8404bd5aed298c06f2fad547
BLAKE2b-256 checksum
How to use checksums
497bafc9dea7103b57bf78c65fd331716f6a8af123295fa1a4d9acd1a248c4fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.12

Release files / dataligo-0.7.3-py3-none-any.whl

Download URL dataligo-0.7.3-py3-none-any.whl
Size 27.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fbaf9fa1c34687d8b1e7f8203c8104b52165b41cd52400795c75005c8a621c36
BLAKE2b-256 checksum
How to use checksums
451431bf6f4df03e715628409eb5097c4a24f624bbaf754cd024668e0af65260
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.7.12

Release history Release notifications | RSS feed

This release

0.7.3 This release

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page