How I setup my projects.
- Clone the repository:
git clone https://github.com/jeremyarr/cookiecutter-pypi.git
- Edit the
cookicutter.json
file with your details
- Navigate to the location where the project repository will reside:
$ cd my_python_dev_folder
- From the command line, run:
$ cookiecutter path/to/cloned/cookiecutter-pypi
- Create a project repository in GitHub matching the name used when cookie cutting. Do not initialize with README, license, or gitignore files
- Push the project repository to GitHub:
$ git init
$ git add --all
$ git commit -am "initial commit"
$ git remote add origin <repo_url>
$ git push --set-upstream origin master
- Go to https://rawgit.com/ and generate a production url for
docs/_static/logo_full.png
. Insert it intoREADME.rst
anddocs/index.rst
in place of references tologo_full.png
. Autogenerated logo images are limited to projects with names less than 13 characters. Note, rawgit will cache the image permanently. - Setup jenkins build job
<repo_name>1
- Verify webhooks are working (might need to change to https)
- Give anon user ViewStatus role for the build job
- Setup a virtualenv using the requirements from requirements-dev.txt
$ make virtualenv
- Do a pull request from the dev branch to verify Jenkins is performing builds
- Setup master as a protected branch in GitHub with status checks
- Setup documentation at https://readthedocs.org/
Generating sphinx documentation:
$ make docs
Generating build artifacts:
$ make package
Uploading build artifacts to pypi:
$ make publish
Running unit tests locally:
$ make tests
Running tests:
$ python run_tests.py -h
PEP8 checking:
$ make flake8
Installing dev dependencies:
$ pip install -r requirements_dev.txt