A simple dependency management tool and tasks executor for Python projects
Project description
A simple dependency management tool and tasks executor for Python projects
Installation
Make sure that you have a working Python >= 3.6 with pip and virtualenv installed and then execute
$ pip install caos
For information about the usage and how to contribute check the Documentation.
Usage Example
Here is an example of a web application's dependencies, tests, and execution being handle by caos.
Sample Project Structure:
my_project (Project's root Folder)
|___ caos.yml
|___ main.py
|___ tests
|___ test.py
These are the commands used:
$ caos init # Initialize a Python virtual environment for the project
$ caos update # Download the project dependencies
$ caos check # Verify all the dependencies are installed
$ caos run test_and_start # Execute the user defined task for testing and running the project
This is the content of the caos.yml file presented in the example:
virtual_environment: "venv"
dependencies:
pip: "latest"
flask: "~1.1.0"
tasks:
unittest:
- "caos python -m unittest discover -v ./tests"
start:
- "caos python ./main.py"
test_and_start:
- unittest
- start
This is the content of the main.py file presented in the example:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return "Hello World!"
if __name__ == '__main__':
app.run(host="127.0.0.1", port="8080")
This is the content of the test.py file presented in the example:
import unittest
from main import app
class TestApp(unittest.TestCase):
def test_hello_world(self):
self.app = app.test_client()
response = self.app.get('/')
self.assertEqual(200, response.status_code)
self.assertIn(b'Hello World!', response.data)
if __name__ == '__main__':
unittest.main()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.