Coder Social home page Coder Social logo

rahulfromearth / etlunit Goto Github PK

View Code? Open in Web Editor NEW

This project forked from opendataalex/etlunit

0.0 0.0 0.0 562 KB

Generic ETL/database Unit Testing framework based on xUnit principals.

License: GNU General Public License v3.0

Python 84.66% Shell 15.34%

etlunit's Introduction

etlUnit

Build Status Coverage Status

Installation

You can install etlUnit by downloading the source and using the setup.py script as follows:

$ git clone https://github.com/dbaAlex/etlUnit.git
$ cd etlUnit
$ python setup.py install

This setup call installs all of the necessary python dependencies. There are a few external dependencies as well, so please see the section below labeled "Non-Python Dependencies". I have not created any links or anything yet for the installation so you need to refer to the python code in this directly when you run it.

Once you have done that, its ready to run!

So what is etlUnit anyway?

etlUnit was created because there is no testing framework that truly addresses ETL testing in a manner that fits into modern coding practices (i.e. object oriented coding) that also interfaces with the various data integration tools. This is not surprising due to the nature of data integration tools because many of them are proprietary and don't play well outside of their tool suites. etlUnit is designed to use black/grey box testing practices as well as utilize the best practices of the xUnit family of testing tools.

Quickstart

To actually use etlUnit, you need a resource file for it to act on. A most basic resource file can be found in the res directory of the project (testsuite.yml). Executing the following will take that resource, generate some python code in the output directory specified, and run the code which will display the output of the tests executed to your terminal.

$ python etlunit/etlUnit.py -f res/testsuite.yml -o /tmp/ -g -e

Documentation

The documentation for etlUnit can be found on Read the Docs here.

Non-Python Dependencies

The only dependencies that are not handled in python currently are the ones for SQLAlchemy to connect to datasources. Documentation on how to install these is as follows:

Reporting Issues

We would love some feedback! Please do not hesitate to report any issues/questions/comments via the Github Issue Tracker.

etlunit's People

Contributors

csutherl avatar opendataalex 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.