Git Product home page Git Product logo

cookiecutter-pyvanguard's Introduction

Header logo

Cookiecutter template for bleeding edge Python development. See @audreyr/cookiecutter.

The template aspires adoption of new and exciting developer tools. Focus is on automation and keeping your repo DRY. Whenever justifiable, new and Python-native is preferred over "tried and true".

Automation

Automate everything. Banish tedious tasks. Ensure reproducibility. Minimize errors.

  • pytest for test discovery and automation
  • Travis for continuous integration
  • bumpversion for updating version numbers with one command
  • Invoke for task execution as a Python-native Make replacement
  • Coveralls.io for integrating test coverage with GitHub

Standardization

Embrace conventions. Don't fret details when you don't have to. Make it easy for others to help you out.

  • EditorConfig for maintaing consistent coding styles
  • wheel for the future standard in Python packaging
  • Sensible conventions with first class GitHub support like CONTRIBUTING.md
  • Let setuptools generate virutal scripts for you by deep linking into your package (see setup.py for more details)

Comparmentalization

Level out inconsistencies between platforms. Virtualize. Simplify development. Inspire experimentation.

  • conda as an optional, improved "virtualenv" replacement
  • Vagrant to define and share development environments, provisioned by Ansible.

Python 2 vs. 3

Python 2.7.x isn't bleeding edge but it would be crazy to not officially support it. The compromise is developing for Python 3 first and ensure backwards compatability through a lightweight _compat.py module.

Usage

In your projects folder, scaffold a brand new Python project:

$ cookiecutter https://github.com/robinandeer/cookiecutter-pyvanguard.git

Then:

Not feeling adventurous?

Don't worry, you have options; fork, remix, and pull requests!

Similar Cookiecutter Templates

  • Nekroze/cookiecutter-pypackage: with PyTest test runner, strict flake8 checking with Travis/Tox, and some docs and setup.py differences.

  • tony/cookiecutter-pypackage: with py2.7+3.3 optimizations. Flask/Werkzeug-style test runner, _compat module and module/doc conventions. See README.rst or the github comparison view for exhaustive list of additions and modifications.

  • Also see the network and family tree for this repo. (If you find anything that should be listed here, please add it and send a pull request!)

Fork This / Create Your Own

If you have differences in your preferred setup, I encourage you to fork this to create your own version. Or create your own; it doesn't strictly have to be a fork.

  • Once you have your own version working, add it to the Similar Cookiecutter Templates list above with a brief description.

  • It's up to you whether or not to rename your fork/own version. Do whatever you think sounds good.

Or Submit a Pull Request

I also accept pull requests on this repository provided they are small, atomic, and if they make the overall packaging experience better.

cookiecutter-pyvanguard's People

Contributors

aroden-crowdstrike avatar audreyfeldroy avatar esparta avatar jeffpaine avatar jpsca avatar krallin avatar lgiordani avatar rgbkrk avatar robinandeer avatar solarnz avatar tony avatar treyhunner avatar youtux avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

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.