Coder Social home page Coder Social logo

seth-rothschild / cookiecutter-python-scientific Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gvoysey/cookiecutter-python-scientific

0.0 1.0 0.0 35 KB

A cookiecutter template for (my preferred) style of python project structure

Python 90.04% Makefile 9.96%

cookiecutter-python-scientific's Introduction

PR

I presented this project at the Boston Python User Group on 23 Oct 2018. My slides for that talk are here.

Introduction

This is a cookiecutter template that reflects my current understanding of best practices for making rapid python projects for scientific computing and research.

Out of the box, this template will install a python 3.6+ package with numpy, attrs, and either docopt or click installed for command line parsing.

Requirements

This cookiecutter template expects you to have, and wish to use:

  • python 3.6 or later
  • a system capable of running make
  • pipenv for virtual environment management
  • the cookiecutter templating system.

Use

To create a new project, run:

# creates a new directory in the current directory
cookiecutter gh:gvoysey/cookiecutter-python-scientific -o .

and follow the prompts. The package_name option is required, and will be the name of your new python package (and created directory).

At this point, you can now cd to your new project, and run pipenv shell to enter an activated virtual environment. An entry point into your new python project has already been created – using the value of package_name you created in the wizard, run package_name --version and note that while your new package doesn’t do anything, it knows what version it is!

Test runners with coverage have been preconfigured. To use them, run

make test

A linter suite has also been preconfigured. To use them, run

make lint

Features

This package supports:

  • pytest / hypothesis
  • org-file readmes by default
  • test coverage with coverage.py
  • pipenv integration

cookiecutter-python-scientific's People

Contributors

gvoysey avatar

Watchers

 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.