diff --git a/.conda-recipe/bld.bat b/.conda-recipe/bld.bat
new file mode 100644
index 0000000000000000000000000000000000000000..c40a9bbeff7d6fc482af4fd1713e46c16aa9f345
--- /dev/null
+++ b/.conda-recipe/bld.bat
@@ -0,0 +1,2 @@
+"%PYTHON%" setup.py install
+if errorlevel 1 exit 1
diff --git a/.conda-recipe/build.sh b/.conda-recipe/build.sh
new file mode 100644
index 0000000000000000000000000000000000000000..05bdbc0dbcf9b3c0f438b3044069d86b8f3b74ef
--- /dev/null
+++ b/.conda-recipe/build.sh
@@ -0,0 +1,2 @@
+$PYTHON setup.py install
+
diff --git a/.conda-recipe/meta.yaml b/.conda-recipe/meta.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..2b4603741f05b77979d08b9c927f9214e94d54ab
--- /dev/null
+++ b/.conda-recipe/meta.yaml
@@ -0,0 +1,30 @@
+{% set data = load_setup_py_data() %}
+
+package:
+    name: sanipy
+    version: {{ data["version"] }}
+
+about:
+   home: {{ data["url"] }}
+   summary: {{ data["description"] }}
+
+source:
+    path: ..
+
+build:
+  noarch: python
+  entry_points:
+    - sanipy = sani:main
+
+requirements:
+    build:
+        - python >=3.6
+        - setuptools
+    run:
+        - python >=3.6
+        - pyepics
+        - colorama
+        - numpy
+        - pandas
+
+
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000000000000000000000000000000000000..0e683c1bc1182289ec2255efa0bb84e6170f1937
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,38 @@
+language: python
+
+python:
+  - 3.6
+
+# Build only tagged commits
+if: tag IS present
+
+before_install:
+  - wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh
+  - bash miniconda.sh -b -p $HOME/miniconda
+  - rm miniconda.sh # clean up here, so no warning is triggered during the final clean-up
+  - export PATH=$HOME/miniconda/bin:$PATH # if `source $HOME/miniconda/etc/profile.d/conda.sh` instead, anaconda is not found in deploy
+  - conda config --set always_yes yes
+  - conda config --set changeps1 no
+  - conda config --set anaconda_upload no
+  - conda config --append channels conda-forge
+  - conda config --append channels paulscherrerinstitute
+
+install:
+  - conda update -q conda
+  - conda install -q python=$TRAVIS_PYTHON_VERSION conda-build conda-verify anaconda-client
+  - conda info -a
+
+script:
+  - conda build .conda-recipe
+
+deploy:
+  provider: script
+  script: anaconda -t $ANACONDA_TOKEN upload $HOME/miniconda/conda-bld/**/sanipy-*.tar.bz2
+  on:
+    branch: master
+    tags: true
+
+notifications:
+  email: false
+
+
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000000000000000000000000000000000000..c093a5cbc77fdf29f4963edaf8d59ec940c6c300
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,13 @@
+from setuptools import setup, find_packages
+
+setup(
+    name="sanipy",
+    version="0.0.1",
+    url="https://github.com/augustin_s/sanipy",
+    description="A command-line tool for epics connection testing",
+    author="Paul Scherrer Institute",
+    packages=find_packages(),
+    py_modules=["sani", "commands"]
+)
+
+