`stack` is a Python version of [stack](http://docs.haskellstack.org/en/stable/README/),


License
MIT
Install
pip install python-stack==0.1.7.11

Documentation

Python Tool Stack

stack is a Python version of stack (http://docs.haskellstack.org/en/stable/README/), which is a cross-platform program for developing Python projects. It is aimed at Pythonistas both new and experienced.

Go Star Stack on GitHub (http://github.com/ryankung/stack)

It features:

  • Install Python in current environment automatically, in an isolated location
  • Installing packages needed for your project.
  • Run your project
  • Check test coverage of your project
  • Code quality control
  • End to End git based release

Include:

  • stack / pystack
  • stack-cli -- The core part of stack
  • scaffold -- A Python template generator
  • require -- An async remote module loader

Dependence:

Quick Start:

  • Installation:

    pip3 install python-stack
    
    or run
    
    curl "https://raw.githubusercontent.com/RyanKung/stack/master/install.sh" | sh
    
  • Create a new project via template:

    stack new <project name> -t <template path>
    
  • Init and Setup on an existed project:

    stack init --python=<spec version>
    stack setup
    
  • Test and report test coverage:

    stack coverage
    
  • Run executable file in Env:

    stack python
    stack pip
    stack test
    stack repl
    
  • Run a remote file:

    stack run --run <some *.py remote>
    
  • Extensible:

    Stack supports extending the environment with a stackfile like this:
    
    
    from stack.decorators import as_command
    
    @as_command
    def do(args):
        '''
        sth
        @argument --sth, help=dowhat
        '''
        print('do %s' % args.sth)
    
  • Document generator:

    stack doc
    
  • ad-hoc git baseed deployment:

    on remote production server:

    stack serve
    

    on local dev environment:

    git add remote production git://<your remote ip>:30976/.git
    git checkout release/<your release branch>
    git push production HEAD
    

Work with stackfile

  • stackfile

    stackfile is a local config file like makefile/gruntfile/glupfile/etc., the stack-cli will automacily load in the stackfile when boot.

  • decorators

    For the newest version of stack-cli, there is two useful decorators: @as_command and @wsh_command, the first decorator allows function be called as stack command, and the wsh_command decorator can map a local command function to a remote callable function. Which means that you can call the command via stack wsh or restful api of stack cli