Navigation Menu

Skip to content

RyanKung/stack

Repository files navigation

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

About

The Python Tool stack (unstable)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published