Skip to main content

Task tool with make-like features.

Project description

test Documentation Status

Ixian

Ixian is a modular task tool written in python3. It is intended to be a replacement for Make, emulating and expanding on some of it's most useful features.

Installation

pip install ixian

Setup

Create an ixian.py file where you intend to call ix from. Optionally set IXIAN_CONFIG to tell ixian where to find it.

Within that file create an init method that loads modules and configures settings.

from ixian.config import CONFIG
from ixian.module import load_module


def init():
    # Load modules which contain tasks
    load_module('ixian.modules.core')

    # Update settings
    CONFIG.PROJECT_NAME = 'testing'

Create a task

Tasks are created by extending the task class.

from ixian.task import Task

class MyTask(Task):
    """
    The docstring will be used as help text.
    """

    name = 'my_task'
    short_description = 'description will be shown in general help'

    def execute(self, *args, **kwargs)
        print(args, kwargs)

Run a task

The task may then be called using the ix runner.

ix my_task

Args passed to the runner are passed to the task as args

ix my_task arg1 arg2

Builtin help

A list of available commands is available by calling ix or ix --help.

Access built-in help for any task by calling ix help my_task. Builtin help should display how to use the task, enumerate any relevent environment variables, and display the status of any checks.

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

ixian-0.2.8.tar.gz (32.9 kB view hashes)

Uploaded Source

Built Distribution

ixian-0.2.8-py3-none-any.whl (83.0 kB view hashes)

Uploaded Python 3

Supported by

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