diff --git a/.gitignore b/.gitignore
index 3fc678c9afb1d0333f62f8e1e8474969567b4d5c..410652708762c340456b88ccdd721af3980e98d7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,6 @@
 *.pyc
 .project
 .pydevproject
+build/
+hshetl.egg-info/
+dist/
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..83954159781f5cd03314da3541b79c909573eed7
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2013 Hochschule Hannover
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
\ No newline at end of file
diff --git a/README b/README
new file mode 100644
index 0000000000000000000000000000000000000000..9f395ba3e35c39c117174dd939d4b84603802691
--- /dev/null
+++ b/README
@@ -0,0 +1,45 @@
+hshetl is a cli tool for extract transform load data between different sources.
+
+Currently supported sources are files, ldap, oracle and mysql.
+
+###############################################################################
+# Install on Debian
+###############################################################################
+
+Install the tool by using the setup.py script. It resolves all dependencies. Currently the setup was only tested
+on debian based linux distributions.
+
+You will need to following packages for the building process:
+ - python-dev
+ - python-setuptools
+ - libmysqlclient-dev
+ - libldap2-dev
+ - libsasl2-dev
+ - libssl-dev
+ - mercurial
+
+sudo apt-get install python-dev python-setuptools libmysqlclient-dev libldap2-dev libsasl2-dev libssl-dev mercurial
+
+You also need to run pip install -U distribute, because we need a higher
+version of it.
+
+###############################################################################
+# Virtualenv
+###############################################################################
+
+For testing purpose it is recommended to use python virtualenv. It is available
+in the package:
+ - python-virtualenv
+
+# create a virtualenv
+virtualenv --no-site-packages path/to/your/virtual/env
+# activate a virtualenv
+. path/to/your/virtual/env/bin/activate
+# deactivate a virtualenv
+deactivate
+
+###############################################################################
+# Tests
+###############################################################################
+We used nosetests to run the included unittests. Install it and run nosetests
+from inside the package directory ./hshetl
\ No newline at end of file
diff --git a/bin/hshetl b/bin/hshetl
index e3351088a262bdb46b03c58b48f53bf269202023..58f507f07ce36778f9cb74cd4bfa4adaed0aa3d8 100755
--- a/bin/hshetl
+++ b/bin/hshetl
@@ -1,4 +1,7 @@
-#!/bin/bash
+#!/usr/bin/env python
 
-BINPATH=`dirname $0`
-python "$BINPATH/../hshetl/cli.py" $@
\ No newline at end of file
+import sys
+from hshetl import cli
+
+if __name__ == "__main__":
+    cli.main(sys.argv[1:])
\ No newline at end of file
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000000000000000000000000000000000000..b32c013c170ad871357ab78be75b0511f5ca3796
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,47 @@
+from setuptools import setup
+
+# patch distutils if it can't cope with the 'classifiers' or 'download_url'
+# keywords (prior to python 2.3.0).
+from distutils.dist import DistributionMetadata
+if not hasattr(DistributionMetadata, 'classifiers'):
+    DistributionMetadata.classifiers = None
+if not hasattr(DistributionMetadata, 'download_url'):
+    DistributionMetadata.download_url = None
+
+setup(
+    name='hshetl',
+    version='0.1',
+    description='Extract Transform and Load (ETL) data from different sources into different sources.',
+    long_description=open('README').read(),
+    author='Dennis Ahrens, Philipp Schiffmann',
+    author_email='dennis.ahrens@hs-hannover.de, philipp.schiffmann@hs-hannover.de',
+    url='http://projects.it.hs-hannover.de/projects/hit-hshetl',
+    download_url='git://git.it.hs-hannover.de/hshetl.git',
+    license='MIT',
+    platforms=['Linux'],
+    keywords=['data', 'synchronization', 'transformation'],
+    classifiers=[
+        'Development Status :: 4 - Beta',
+        'Environment :: Other Environment',
+        'Intended Audience :: Developers',
+        'License :: OSI Approved :: MIT License',
+        'Operating System :: POSIX :: Linux',
+        'Programming Language :: Python',
+        'Topic :: Software Development :: Libraries :: Python Modules',
+    ],
+    scripts=['bin/hshetl'],
+    packages=['hshetl'],
+    setup_requires=['distribute >= 0.6.28'],
+    install_requires=[
+        'sqlalchemy>=0.7',
+        'argparse >= 1.1',
+        'PyYAML >= 3.10',
+        'cx_Oracle >= 5.1.2',
+        'python-ldap >= 2.3.13',
+        'mysql-python >= 1.2.3',
+        'mock'
+    ],
+    dependency_links=[
+        'hg+https://code.google.com/p/pyfakefs/'
+    ]
+)