#python #template #setup #creation #projects #version #format

bin+lib viper

A rust package to simplify python project creation

8 releases

0.3.0 May 4, 2020
0.2.1 Apr 26, 2020
0.1.24 Apr 17, 2020
0.1.0 Mar 24, 2020

#274 in Template engine

MIT/Apache

50KB
793 lines

viper-rs

Build status Rust

A Rust command-line tool to simplify the creation and setup of python projects.

Viper allows you to create a new python virtual environment and add initial dependencies with a single command. Dependencies can be imported from a text file, specified inline, or ignored entirely if you forego the virtual environment.

Main Features

  • Easy Project Creation - the viper new subcommand allows for the creation of a project folder, venv and requirements file in one simple command.
  • Templating - Config options can be handled in terms of templates containing config details in json format. Templates can be added, deleted, and used to build a project in a standard format. By default templates are stored in the current directory, but an alternative location can be specified.
  • Tabling - viper indexes each python project you create, allowing to to create, delete, move and copy them with ease.

Installation

cargo install viper

Examples

  • Create a basic new project
viper new "./TestProject""
  • Create a template, specifying a venv (-e), freeze modules (-f) and add matplotlib to requirements.txt (-m="matplotlib")
viper template "./TestProjectTemplate" -e -f -m="matplotlib"
  • Build template (equivalent to the first command)
viper build "TestProjectTemplate.json" "TestProject"
  • List Created templates
viper list
  • Delete Template at index 0 (find index using viper list)
viper remove 0

Usage

viper 0.3.0
Musab G. <musabgumaa@gmail.com>

USAGE:
    viper.exe [SUBCOMMAND]

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

SUBCOMMANDS:
    build       Builds a project from a json template.
    help        Prints this message or the help of the given subcommand(s)
    list        Lists locally saved projects and templates.
    new         Creates a new project.
    remove      Remove a template/project.
    template    Creates a project template.
    update      Updates template & project details in .record.json

Versions

0.3.0 Tabling Features for Projects Added

0.2.1 Minor Changes

0.2.0 Template creation improved; deletion and build from template added.

0.1.24 Ability to build from template (viper build subcommand)

0.1.23 Template Creation (viper template subcommand)

0.1.22 Error handling improved

0.1.2 Dependency Management, venv now optional.

0.1.0 Initial commit

License

Viper is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

Dependencies

~12–22MB
~341K SLoC