Skip to main content

A simple data ingestion library to guide data flows from some places to other places.

Project description

Viadot

UV formatting


Documentation: https://viadot.docs.dyvenia.com

Source Code: https://github.com/dyvenia/viadot/tree/main


A simple data ingestion library to guide data flows from some places to other places.

Getting Data from a Source

Viadot supports several API and RDBMS sources, private and public. Currently, we support the UK Carbon Intensity public API and base the examples on it.

from viadot.sources.uk_carbon_intensity import UKCarbonIntensity

ukci = UKCarbonIntensity()
ukci.query("/intensity")
df = ukci.to_df()

print(df)

Output:

from to forecast actual index
0 2021-08-10T11:00Z 2021-08-10T11:30Z 211 216 moderate

The above df is a pandas DataFrame object. It contains data downloaded by viadot from the Carbon Intensity UK API.

Loading data to a destination

Depending on the destination, viadot provides different methods of uploading data. For instance, for databases, this would be bulk inserts. For data lakes, it would be file uploads.

For example:

from viadot.sources import UKCarbonIntensity
from viadot.sources import AzureDataLake

ukci = UKCarbonIntensity()
ukci.query("/intensity")
df = ukci.to_df()

adls = AzureDataLake(config_key="my_adls_creds")
adls.from_df(df, "my_folder/my_file.parquet")

Getting started

Prerequisites

We use uv. You can install it like so:

curl -LsSf https://astral.sh/uv/install.sh | sh

Installation

pip install viadot2

Running the Docker Environment

The project provides the run.sh script located in the docker/ directory to initialize Docker environment with optional configuration for image tags and target platform.

Make sure the script is executable.

chmod +x docker/run.sh

Usage

docker/run.sh [-t <image_tag>] [-p <platform>]
  • -t <image_tag> - set Docker image tag (default: latest)
  • -p - set the target platform for Docker (default: linux/amd64)
    • This default ensures compatibility on macOS (Apple Silicon). Optionally, you can provide a different platform.

Examples

Run with default settings:

docker/run.sh

Run with a specific image tag and platform:

docker/run.sh -t dev -p linux/amd64

Configuration

In order to start using sources, you must configure them with required credentials. Credentials can be specified either in the viadot config file (by default, $HOME/.config/viadot/config.yaml), or passed directly to each source's credentials parameter.

You can find specific information about each source's credentials in the documentation.

Next steps

Check out the documentation for more information on how to use viadot.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

viadot2-2.5.4.tar.gz (874.6 kB view details)

Uploaded Source

Built Distribution

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

viadot2-2.5.4-py3-none-any.whl (309.6 kB view details)

Uploaded Python 3

File details

Details for the file viadot2-2.5.4.tar.gz.

File metadata

  • Download URL: viadot2-2.5.4.tar.gz
  • Upload date:
  • Size: 874.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for viadot2-2.5.4.tar.gz
Algorithm Hash digest
SHA256 8a75e9d6aa6d6db58062c4d18de50b3698ee1e6c32ad8499425bcd20ccf4a7cb
MD5 4398cc087ec137b172a170091d150230
BLAKE2b-256 44c9f98476ba8d6e0d4ce1888ff8f59a062de986d0ffed0e9f81a761d30b1137

See more details on using hashes here.

Provenance

The following attestation bundles were made for viadot2-2.5.4.tar.gz:

Publisher: cd.yml on dyvenia/viadot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file viadot2-2.5.4-py3-none-any.whl.

File metadata

  • Download URL: viadot2-2.5.4-py3-none-any.whl
  • Upload date:
  • Size: 309.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for viadot2-2.5.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ef1b0bf88a4e28d5453dced38de0a083b5f7a8996f6fa09abb727b73a73959fc
MD5 2b0855a30be84e3f2b9b951cde0a8b31
BLAKE2b-256 4f94e09914e1c7b607298d88bd304f1b2afc2a80f0d886c57dc4921e2af00b83

See more details on using hashes here.

Provenance

The following attestation bundles were made for viadot2-2.5.4-py3-none-any.whl:

Publisher: cd.yml on dyvenia/viadot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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