Giter Club home page Giter Club logo

pygen's Introduction

pygen

Command-line tool to generate Python services, applications and libraries with reusable logic.

Master Build Status Donate via PayPal Please consider supporting this project by making a donation via PayPal

Description

This is a command-line tool to quickly generate Python services, applications and libraries with a common set of features and reusable logic.

For an equivalent project in Go (golang) please check GoGen.

Each Python project built with this tool adheres to the set of conventions detailed in the following articles:

Each generated project is immediately functional and can be fully tested using the make build command.

Quick Start

This project includes a Makefile that allows you to test and build the project in a Linux-compatible system with simple commands.
All the artifacts and reports produced using this Makefile are stored in the target folder.

To see all available options:

make help

Usage

make new TYPE=app CONFIG=myproject.cfg
  • TYPE is the project type:

    • lib : library
    • app : command-line application
    • srv : HTTP API service
    • libapp : library + command-line application
    • libsrv : library + HTTP API service
  • CONFIG is the configuration file containing the project settings.

To create a new configuration please clone the default.cfg file and change the values.

All projects are creted inside the target directory.

Features

Services (srv)

  • Web HTTP RESTful JSON API;
  • Standard command line options;
  • Multiple configuration options, including remote configuration via URL;
  • Logging;
  • StatsD client to collect usage metrics;
  • Unit tests;
  • Makefile;
  • Docker build;
  • Conda packaging.
  • Wheel packaging.

Applications (app)

  • Standard command line options;
  • Multiple configuration options, including remote configuration via URL;
  • Logging;
  • StatsD client to collect usage metrics;
  • Unit tests;
  • Makefile;
  • Docker build;
  • Conda packaging.
  • Wheel packaging.

Libraries (lib)

  • Unit tests;
  • Makefile;
  • Docker build;
  • Conda packaging.
  • Wheel packaging.

pygen's People

Contributors

adriandorr avatar nicolaasuni avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

sunilkum84

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.