You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@marvin.apache.org by we...@apache.org on 2022/01/19 04:26:35 UTC

[incubator-marvin] 01/11: Release modifications

This is an automated email from the ASF dual-hosted git repository.

weichen pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/incubator-marvin.git

commit 9e6b1ae42eb0f35dbd24864e36f55e7a12cde204
Author: Lucas Cardoso <lu...@b2wdigital.com>
AuthorDate: Wed Nov 24 13:17:37 2021 -0300

    Release modifications
---
 .travis.yml                                        |  4 +--
 Makefile                                           | 10 ++++--
 build/executor/Dockerfile                          | 14 +++++++++
 marvin-cli/MANIFEST.in                             |  5 ---
 python-toolbox/MANIFEST.in                         |  5 +++
 {marvin-cli => python-toolbox}/Makefile            |  0
 {marvin-cli => python-toolbox}/README.md           |  2 +-
 {marvin-cli => python-toolbox}/bin/marvin          | 26 ++++++++--------
 {marvin-cli => python-toolbox}/bin/marvin-api      |  2 +-
 {marvin-cli => python-toolbox}/bin/marvin_complete |  0
 .../marvin_python_toolbox}/VERSION                 |  0
 .../marvin_python_toolbox}/__init__.py             |  0
 .../communication}/__init__.py                     |  0
 .../communication/remote_calls.py                  |  0
 .../communication/stubs/__init__.py                |  0
 .../communication/stubs/daemon_pb2.py              |  0
 .../communication/stubs/daemon_pb2_grpc.py         |  0
 .../marvin_python_toolbox/management}/__init__.py  |  0
 .../management/airflow_template/cookiecutter.json  |  0
 .../{{cookiecutter.dag_name}}.py                   |  0
 .../marvin_python_toolbox}/management/edit.py      |  0
 .../marvin_python_toolbox}/management/engine.py    |  0
 .../marvin_python_toolbox}/management/generate.py  |  0
 .../kubernetes_template/cookiecutter.json          |  0
 .../{{cookiecutter.engine_name}}/deploy.sh         |  0
 .../{{cookiecutter.engine_name}}_deployment.yaml   |  0
 .../{{cookiecutter.engine_name}}_service.yaml      |  0
 .../marvin_python_toolbox}/management/notebook.py  |  0
 .../management/template/cookiecutter.json          |  0
 .../{{cookiecutter.project_name}}/.bumpversion.cfg |  0
 .../{{cookiecutter.project_name}}/.coveragerc      |  0
 .../{{cookiecutter.project_name}}/.gitignore       |  0
 .../{{cookiecutter.project_name}}/CHANGES.md       |  0
 .../template/{{cookiecutter.project_name}}/INSTALL |  0
 .../template/{{cookiecutter.project_name}}/LICENSE |  0
 .../{{cookiecutter.project_name}}/MANIFEST.in      |  0
 .../{{cookiecutter.project_name}}/Makefile         |  0
 .../{{cookiecutter.project_name}}/README.md        |  0
 .../docker/deploy/daemon/Dockerfile                |  0
 .../docker/deploy/daemon/deps/start.sh             |  0
 .../docker/develop/daemon/Dockerfile               |  0
 .../{{cookiecutter.project_name}}/docs.yaml        |  0
 .../{{cookiecutter.project_name}}/engine.messages  |  0
 .../{{cookiecutter.project_name}}/engine.metadata  |  0
 .../{{cookiecutter.project_name}}/engine.params    |  0
 .../feedback.messages                              |  0
 .../{{cookiecutter.project_name}}/marvin.ini       |  0
 .../notebooks/sample.ipynb                         |  0
 .../{{cookiecutter.project_name}}/pytest.ini       |  0
 .../scripts/install_automl.sh                      |  0
 .../{{cookiecutter.project_name}}/setup.cfg        |  0
 .../{{cookiecutter.project_name}}/setup.py         |  0
 .../tests/conftest.py                              |  0
 .../data_handler/test_acquisitor_and_cleaner.py    |  0
 .../tests/data_handler/test_training_preparator.py |  0
 .../tests/prediction/test_feedback.py              |  0
 .../tests/prediction/test_prediction_preparator.py |  0
 .../tests/prediction/test_predictor.py             |  0
 .../tests/training/test_metrics_evaluator.py       |  0
 .../tests/training/test_trainer.py                 |  0
 .../template/{{cookiecutter.project_name}}/tox.ini |  0
 .../{{cookiecutter.project_package}}/VERSION       |  0
 .../{{cookiecutter.project_package}}/__init__.py   |  0
 .../_compatibility.py                              |  0
 .../{{cookiecutter.project_package}}/_logging.py   |  0
 .../data_handler/__init__.py                       |  0
 .../data_handler/acquisitor_and_cleaner.py         |  0
 .../data_handler/training_preparator.py            |  0
 .../prediction/__init__.py                         |  0
 .../prediction/feedback.py                         |  0
 .../prediction/prediction_preparator.py            |  0
 .../prediction/predictor.py                        |  0
 .../training/__init__.py                           |  0
 .../training/metrics_evaluator.py                  |  0
 .../training/trainer.py                            |  0
 .../marvin_python_toolbox}/management/test.py      |  0
 .../marvin_python_toolbox/utils}/__init__.py       |  0
 .../marvin_python_toolbox}/utils/api.py            |  0
 .../marvin_python_toolbox}/utils/benchmark.py      |  0
 .../marvin_python_toolbox}/utils/config.py         |  0
 .../marvin_python_toolbox}/utils/docker.py         |  0
 .../marvin_python_toolbox}/utils/git.py            |  0
 .../marvin_python_toolbox}/utils/log.py            |  0
 .../marvin_python_toolbox}/utils/misc.py           |  0
 {marvin-cli => python-toolbox}/pytest.ini          |  2 +-
 {marvin-cli => python-toolbox}/setup.py            |  4 +--
 .../tests/communication/test_remote_calls.py       | 24 +++++++--------
 .../tests/management/test_edit.py                  |  2 +-
 .../tests/management/test_engine.py                |  4 +--
 .../tests/utils/test_benchmark.py                  | 36 +++++++++++-----------
 .../tests/utils/test_config.py                     | 14 ++++-----
 .../tests/utils/test_docker.py                     | 28 ++++++++---------
 .../tests/utils/test_git.py                        | 10 +++---
 .../tests/utils/test_misc.py                       | 26 ++++++++--------
 {marvin-cli => python-toolbox}/tox.ini             |  2 +-
 95 files changed, 120 insertions(+), 100 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 525b246..76c0f39 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -41,7 +41,7 @@ matrix:
       before_install:
         - travis_retry curl https://d3kbcqa49mib13.cloudfront.net/spark-2.1.1-bin-hadoop2.6.tgz -o ./spark-2.1.1-bin-hadoop2.6.tgz
         - sudo tar -xf ./spark-2.1.1-bin-hadoop2.6.tgz
-        - cd python-daemon
+        - cd python-toolbox
         - mkdir -p marvin_data
         - mkdir -p marvin_home
         - mkdir -p marvin_log
@@ -69,7 +69,7 @@ matrix:
       before_install:
         - travis_retry curl https://d3kbcqa49mib13.cloudfront.net/spark-2.1.1-bin-hadoop2.6.tgz -o ./spark-2.1.1-bin-hadoop2.6.tgz
         - sudo tar -xf ./spark-2.1.1-bin-hadoop2.6.tgz
-        - cd marvin-cli
+        - cd python-toolbox
         - mkdir -p marvin_data
         - mkdir -p marvin_home
         - mkdir -p marvin_log
diff --git a/Makefile b/Makefile
old mode 100644
new mode 100755
index 67333f4..fccabe7
--- a/Makefile
+++ b/Makefile
@@ -13,7 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-.PHONY: help python-daemon-base engine-server python-daemon
+.PHONY: help python-daemon-base engine-server python-daemon executor-base
 
 help:
 	@echo "    python-daemon-base"
@@ -22,6 +22,8 @@ help:
 	@echo "        Builds the python-daemon and make it available for be included into docker images."
 	@echo "    engine-server"
 	@echo "        Builds a jar with the engine interpreter server."
+	@echo "    executor-base"
+	@echo "        Builds a docker image that can run engine executor."
 
 python-daemon-base:
 	$(MAKE) python-daemon
@@ -32,4 +34,8 @@ engine-server:
 	mv engine-executor/target/scala-2.12/marvin-engine-executor-assembly-*.jar build/executor/marvin-engine-executor-assembly.jar
 
 python-daemon:
-	tar -zcvf build/daemon/python-daemon.tar.gz python-daemon
\ No newline at end of file
+	tar -zcvf build/daemon/python-daemon.tar.gz python-daemon
+
+executor-base:
+	$(MAKE) engine-server
+	docker build -t marvin-executor -f build/executor/Dockerfile build/executor
\ No newline at end of file
diff --git a/build/executor/Dockerfile b/build/executor/Dockerfile
new file mode 100755
index 0000000..6c4b783
--- /dev/null
+++ b/build/executor/Dockerfile
@@ -0,0 +1,14 @@
+FROM openjdk:8
+
+RUN useradd -m marvin
+RUN mkdir -p /home/marvin/engine
+
+USER marvin
+WORKDIR /home/marvin
+
+COPY marvin-engine-executor-assembly.jar /home/marvin/.
+
+EXPOSE 8000
+
+ENTRYPOINT [ "java", "-DmarvinConfig.engineHome=/home/marvin/engine", "-DmarvinConfig.ipAddress=0.0.0.0",\
+                "-DmarvinConfig.port=8000", "-DmarvinConfig.protocol=",  "-jar", "marvin-engine-executor-assembly.jar"]
diff --git a/marvin-cli/MANIFEST.in b/marvin-cli/MANIFEST.in
deleted file mode 100755
index 1c905b6..0000000
--- a/marvin-cli/MANIFEST.in
+++ /dev/null
@@ -1,5 +0,0 @@
-include README.md
-include marvin_cli/VERSION
-graft marvin_cli/management/template
-graft marvin_cli/management/airflow_template
-graft marvin_cli/management/kubernetes_template
diff --git a/python-toolbox/MANIFEST.in b/python-toolbox/MANIFEST.in
new file mode 100755
index 0000000..67db2f3
--- /dev/null
+++ b/python-toolbox/MANIFEST.in
@@ -0,0 +1,5 @@
+include README.md
+include marvin_python_toolbox/VERSION
+graft marvin_python_toolbox/management/template
+graft marvin_python_toolbox/management/airflow_template
+graft marvin_python_toolbox/management/kubernetes_template
diff --git a/marvin-cli/Makefile b/python-toolbox/Makefile
similarity index 100%
rename from marvin-cli/Makefile
rename to python-toolbox/Makefile
diff --git a/marvin-cli/README.md b/python-toolbox/README.md
similarity index 98%
rename from marvin-cli/README.md
rename to python-toolbox/README.md
index 0d7a26b..0716720 100755
--- a/marvin-cli/README.md
+++ b/python-toolbox/README.md
@@ -1,4 +1,4 @@
-# Marvin CLI v0.0.5
+# Marvin Python Toolbox v0.0.5
 
 ![](https://github.com/apache/incubator-marvin-website/blob/master/site/assets/themes/apache/img/logo.png?raw=true)
 
diff --git a/marvin-cli/bin/marvin b/python-toolbox/bin/marvin
similarity index 78%
rename from marvin-cli/bin/marvin
rename to python-toolbox/bin/marvin
index 6bafc47..ff47f71 100755
--- a/marvin-cli/bin/marvin
+++ b/python-toolbox/bin/marvin
@@ -17,19 +17,19 @@
 
 import os
 import click
-from marvin_cli.utils.misc import package_to_name, create_tmp_marvin_folder
-from marvin_cli.utils.misc import retrieve_tmp_info
-from marvin_cli.utils.config import parse_ini
-from marvin_cli.utils.config import read_cli_conf, generate_default_conf
-from marvin_cli.utils.docker import search_engine_container
-from marvin_cli.utils.docker import search_engine_images
-from marvin_cli.utils.docker import create_engine_image
-from marvin_cli.utils.docker import create_daemon_container
-from marvin_cli.management.engine import cli as cli_engine
-from marvin_cli.management.notebook import cli as cli_notebook
-from marvin_cli.management.edit import cli as cli_edit
-from marvin_cli.management.test import cli as cli_test
-from marvin_cli.management.generate import cli as cli_generate
+from marvin_python_toolbox.utils.misc import package_to_name, create_tmp_marvin_folder
+from marvin_python_toolbox.utils.misc import retrieve_tmp_info
+from marvin_python_toolbox.utils.config import parse_ini
+from marvin_python_toolbox.utils.config import read_cli_conf, generate_default_conf
+from marvin_python_toolbox.utils.docker import search_engine_container
+from marvin_python_toolbox.utils.docker import search_engine_images
+from marvin_python_toolbox.utils.docker import create_engine_image
+from marvin_python_toolbox.utils.docker import create_daemon_container
+from marvin_python_toolbox.management.engine import cli as cli_engine
+from marvin_python_toolbox.management.notebook import cli as cli_notebook
+from marvin_python_toolbox.management.edit import cli as cli_edit
+from marvin_python_toolbox.management.test import cli as cli_test
+from marvin_python_toolbox.management.generate import cli as cli_generate
 
 EXCLUDE_BY_TYPE = {
     'toolbox': ['engine-dryrun', 'engine-grpcserver', 'engine-httpserver', 'notebook',
diff --git a/marvin-cli/bin/marvin-api b/python-toolbox/bin/marvin-api
similarity index 96%
rename from marvin-cli/bin/marvin-api
rename to python-toolbox/bin/marvin-api
index 2d42614..d664644 100644
--- a/marvin-cli/bin/marvin-api
+++ b/python-toolbox/bin/marvin-api
@@ -16,7 +16,7 @@
 # limitations under the License.
 
 import click
-import marvin_cli.utils.api as api
+import marvin_python_toolbox.utils.api as api
 
 @click.group('main')
 def cli():
diff --git a/marvin-cli/bin/marvin_complete b/python-toolbox/bin/marvin_complete
similarity index 100%
rename from marvin-cli/bin/marvin_complete
rename to python-toolbox/bin/marvin_complete
diff --git a/marvin-cli/marvin_cli/VERSION b/python-toolbox/marvin_python_toolbox/VERSION
similarity index 100%
rename from marvin-cli/marvin_cli/VERSION
rename to python-toolbox/marvin_python_toolbox/VERSION
diff --git a/marvin-cli/marvin_cli/utils/__init__.py b/python-toolbox/marvin_python_toolbox/__init__.py
similarity index 100%
rename from marvin-cli/marvin_cli/utils/__init__.py
rename to python-toolbox/marvin_python_toolbox/__init__.py
diff --git a/marvin-cli/marvin_cli/management/__init__.py b/python-toolbox/marvin_python_toolbox/communication/__init__.py
similarity index 100%
rename from marvin-cli/marvin_cli/management/__init__.py
rename to python-toolbox/marvin_python_toolbox/communication/__init__.py
diff --git a/marvin-cli/marvin_cli/communication/remote_calls.py b/python-toolbox/marvin_python_toolbox/communication/remote_calls.py
similarity index 100%
rename from marvin-cli/marvin_cli/communication/remote_calls.py
rename to python-toolbox/marvin_python_toolbox/communication/remote_calls.py
diff --git a/marvin-cli/marvin_cli/communication/stubs/__init__.py b/python-toolbox/marvin_python_toolbox/communication/stubs/__init__.py
similarity index 100%
rename from marvin-cli/marvin_cli/communication/stubs/__init__.py
rename to python-toolbox/marvin_python_toolbox/communication/stubs/__init__.py
diff --git a/marvin-cli/marvin_cli/communication/stubs/daemon_pb2.py b/python-toolbox/marvin_python_toolbox/communication/stubs/daemon_pb2.py
similarity index 100%
rename from marvin-cli/marvin_cli/communication/stubs/daemon_pb2.py
rename to python-toolbox/marvin_python_toolbox/communication/stubs/daemon_pb2.py
diff --git a/marvin-cli/marvin_cli/communication/stubs/daemon_pb2_grpc.py b/python-toolbox/marvin_python_toolbox/communication/stubs/daemon_pb2_grpc.py
similarity index 100%
rename from marvin-cli/marvin_cli/communication/stubs/daemon_pb2_grpc.py
rename to python-toolbox/marvin_python_toolbox/communication/stubs/daemon_pb2_grpc.py
diff --git a/marvin-cli/marvin_cli/communication/__init__.py b/python-toolbox/marvin_python_toolbox/management/__init__.py
similarity index 100%
rename from marvin-cli/marvin_cli/communication/__init__.py
rename to python-toolbox/marvin_python_toolbox/management/__init__.py
diff --git a/marvin-cli/marvin_cli/management/airflow_template/cookiecutter.json b/python-toolbox/marvin_python_toolbox/management/airflow_template/cookiecutter.json
similarity index 100%
rename from marvin-cli/marvin_cli/management/airflow_template/cookiecutter.json
rename to python-toolbox/marvin_python_toolbox/management/airflow_template/cookiecutter.json
diff --git a/marvin-cli/marvin_cli/management/airflow_template/{{cookiecutter.dag_name}}/{{cookiecutter.dag_name}}.py b/python-toolbox/marvin_python_toolbox/management/airflow_template/{{cookiecutter.dag_name}}/{{cookiecutter.dag_name}}.py
similarity index 100%
rename from marvin-cli/marvin_cli/management/airflow_template/{{cookiecutter.dag_name}}/{{cookiecutter.dag_name}}.py
rename to python-toolbox/marvin_python_toolbox/management/airflow_template/{{cookiecutter.dag_name}}/{{cookiecutter.dag_name}}.py
diff --git a/marvin-cli/marvin_cli/management/edit.py b/python-toolbox/marvin_python_toolbox/management/edit.py
similarity index 100%
rename from marvin-cli/marvin_cli/management/edit.py
rename to python-toolbox/marvin_python_toolbox/management/edit.py
diff --git a/marvin-cli/marvin_cli/management/engine.py b/python-toolbox/marvin_python_toolbox/management/engine.py
similarity index 100%
rename from marvin-cli/marvin_cli/management/engine.py
rename to python-toolbox/marvin_python_toolbox/management/engine.py
diff --git a/marvin-cli/marvin_cli/management/generate.py b/python-toolbox/marvin_python_toolbox/management/generate.py
similarity index 100%
rename from marvin-cli/marvin_cli/management/generate.py
rename to python-toolbox/marvin_python_toolbox/management/generate.py
diff --git a/marvin-cli/marvin_cli/management/kubernetes_template/cookiecutter.json b/python-toolbox/marvin_python_toolbox/management/kubernetes_template/cookiecutter.json
similarity index 100%
rename from marvin-cli/marvin_cli/management/kubernetes_template/cookiecutter.json
rename to python-toolbox/marvin_python_toolbox/management/kubernetes_template/cookiecutter.json
diff --git a/marvin-cli/marvin_cli/management/kubernetes_template/{{cookiecutter.engine_name}}/deploy.sh b/python-toolbox/marvin_python_toolbox/management/kubernetes_template/{{cookiecutter.engine_name}}/deploy.sh
similarity index 100%
rename from marvin-cli/marvin_cli/management/kubernetes_template/{{cookiecutter.engine_name}}/deploy.sh
rename to python-toolbox/marvin_python_toolbox/management/kubernetes_template/{{cookiecutter.engine_name}}/deploy.sh
diff --git a/marvin-cli/marvin_cli/management/kubernetes_template/{{cookiecutter.engine_name}}/{{cookiecutter.engine_name}}_deployment.yaml b/python-toolbox/marvin_python_toolbox/management/kubernetes_template/{{cookiecutter.engine_name}}/{{cookiecutter.engine_name}}_deployment.yaml
similarity index 100%
rename from marvin-cli/marvin_cli/management/kubernetes_template/{{cookiecutter.engine_name}}/{{cookiecutter.engine_name}}_deployment.yaml
rename to python-toolbox/marvin_python_toolbox/management/kubernetes_template/{{cookiecutter.engine_name}}/{{cookiecutter.engine_name}}_deployment.yaml
diff --git a/marvin-cli/marvin_cli/management/kubernetes_template/{{cookiecutter.engine_name}}/{{cookiecutter.engine_name}}_service.yaml b/python-toolbox/marvin_python_toolbox/management/kubernetes_template/{{cookiecutter.engine_name}}/{{cookiecutter.engine_name}}_service.yaml
similarity index 100%
rename from marvin-cli/marvin_cli/management/kubernetes_template/{{cookiecutter.engine_name}}/{{cookiecutter.engine_name}}_service.yaml
rename to python-toolbox/marvin_python_toolbox/management/kubernetes_template/{{cookiecutter.engine_name}}/{{cookiecutter.engine_name}}_service.yaml
diff --git a/marvin-cli/marvin_cli/management/notebook.py b/python-toolbox/marvin_python_toolbox/management/notebook.py
similarity index 100%
rename from marvin-cli/marvin_cli/management/notebook.py
rename to python-toolbox/marvin_python_toolbox/management/notebook.py
diff --git a/marvin-cli/marvin_cli/management/template/cookiecutter.json b/python-toolbox/marvin_python_toolbox/management/template/cookiecutter.json
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/cookiecutter.json
rename to python-toolbox/marvin_python_toolbox/management/template/cookiecutter.json
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/.bumpversion.cfg b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/.bumpversion.cfg
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/.bumpversion.cfg
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/.bumpversion.cfg
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/.coveragerc b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/.coveragerc
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/.coveragerc
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/.coveragerc
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/.gitignore b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/.gitignore
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/.gitignore
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/.gitignore
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/CHANGES.md b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/CHANGES.md
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/CHANGES.md
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/CHANGES.md
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/INSTALL b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/INSTALL
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/INSTALL
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/INSTALL
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/LICENSE b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/LICENSE
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/LICENSE
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/LICENSE
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/MANIFEST.in b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/MANIFEST.in
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/MANIFEST.in
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/MANIFEST.in
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/Makefile b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/Makefile
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/Makefile
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/Makefile
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/README.md b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/README.md
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/README.md
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/README.md
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/docker/deploy/daemon/Dockerfile b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/docker/deploy/daemon/Dockerfile
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/docker/deploy/daemon/Dockerfile
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/docker/deploy/daemon/Dockerfile
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/docker/deploy/daemon/deps/start.sh b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/docker/deploy/daemon/deps/start.sh
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/docker/deploy/daemon/deps/start.sh
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/docker/deploy/daemon/deps/start.sh
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/docker/develop/daemon/Dockerfile b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/docker/develop/daemon/Dockerfile
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/docker/develop/daemon/Dockerfile
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/docker/develop/daemon/Dockerfile
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/docs.yaml b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/docs.yaml
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/docs.yaml
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/docs.yaml
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/engine.messages b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/engine.messages
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/engine.messages
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/engine.messages
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/engine.metadata b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/engine.metadata
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/engine.metadata
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/engine.metadata
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/engine.params b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/engine.params
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/engine.params
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/engine.params
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/feedback.messages b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/feedback.messages
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/feedback.messages
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/feedback.messages
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/marvin.ini b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/marvin.ini
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/marvin.ini
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/marvin.ini
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/notebooks/sample.ipynb b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/notebooks/sample.ipynb
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/notebooks/sample.ipynb
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/notebooks/sample.ipynb
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/pytest.ini b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/pytest.ini
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/pytest.ini
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/pytest.ini
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/scripts/install_automl.sh b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/scripts/install_automl.sh
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/scripts/install_automl.sh
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/scripts/install_automl.sh
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/setup.cfg b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/setup.cfg
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/setup.cfg
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/setup.cfg
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/setup.py b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/setup.py
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/setup.py
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/setup.py
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/tests/conftest.py b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/tests/conftest.py
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/tests/conftest.py
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/tests/conftest.py
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/tests/data_handler/test_acquisitor_and_cleaner.py b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/tests/data_handler/test_acquisitor_and_cleaner.py
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/tests/data_handler/test_acquisitor_and_cleaner.py
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/tests/data_handler/test_acquisitor_and_cleaner.py
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/tests/data_handler/test_training_preparator.py b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/tests/data_handler/test_training_preparator.py
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/tests/data_handler/test_training_preparator.py
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/tests/data_handler/test_training_preparator.py
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/tests/prediction/test_feedback.py b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/tests/prediction/test_feedback.py
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/tests/prediction/test_feedback.py
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/tests/prediction/test_feedback.py
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/tests/prediction/test_prediction_preparator.py b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/tests/prediction/test_prediction_preparator.py
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/tests/prediction/test_prediction_preparator.py
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/tests/prediction/test_prediction_preparator.py
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/tests/prediction/test_predictor.py b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/tests/prediction/test_predictor.py
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/tests/prediction/test_predictor.py
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/tests/prediction/test_predictor.py
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/tests/training/test_metrics_evaluator.py b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/tests/training/test_metrics_evaluator.py
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/tests/training/test_metrics_evaluator.py
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/tests/training/test_metrics_evaluator.py
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/tests/training/test_trainer.py b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/tests/training/test_trainer.py
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/tests/training/test_trainer.py
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/tests/training/test_trainer.py
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/tox.ini b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/tox.ini
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/tox.ini
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/tox.ini
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/VERSION b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/VERSION
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/VERSION
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/VERSION
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/__init__.py b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/__init__.py
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/__init__.py
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/__init__.py
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/_compatibility.py b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/_compatibility.py
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/_compatibility.py
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/_compatibility.py
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/_logging.py b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/_logging.py
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/_logging.py
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/_logging.py
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/data_handler/__init__.py b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/data_handler/__init__.py
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/data_handler/__init__.py
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/data_handler/__init__.py
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/data_handler/acquisitor_and_cleaner.py b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/data_handler/acquisitor_and_cleaner.py
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/data_handler/acquisitor_and_cleaner.py
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/data_handler/acquisitor_and_cleaner.py
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/data_handler/training_preparator.py b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/data_handler/training_preparator.py
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/data_handler/training_preparator.py
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/data_handler/training_preparator.py
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/prediction/__init__.py b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/prediction/__init__.py
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/prediction/__init__.py
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/prediction/__init__.py
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/prediction/feedback.py b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/prediction/feedback.py
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/prediction/feedback.py
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/prediction/feedback.py
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/prediction/prediction_preparator.py b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/prediction/prediction_preparator.py
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/prediction/prediction_preparator.py
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/prediction/prediction_preparator.py
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/prediction/predictor.py b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/prediction/predictor.py
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/prediction/predictor.py
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/prediction/predictor.py
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/training/__init__.py b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/training/__init__.py
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/training/__init__.py
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/training/__init__.py
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/training/metrics_evaluator.py b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/training/metrics_evaluator.py
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/training/metrics_evaluator.py
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/training/metrics_evaluator.py
diff --git a/marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/training/trainer.py b/python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/training/trainer.py
similarity index 100%
rename from marvin-cli/marvin_cli/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/training/trainer.py
rename to python-toolbox/marvin_python_toolbox/management/template/{{cookiecutter.project_name}}/{{cookiecutter.project_package}}/training/trainer.py
diff --git a/marvin-cli/marvin_cli/management/test.py b/python-toolbox/marvin_python_toolbox/management/test.py
similarity index 100%
rename from marvin-cli/marvin_cli/management/test.py
rename to python-toolbox/marvin_python_toolbox/management/test.py
diff --git a/marvin-cli/marvin_cli/__init__.py b/python-toolbox/marvin_python_toolbox/utils/__init__.py
similarity index 100%
rename from marvin-cli/marvin_cli/__init__.py
rename to python-toolbox/marvin_python_toolbox/utils/__init__.py
diff --git a/marvin-cli/marvin_cli/utils/api.py b/python-toolbox/marvin_python_toolbox/utils/api.py
similarity index 100%
rename from marvin-cli/marvin_cli/utils/api.py
rename to python-toolbox/marvin_python_toolbox/utils/api.py
diff --git a/marvin-cli/marvin_cli/utils/benchmark.py b/python-toolbox/marvin_python_toolbox/utils/benchmark.py
similarity index 100%
rename from marvin-cli/marvin_cli/utils/benchmark.py
rename to python-toolbox/marvin_python_toolbox/utils/benchmark.py
diff --git a/marvin-cli/marvin_cli/utils/config.py b/python-toolbox/marvin_python_toolbox/utils/config.py
similarity index 100%
rename from marvin-cli/marvin_cli/utils/config.py
rename to python-toolbox/marvin_python_toolbox/utils/config.py
diff --git a/marvin-cli/marvin_cli/utils/docker.py b/python-toolbox/marvin_python_toolbox/utils/docker.py
similarity index 100%
rename from marvin-cli/marvin_cli/utils/docker.py
rename to python-toolbox/marvin_python_toolbox/utils/docker.py
diff --git a/marvin-cli/marvin_cli/utils/git.py b/python-toolbox/marvin_python_toolbox/utils/git.py
similarity index 100%
rename from marvin-cli/marvin_cli/utils/git.py
rename to python-toolbox/marvin_python_toolbox/utils/git.py
diff --git a/marvin-cli/marvin_cli/utils/log.py b/python-toolbox/marvin_python_toolbox/utils/log.py
similarity index 100%
rename from marvin-cli/marvin_cli/utils/log.py
rename to python-toolbox/marvin_python_toolbox/utils/log.py
diff --git a/marvin-cli/marvin_cli/utils/misc.py b/python-toolbox/marvin_python_toolbox/utils/misc.py
similarity index 100%
rename from marvin-cli/marvin_cli/utils/misc.py
rename to python-toolbox/marvin_python_toolbox/utils/misc.py
diff --git a/marvin-cli/pytest.ini b/python-toolbox/pytest.ini
similarity index 63%
rename from marvin-cli/pytest.ini
rename to python-toolbox/pytest.ini
index dbe65e1..c0f275d 100755
--- a/marvin-cli/pytest.ini
+++ b/python-toolbox/pytest.ini
@@ -1,4 +1,4 @@
 [pytest]
 minversion    = 2.0
-norecursedirs = .git .tox .eggs .cache *.egg build dist tmp* marvin_cli/management
+norecursedirs = .git .tox .eggs .cache *.egg build dist tmp* marvin_python_toolbox/management
 python_files  = test*.py
\ No newline at end of file
diff --git a/marvin-cli/setup.py b/python-toolbox/setup.py
similarity index 97%
rename from marvin-cli/setup.py
rename to python-toolbox/setup.py
index 5102069..dd2e172 100755
--- a/marvin-cli/setup.py
+++ b/python-toolbox/setup.py
@@ -24,8 +24,8 @@ from setuptools import setup, find_packages
 from setuptools.command.test import test as TestCommand
 
 # Package basic info
-PACKAGE_NAME = 'marvin_cli'
-PACKAGE_DESCRIPTION = 'Apache Marvin-AI CLI'
+PACKAGE_NAME = 'marvin_python_toolbox'
+PACKAGE_DESCRIPTION = 'Apache Marvin-AI Python Toolbox'
 
 URL = ''
 
diff --git a/marvin-cli/tests/communication/test_remote_calls.py b/python-toolbox/tests/communication/test_remote_calls.py
similarity index 68%
rename from marvin-cli/tests/communication/test_remote_calls.py
rename to python-toolbox/tests/communication/test_remote_calls.py
index bd571c8..27f19cf 100755
--- a/marvin-cli/tests/communication/test_remote_calls.py
+++ b/python-toolbox/tests/communication/test_remote_calls.py
@@ -21,7 +21,7 @@ try:
 except ImportError:
     import unittest.mock as mock
 
-from marvin_cli.communication.remote_calls import RemoteCalls
+from marvin_python_toolbox.communication.remote_calls import RemoteCalls
 
 mocked_host = '0.0.0.0'
 mocked_port = 0
@@ -32,68 +32,68 @@ mocked_params = {
 }
 mocked_args = 'mocked_args'
 
-@mock.patch('marvin_cli.communication.remote_calls.grpc.insecure_channel')
+@mock.patch('marvin_python_toolbox.communication.remote_calls.grpc.insecure_channel')
 def test_RemoteCall_init(channel_mocked):
     RemoteCalls(mocked_host, mocked_port)
     channel_mocked.assert_called_with('0.0.0.0:0')
 
-@mock.patch('marvin_cli.communication.remote_calls.daemon_pb2_grpc.CommandCallStub')
+@mock.patch('marvin_python_toolbox.communication.remote_calls.daemon_pb2_grpc.CommandCallStub')
 def test_call_command(stub_mocked):
     stub = stub_mocked.return_value
     rc = RemoteCalls()
     rc.call_command(mocked_name, mocked_params)
     stub.callCommand.assert_called()
 
-@mock.patch('marvin_cli.communication.remote_calls.daemon_pb2_grpc.CommandCallStub')
+@mock.patch('marvin_python_toolbox.communication.remote_calls.daemon_pb2_grpc.CommandCallStub')
 def test_stop_command(stub_mocked):
     stub = stub_mocked.return_value
     rc = RemoteCalls()
     rc.stop_command(mocked_name)
     stub.stopCommand.assert_called()
 
-@mock.patch('marvin_cli.communication.remote_calls.RemoteCalls.call_command')
+@mock.patch('marvin_python_toolbox.communication.remote_calls.RemoteCalls.call_command')
 def test_run_grpc(call_mocked):
     rc = RemoteCalls()
     rc.run_grpc('all', None, None)
     call_mocked.assert_called()
 
-@mock.patch('marvin_cli.communication.remote_calls.RemoteCalls.stop_command')
+@mock.patch('marvin_python_toolbox.communication.remote_calls.RemoteCalls.stop_command')
 def test_stop_grpc(stop_mocked):
     rc = RemoteCalls()
     rc.stop_grpc()
     stop_mocked.assert_called()
 
-@mock.patch('marvin_cli.communication.remote_calls.RemoteCalls.call_command')
+@mock.patch('marvin_python_toolbox.communication.remote_calls.RemoteCalls.call_command')
 def test_run_dryrun(call_mocked):
     rc = RemoteCalls()
     rc.run_dryrun('all', True)
     call_mocked.assert_called()
 
-@mock.patch('marvin_cli.communication.remote_calls.RemoteCalls.call_command')
+@mock.patch('marvin_python_toolbox.communication.remote_calls.RemoteCalls.call_command')
 def test_run_notebook(call_mocked):
     rc = RemoteCalls()
     rc.run_notebook(True)
     call_mocked.assert_called()
 
-@mock.patch('marvin_cli.communication.remote_calls.RemoteCalls.call_command')
+@mock.patch('marvin_python_toolbox.communication.remote_calls.RemoteCalls.call_command')
 def test_run_lab(call_mocked):
     rc = RemoteCalls()
     rc.run_lab(mocked_port)
     call_mocked.assert_called()
 
-@mock.patch('marvin_cli.communication.remote_calls.RemoteCalls.call_command')
+@mock.patch('marvin_python_toolbox.communication.remote_calls.RemoteCalls.call_command')
 def test_run_test(call_mocked):
     rc = RemoteCalls()
     rc.run_test(True, True, True, mocked_args)
     call_mocked.assert_called()
 
-@mock.patch('marvin_cli.communication.remote_calls.RemoteCalls.call_command')
+@mock.patch('marvin_python_toolbox.communication.remote_calls.RemoteCalls.call_command')
 def test_run_tox(call_mocked):
     rc = RemoteCalls()
     rc.run_tox(mocked_args)
     call_mocked.assert_called()
 
-@mock.patch('marvin_cli.communication.remote_calls.RemoteCalls.call_command')
+@mock.patch('marvin_python_toolbox.communication.remote_calls.RemoteCalls.call_command')
 def test_run_tdd(call_mocked):
     rc = RemoteCalls()
     rc.run_tdd(True, True, True, True, mocked_args)
diff --git a/marvin-cli/tests/management/test_edit.py b/python-toolbox/tests/management/test_edit.py
similarity index 94%
rename from marvin-cli/tests/management/test_edit.py
rename to python-toolbox/tests/management/test_edit.py
index 3b1b630..924c479 100755
--- a/marvin-cli/tests/management/test_edit.py
+++ b/python-toolbox/tests/management/test_edit.py
@@ -22,7 +22,7 @@ try:
 except ImportError:
     import unittest.mock as mock
 
-from marvin_cli.management.edit import config
+from marvin_python_toolbox.management.edit import config
 mocked_obj = {
     'editor': 'mocked'
 }
diff --git a/marvin-cli/tests/management/test_engine.py b/python-toolbox/tests/management/test_engine.py
similarity index 88%
rename from marvin-cli/tests/management/test_engine.py
rename to python-toolbox/tests/management/test_engine.py
index d59222f..3a4844a 100755
--- a/marvin-cli/tests/management/test_engine.py
+++ b/python-toolbox/tests/management/test_engine.py
@@ -23,9 +23,9 @@ try:
 except ImportError:
     import unittest.mock as mock
 
-from marvin_cli.management.engine import generate
+from marvin_python_toolbox.management.engine import generate
 
-@mock.patch('marvin_cli.management.engine.cookiecutter')
+@mock.patch('marvin_python_toolbox.management.engine.cookiecutter')
 def test_generate(cookie_mocked):
     args = ['-n', 'mocked', '-d', 'mocked', '-m',
             'mocked', '-e', 'mocked']
diff --git a/marvin-cli/tests/utils/test_benchmark.py b/python-toolbox/tests/utils/test_benchmark.py
similarity index 73%
rename from marvin-cli/tests/utils/test_benchmark.py
rename to python-toolbox/tests/utils/test_benchmark.py
index 7d8d1a2..0941e09 100755
--- a/marvin-cli/tests/utils/test_benchmark.py
+++ b/python-toolbox/tests/utils/test_benchmark.py
@@ -21,10 +21,10 @@ try:
 except ImportError:
     import unittest.mock as mock
 
-from marvin_cli.utils.benchmark import create_or_get_benchmark_folder
-from marvin_cli.utils.benchmark import calculate_cpu_percent, calculate_disk_io, calculate_network_bytes
-from marvin_cli.utils.benchmark import create_or_return_poi, create_poi
-from marvin_cli.utils.benchmark import make_graph, read_csv, read_poi, filter_data
+from marvin_python_toolbox.utils.benchmark import create_or_get_benchmark_folder
+from marvin_python_toolbox.utils.benchmark import calculate_cpu_percent, calculate_disk_io, calculate_network_bytes
+from marvin_python_toolbox.utils.benchmark import create_or_return_poi, create_poi
+from marvin_python_toolbox.utils.benchmark import make_graph, read_csv, read_poi, filter_data
 
 mocked_data = {
     "memory_stats": {
@@ -76,24 +76,24 @@ def test_create_or_return_poi():
     assert path == os.path.join(create_or_get_benchmark_folder(), 
                                 'poi_{0}.json'.format(timestamp))
 
-@mock.patch("marvin_cli.utils.benchmark.os.path.exists")
-@mock.patch("marvin_cli.utils.benchmark.open")
+@mock.patch("marvin_python_toolbox.utils.benchmark.os.path.exists")
+@mock.patch("marvin_python_toolbox.utils.benchmark.open")
 def test_read_csv(open_mocked, exists_mocked):
     path = os.path.join(create_or_get_benchmark_folder(), 'benchmark_mocked.csv')
     read_csv('mocked')
     exists_mocked.assert_called_with(path)
     open_mocked.assert_called_with(path, 'r')
 
-@mock.patch("marvin_cli.utils.benchmark.open")
+@mock.patch("marvin_python_toolbox.utils.benchmark.open")
 def test_read_poi(open_mocked):
     timestamp = 'mocked'
     path = create_or_return_poi(timestamp)
     read_poi('mocked')
     open_mocked.assert_called_with(path, 'r')
 
-@mock.patch("marvin_cli.utils.benchmark.read_csv")
-@mock.patch("marvin_cli.utils.benchmark.read_poi")
-@mock.patch("marvin_cli.utils.benchmark.plt.show")
+@mock.patch("marvin_python_toolbox.utils.benchmark.read_csv")
+@mock.patch("marvin_python_toolbox.utils.benchmark.read_poi")
+@mock.patch("marvin_python_toolbox.utils.benchmark.plt.show")
 def test_make_graph(show_mocked, poi_mocked, csv_mocked):
     timestamp = 'mocked'
     make_graph('mocked_name', 'mocked_label', timestamp)
@@ -101,9 +101,9 @@ def test_make_graph(show_mocked, poi_mocked, csv_mocked):
     csv_mocked.assert_called_with(timestamp)
     show_mocked.assert_called_once()
 
-@mock.patch("marvin_cli.utils.benchmark.open")
-@mock.patch("marvin_cli.utils.benchmark.json.load")
-@mock.patch("marvin_cli.utils.benchmark.json.dump")
+@mock.patch("marvin_python_toolbox.utils.benchmark.open")
+@mock.patch("marvin_python_toolbox.utils.benchmark.json.load")
+@mock.patch("marvin_python_toolbox.utils.benchmark.json.dump")
 def test_create_poi(dump_mocked, load_mocked, open_mocked):
     timestamp = 'mocked'
     create_poi('mock', 'ed', timestamp)
@@ -112,8 +112,8 @@ def test_create_poi(dump_mocked, load_mocked, open_mocked):
     open_mocked.assert_called()
 
 
-@mock.patch("marvin_cli.utils.benchmark.calculate_network_bytes")
-@mock.patch("marvin_cli.utils.benchmark.calculate_disk_io")
+@mock.patch("marvin_python_toolbox.utils.benchmark.calculate_network_bytes")
+@mock.patch("marvin_python_toolbox.utils.benchmark.calculate_disk_io")
 def test_filter_data(disk_io_mocked, net_bytes_mocked):
     disk_io_mocked.return_value = (0,0)
     net_bytes_mocked.return_value = (0,0)
@@ -121,17 +121,17 @@ def test_filter_data(disk_io_mocked, net_bytes_mocked):
     disk_io_mocked.assert_called_once()
     net_bytes_mocked.assert_called_once()
 
-@mock.patch("marvin_cli.utils.benchmark.get_internal_keys")
+@mock.patch("marvin_python_toolbox.utils.benchmark.get_internal_keys")
 def test_calculate_disk_io(int_keys_mocked):
     calculate_disk_io(mocked_data)
     int_keys_mocked.assert_called_with(mocked_data, "blkio_stats", "io_service_bytes_recursive")
 
-@mock.patch("marvin_cli.utils.benchmark.get_internal_keys")
+@mock.patch("marvin_python_toolbox.utils.benchmark.get_internal_keys")
 def test_calculate_network_bytes(int_keys_mocked):
     calculate_network_bytes(mocked_data)
     int_keys_mocked.assert_called_with(mocked_data, "networks")
 
-@mock.patch("marvin_cli.utils.benchmark.get_internal_keys")
+@mock.patch("marvin_python_toolbox.utils.benchmark.get_internal_keys")
 def test_calculate_cpu_percent(int_keys_mocked):
     calculate_cpu_percent(mocked_data)
     int_keys_mocked.assert_called()
diff --git a/marvin-cli/tests/utils/test_config.py b/python-toolbox/tests/utils/test_config.py
similarity index 71%
rename from marvin-cli/tests/utils/test_config.py
rename to python-toolbox/tests/utils/test_config.py
index b627b85..125e1a7 100755
--- a/marvin-cli/tests/utils/test_config.py
+++ b/python-toolbox/tests/utils/test_config.py
@@ -21,26 +21,26 @@ try:
 except ImportError:
     import unittest.mock as mock
 
-from marvin_cli.utils.config import parse_ini
-from marvin_cli.utils.config import read_cli_conf
-from marvin_cli.utils.config import generate_default_conf
+from marvin_python_toolbox.utils.config import parse_ini
+from marvin_python_toolbox.utils.config import read_cli_conf
+from marvin_python_toolbox.utils.config import generate_default_conf
 
 mocked_path = '/path/to/nowhere'
 
-@mock.patch('marvin_cli.utils.config.configparser.ConfigParser.read')
+@mock.patch('marvin_python_toolbox.utils.config.configparser.ConfigParser.read')
 def test_parse_ini(read_mocked):
     parse_ini(mocked_path)
     read_mocked.assert_called_with(mocked_path)
 
-@mock.patch('marvin_cli.utils.config.json.load')
-@mock.patch('marvin_cli.utils.config.open')
+@mock.patch('marvin_python_toolbox.utils.config.json.load')
+@mock.patch('marvin_python_toolbox.utils.config.open')
 def test_read_cli_conf(open_mocked, load_mocked):
     _conf_path = os.path.join(os.environ['MARVIN_DATA_PATH'], '.conf', 'cli_conf.json')
     read_cli_conf()
     open_mocked.assert_called_with(_conf_path, 'r')
     load_mocked.assert_called()
 
-@mock.patch('marvin_cli.utils.config.json.dump')
+@mock.patch('marvin_python_toolbox.utils.config.json.dump')
 def test_generate_default_conf(dump_mocked):
     generate_default_conf()
     dump_mocked.assert_called()
\ No newline at end of file
diff --git a/marvin-cli/tests/utils/test_docker.py b/python-toolbox/tests/utils/test_docker.py
similarity index 66%
rename from marvin-cli/tests/utils/test_docker.py
rename to python-toolbox/tests/utils/test_docker.py
index 25167d4..0374c5b 100755
--- a/marvin-cli/tests/utils/test_docker.py
+++ b/python-toolbox/tests/utils/test_docker.py
@@ -20,20 +20,20 @@ try:
 except ImportError:
     import unittest.mock as mock
 
-from marvin_cli.utils.docker import _get_client
-from marvin_cli.utils.docker import _search_docker_image
-from marvin_cli.utils.docker import _search_docker_container
-from marvin_cli.utils.docker import search_engine_container
-from marvin_cli.utils.docker import search_engine_images
-from marvin_cli.utils.docker import create_engine_image
-from marvin_cli.utils.docker import create_daemon_container
+from marvin_python_toolbox.utils.docker import _get_client
+from marvin_python_toolbox.utils.docker import _search_docker_image
+from marvin_python_toolbox.utils.docker import _search_docker_container
+from marvin_python_toolbox.utils.docker import search_engine_container
+from marvin_python_toolbox.utils.docker import search_engine_images
+from marvin_python_toolbox.utils.docker import create_engine_image
+from marvin_python_toolbox.utils.docker import create_daemon_container
 
-@mock.patch('marvin_cli.utils.docker.DockerClient.from_env')
+@mock.patch('marvin_python_toolbox.utils.docker.DockerClient.from_env')
 def test_get_client(env_mocked):
     _get_client()
     env_mocked.assert_called()
 
-@mock.patch('marvin_cli.utils.docker.DockerClient')
+@mock.patch('marvin_python_toolbox.utils.docker.DockerClient')
 def test_get_client_remote(client_mocked):
     _get_client(env=False, url='docker://mocked_url')
     client_mocked.assert_called_with(base_url='docker://mocked_url')
@@ -44,25 +44,25 @@ def test_search_docker_image():
 def test_search_docker_container():
     assert not _search_docker_container('mocked_name')
 
-@mock.patch('marvin_cli.utils.docker._search_docker_container')
+@mock.patch('marvin_python_toolbox.utils.docker._search_docker_container')
 def test_search_engine_container(search_mocked):
     search_engine_container('marvin_mocked')
     search_mocked.assert_called_with('marvin-cont-marvin_mocked')
 
-@mock.patch('marvin_cli.utils.docker._search_docker_image')
+@mock.patch('marvin_python_toolbox.utils.docker._search_docker_image')
 def test_search_engine_images(search_mocked):
     search_engine_images('marvin_mocked')
     search_mocked.assert_called_with('marvin-marvin_mocked')
 
-@mock.patch('marvin_cli.utils.docker._get_client')
-@mock.patch('marvin_cli.utils.docker.generate_engine_package')
+@mock.patch('marvin_python_toolbox.utils.docker._get_client')
+@mock.patch('marvin_python_toolbox.utils.docker.generate_engine_package')
 def test_create_engine_image(generate_mocked, client_mocked):
     mocked_engine_path = 'mocked/path/'
     create_engine_image('marvin_mocked', mocked_engine_path)
     client_mocked.assert_called()
     generate_mocked.assert_called_with('marvin_marvin_mocked', mocked_engine_path)
 
-@mock.patch('marvin_cli.utils.docker._get_client')
+@mock.patch('marvin_python_toolbox.utils.docker._get_client')
 def test_create_daemon_container(client_mocked):
     create_daemon_container('marvin_mocked')
     client_mocked.assert_called()
diff --git a/marvin-cli/tests/utils/test_git.py b/python-toolbox/tests/utils/test_git.py
similarity index 79%
rename from marvin-cli/tests/utils/test_git.py
rename to python-toolbox/tests/utils/test_git.py
index 552f6d2..2727dcd 100755
--- a/marvin-cli/tests/utils/test_git.py
+++ b/python-toolbox/tests/utils/test_git.py
@@ -20,19 +20,19 @@ try:
 except ImportError:
     import unittest.mock as mock
 
-from marvin_cli.utils.git import git_init
-from marvin_cli.utils.git import bump_version
+from marvin_python_toolbox.utils.git import git_init
+from marvin_python_toolbox.utils.git import bump_version
 
 mocked_path = '/path/to/nowhere'
 
-@mock.patch('marvin_cli.utils.git.os.system')
-@mock.patch('marvin_cli.utils.git.os.chdir')
+@mock.patch('marvin_python_toolbox.utils.git.os.system')
+@mock.patch('marvin_python_toolbox.utils.git.os.chdir')
 def test_git_init(chdir_mocked, system_mocked):
     git_init(mocked_path)
     system_mocked.assert_called_with('git init .')
     chdir_mocked.assert_called()
 
-@mock.patch('marvin_cli.utils.git.os.system')
+@mock.patch('marvin_python_toolbox.utils.git.os.system')
 def test_bumpversion(system_mocked):
     bump_version('patch', 'mocked', True, True)
     system_mocked.assert_called_with('bump2version mocked patch --verbose --dry-run')
diff --git a/marvin-cli/tests/utils/test_misc.py b/python-toolbox/tests/utils/test_misc.py
similarity index 70%
rename from marvin-cli/tests/utils/test_misc.py
rename to python-toolbox/tests/utils/test_misc.py
index 2a629ef..0d6d6e7 100755
--- a/marvin-cli/tests/utils/test_misc.py
+++ b/python-toolbox/tests/utils/test_misc.py
@@ -22,19 +22,19 @@ try:
 except ImportError:
     import unittest.mock as mock
 
-from marvin_cli.utils.misc import make_tarfile
-from marvin_cli.utils.misc import package_to_name
-from marvin_cli.utils.misc import get_version
-from marvin_cli.utils.misc import package_folder
-from marvin_cli.utils.misc import extract_folder
-from marvin_cli.utils.misc import call_logs
-from marvin_cli.utils.misc import get_executor_path_or_download
+from marvin_python_toolbox.utils.misc import make_tarfile
+from marvin_python_toolbox.utils.misc import package_to_name
+from marvin_python_toolbox.utils.misc import get_version
+from marvin_python_toolbox.utils.misc import package_folder
+from marvin_python_toolbox.utils.misc import extract_folder
+from marvin_python_toolbox.utils.misc import call_logs
+from marvin_python_toolbox.utils.misc import get_executor_path_or_download
 
 mocked_package = 'marvin_mocked'
 mocked_path = '/path/to/nowhere'
 mocked_url = 'https://some.url/marvin.jar'
 
-@mock.patch('marvin_cli.utils.misc.tarfile.open')
+@mock.patch('marvin_python_toolbox.utils.misc.tarfile.open')
 def test_make_tarfile(open_mocked):
     make_tarfile(mocked_path, mocked_path)
     open_mocked.assert_called_with(mocked_path, 'w:gz')
@@ -42,27 +42,27 @@ def test_make_tarfile(open_mocked):
 def test_package_to_name():
     assert package_to_name(mocked_package) == 'mocked'
 
-@mock.patch('marvin_cli.utils.misc.os.path.join')
+@mock.patch('marvin_python_toolbox.utils.misc.os.path.join')
 def test_get_version(join_mocked):
     get_version(mocked_package, mocked_path)
     join_mocked.assert_called_with(mocked_path, mocked_package, 'VERSION')
 
-@mock.patch('marvin_cli.utils.misc.tarfile.open')
+@mock.patch('marvin_python_toolbox.utils.misc.tarfile.open')
 def test_package_folder(open_mocked):
     package_folder(mocked_path, mocked_path)
     open_mocked.assert_called_with(mocked_path, 'w:gz')
 
-@mock.patch('marvin_cli.utils.misc.tarfile.open')
+@mock.patch('marvin_python_toolbox.utils.misc.tarfile.open')
 def test_extract_folder(open_mocked):
     extract_folder(mocked_path, mocked_path)
     open_mocked.assert_called_with(mocked_path)
 
-@mock.patch('marvin_cli.utils.misc.subprocess.Popen')
+@mock.patch('marvin_python_toolbox.utils.misc.subprocess.Popen')
 def test_call_logs(popen_mocked):
     call_logs(mocked_package)
     popen_mocked.assert_called_with(['docker', 'logs', '--follow', 'marvin-cont-' + mocked_package], stdout=-1)
 
-@mock.patch('marvin_cli.utils.misc.wget.download')
+@mock.patch('marvin_python_toolbox.utils.misc.wget.download')
 def test_get_executor_path_or_download(wget_mocked):
     get_executor_path_or_download(mocked_url)
     wget_mocked.assert_called_with(mocked_url, out=os.path.join(os.environ['MARVIN_DATA_PATH'], 'marvin.jar'))
diff --git a/marvin-cli/tox.ini b/python-toolbox/tox.ini
similarity index 53%
rename from marvin-cli/tox.ini
rename to python-toolbox/tox.ini
index c059be8..8d880b2 100755
--- a/marvin-cli/tox.ini
+++ b/python-toolbox/tox.ini
@@ -5,5 +5,5 @@ envlist = py36
 deps=pytest
      pytest-cov
      mock
-commands=py.test --cov={envsitepackagesdir}/marvin_cli --cov-report html --cov-report xml {posargs}
+commands=py.test --cov={envsitepackagesdir}/marvin_python_toolbox --cov-report html --cov-report xml {posargs}
 passenv=SPARK_HOME MARVIN_HOME MARVIN_DATA_PATH MARVIN_LOG