/python-template-project

A template for starting new python projects at Caicloud

Primary LanguageDockerfile

Table of Contents generated with DocToc

Python Template Project

About the project

The template is used to create Python project. All Python projects must follow the conventions in the template. Calling for exceptions must be brought up in the engineering team.

API docs

The template doesn't have API docs. For web service, please include API docs here, whether it's auto-generated or hand-written. For auto-generated API docs, you can also give instructions on the build process.

Design

The template follows project convention doc.

Status

The template project is in alpha status.

See also

Getting started

Below we describe the conventions or tools specific to Python project.

Setting up your local development environment

We use pipenv to manage local development environment, as well as syncing with other collaborators and GitHub. See https://github.com/caicloud/engineering/blob/master/guidelines/python.md for more details about Python versions as well as this tool.

To get started, install pipenv first, cd to the root of your project, and type:

pipenv install

And then run:

pipenv shell

to enable local dependency shell.

Layout

.
├── .github
│   ├── ISSUE_TEMPLATE.md
│   └── PULL_REQUEST_TEMPLATE.md
├── .gitignore
├── CHANGELOG.md
├── CODEOWNERS
├── Dockerfile
├── Pipfile
├── Pipfile.lock
└── README.md

A brief description of the layout:

  • .github has two template files for creating PR and issue. Please see the files for more details.
  • .gitignore varies per project, but all projects need to ignore bin directory.
  • CHANGELOG.md contains auto-generated changelog information.
  • CODEOWNERS contains owners of the project.
  • Dockerfile is the docker file for building image
  • Pipfile is for specifying dependencies, managed and updated by pipenv
  • Pipfile.lock is for locking down dependencies, managed and updated by pipenv
  • README.md is a detailed description of the project.

Notes

TODO