Skip to main content

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

Usage Example

Here is an example of a web application's dependencies, tests, and execution being handle by caos.

The previous example has the following structure:

my_project
|___ caos.yml
|___ main.py
|___ tests
    |___ test.py

This is the content of the caos.yml file:

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:

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:

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()

For more information about the usage and how to contribute check the Documentation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

caos-2.0.1.tar.gz (113.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

caos-2.0.1-py3-none-any.whl (133.8 kB view details)

Uploaded Python 3

File details

Details for the file caos-2.0.1.tar.gz.

File metadata

  • Download URL: caos-2.0.1.tar.gz
  • Upload date:
  • Size: 113.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.8.1

File hashes

Hashes for caos-2.0.1.tar.gz
Algorithm Hash digest
SHA256 6273e904d1dd14ac91e237eb6003924bb7e104aada946c082e25bb15ea672871
MD5 a03bcf266ddee582040e222fa77b89a2
BLAKE2b-256 f8f8803c8871415055845eedc204a56a92154e60503c2f9a71e1722f4768ea9a

See more details on using hashes here.

File details

Details for the file caos-2.0.1-py3-none-any.whl.

File metadata

  • Download URL: caos-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 133.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.8.1

File hashes

Hashes for caos-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d4e34ae3c9aab0872262016c3407869d65314b55b466fefc9c8b5ff89a1dae76
MD5 4ffde3b50ebe2507cdec97c2793003a5
BLAKE2b-256 0ea3f7c282ec6e304d662d6ea56c29a6cea01057ae88bf63016842fec2e540ba

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page