Coder Social home page Coder Social logo

jonasdavisfondene / dlt Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dlt-hub/dlt

1.0 0.0 0.0 70.02 MB

data load tool (dlt) is an open source Python library that makes data loading easy ๐Ÿ› ๏ธ

Home Page: https://dlthub.com/docs

License: Apache License 2.0

Shell 0.28% Python 99.54% Makefile 0.12% Dockerfile 0.06%

dlt's Introduction

data load tool (dlt) โ€” the open-source Python library for data loading

Be it a Google Colab notebook, AWS Lambda function, an Airflow DAG, your local laptop,
or a GPT-4 assisted development playgroundโ€”dlt can be dropped in anywhere.

๐Ÿš€ Join our thriving community of likeminded developers and build the future together!

Installation

dlt supports Python 3.8+.

pip install dlt

Quick Start

Load chess game data from chess.com API and save it in DuckDB:

import dlt
from dlt.sources.helpers import requests
# Create a dlt pipeline that will load
# chess player data to the DuckDB destination
pipeline = dlt.pipeline(
    pipeline_name='chess_pipeline',
    destination='duckdb',
    dataset_name='player_data'
)
# Grab some player data from Chess.com API
data = []
for player in ['magnuscarlsen', 'rpragchess']:
    response = requests.get(f'https://api.chess.com/pub/player/{player}')
    response.raise_for_status()
    data.append(response.json())
# Extract, normalize, and load the data
pipeline.run(data, table_name='player')

Try it out in our Colab Demo

Features

  • Automatic Schema: Data structure inspection and schema creation for the destination.
  • Data Normalization: Consistent and verified data before loading.
  • Seamless Integration: Colab, AWS Lambda, Airflow, and local environments.
  • Scalable: Adapts to growing data needs in production.
  • Easy Maintenance: Clear data pipeline structure for updates.
  • Rapid Exploration: Quickly explore and gain insights from new data sources.
  • Versatile Usage: Suitable for ad-hoc exploration to advanced loading infrastructures.
  • Start in Seconds with CLI: Powerful CLI for managing, deploying and inspecting local pipelines.
  • Incremental Loading: Load only new or changed data and avoid loading old records again.
  • Open Source: Free and Apache 2.0 Licensed.

Ready to use Sources and Destinations

Explore ready to use sources (e.g. Google Sheets) in the Verified Sources docs and supported destinations (e.g. DuckDB) in the Destinations docs.

Documentation

For detailed usage and configuration, please refer to the official documentation.

Examples

You can find examples for various use cases in the examples folder.

Get Involved

The dlt project is quickly growing, and we're excited to have you join our community! Here's how you can get involved:

  • Connect with the Community: Join other dlt users and contributors on our Slack
  • Report issues and suggest features: Please use the GitHub Issues to report bugs or suggest new features. Before creating a new issue, make sure to search the tracker for possible duplicates and add a comment if you find one.
  • Track progress of our work and our plans: Please check out our public Github project
  • Contribute Verified Sources: Contribute your custom sources to the dlt-hub/verified-sources to help other folks in handling their data tasks.
  • Contribute code: Check out our contributing guidelines for information on how to make a pull request.
  • Improve documentation: Help us enhance the dlt documentation.

License

DLT is released under the Apache 2.0 License.

dlt's People

Contributors

rudolfix avatar tydunn avatar steinitzu avatar adrianbr avatar sh-rp avatar dat-a-man avatar burnash avatar rahuljo avatar astrakhantsevaaa avatar tonghere avatar z3z1ma avatar matthauskrzykowski avatar tungbq avatar vikas-edgevana avatar codingcyclist avatar redicane avatar aarora-quadfi avatar neilgorman104 avatar wtfzambo avatar anggi-permana-harianja avatar muppinesh avatar mirrorcraze avatar hsm207 avatar willi-mueller avatar zem360 avatar ashish-weblianz avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.