Git Product home page Git Product logo

cookiecutter-skeletor's Introduction

About

This is a slightly opinionated yet simple cookiecutter template that generates boilerplate for a barebones python project which is ready to be used with the following:

  • pytest for unit testing
  • bandit for security linting
  • Black for code formatting
  • autopep8 for pep8 formatting
  • Poetry for package management
  • typer for building CLI apps

Requirements

Usage

To setup a new python project with this cookiecutter

cookiecutter https://github.com/netops2devops/cookiecutter-skeletor.git

This generates a project structure as shown below. A git repository is automatically initialized upon project creation. As per best practices .env is created to store environment vars but is already put under .gitignore

❯ tree -a mypkg
mypkg
├── .gitignore
├── .env
├── .gitlab-ci.yml
├── .pre-commit-config.yaml
├── Dockerfile
├── Makefile
├── README.md
├── config.yaml
├── docker-compose.yml
├── docs
│   ├── development.md
│   ├── install.md
│   └── intro.md
├── poetry.lock
├── pyproject.toml
├── src
│   └── mypkg
│       ├── __init__.py
│       └── logger.py
└── tests
    └── test_utils.py

Finally, install the dependeneices in pyproject.toml under the new project root dir by running

poetry install 

Lastly, export the environment variables

export $(cat .env | grep -v "#" | xargs)

To do

  • Add Hashicorp Vault integration

Author

Kapil Agrawal

cookiecutter-skeletor's People

Contributors

netops2devops avatar

Stargazers

 avatar  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.