Skip to main content

A command tool used to install packages and execute commands.

Project description

![ci](https://travis-ci.org/limodou/ido.svg?branch=master)

# ido

## What’s it?

ido is a command tool, it’s written in python, and you can use it to install packages or execute commands. So you can just treats it as something like brew, yum, apt-get, etc. But ido can be more easy used and extended suit for your needs.

## Features

  • Simple core

  • color command output

  • packages or commands collection should be origanize in a directory

  • Installation script file is common Python source file

  • Builtin rich functions and you can easily extend

  • Packages installation aim user home first

  • Depends files can be stored in disk depends on your installation script

  • User can make themself tool based on ido to customize their application requirements

  • Written in Python, should be support 2.6, 2.7, 3.3, 3.4

## Install

` pip install ido `

This will only include the examples packages, such as demo, etc.

## Requirement

ido need: future, colorama packages, and it’ll be installed automatically.

ido should be run in python 2.6+.

## Usage

### Simple command

` ido install demo `

demo here is a demo package used to demonstrate the ido functionalities.

### Package install script

A package should be a directory, and there should be a file named install.py. Do you can write script just with python at all.

The install.py is just a common python file, but it’ll be executed with exec(), and ido will pass some builtin variables such as:

  • BUILD The value will be ‘/tmp/ido_packages_build’, and it’ll used to compile source packages.

  • PREFIX Can be passed in command line option -p or –prefix , or defined in environment variable IDO_PREFIX, and script can use it as value of ./configure –prefix.

  • HOME Current user HOME directory.

There are also some builtin functions, objects or modules, such as:

  • Modules
    • os

    • sys

  • Functions
    • sh() Used to execute shell command, sh(‘ls’)

    • cd() Used to change current directory, cd(BUILD)

    • mkdir() Used to make directories, mkdir(‘/tmp/a/b’)

    • wget() Used to download a file from internet, wget(‘http://zlib.net/zlib-1.2.8.tar.gz’)

    • cp() Used to copy a source file(can use fnmatch to match the filename) to destination directory or file, cp(‘zlib*’, BUILD)

    • install() Used to install other package, install(‘zlib’)

    • message() Used to output colored message, message(msg, ‘error’), the second argument will be error, info, or just omitted.

  • Color Objects
    • Fore, Back, Style They are colorama objects, so you can use them directly.

### Packages Index

All packages should be saved in a directory, I called it index, and ido can search package from them. ido can support multiple source of index, the default is shipped in ido package, it’s ido/packages And ido also support other local directoires or url links, so you can pass them in command line just like:

` ido install zlib -i ~/packages ido install zlib -i https://yourname/packages (Not implemented yet) ido install zlib -i ~/packages -i https://yourname/packages `

You can also defined in environment variable IDO_PACKAGES, so the searching order is:

1. command line argument 1. environment variable 1. default ido/packages

### Command options

You can just type:

ido

to see the help messages.

### Pass variables to script

If you have some viriables and want to pass them to install script, so you can define them in command argument, just like:

` ido install zlib -Evar1=demo1 -Evar2=demo2 `

### See exception

Sometime the script will throw exceptions, but they’ll be hidden by default, and if you want to see them you can just pass -v to see them.

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

ido-0.1.tar.gz (12.1 kB view details)

Uploaded Source

File details

Details for the file ido-0.1.tar.gz.

File metadata

  • Download URL: ido-0.1.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ido-0.1.tar.gz
Algorithm Hash digest
SHA256 234604d5e381491a6c29463612cc43262bc863db4ba1b42fb2942b2dea511839
MD5 550b2c74caa534b4ca9e634a288084d7
BLAKE2b-256 298acf62c52f424c2638c264ca1b4f2c9e53f07fd980270edba6dc22fe745fdf

See more details on using hashes here.

Supported by

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