your_project
============
[![build status](http://git.dms-serwis.com.pl/smok4/svcr/badges/master/build.svg)](http://git.dms-serwis.com.pl/henrietta/py-scaffold/commits/master)
[![coverage report](http://git.dms-serwis.com.pl/smok4/svcr/badges/master/coverage.svg)](http://git.dms-serwis.com.pl/henrietta/py-scaffold/commits/master)

This is a generic scaffold for Python projects that use:
* this GitLab CI for builds/tests/deploys
* _coverage.py_ for test coverage
* _nose_ for unit tests
* _Vagrant_ for environment
* _setuptools_ for packaging
* 

# How to use

1. `git clone http://git.dms-serwis.com.pl/henrietta/py-scaffold.git`
2. Delete `.git` directory
3. Adjust this code to your project
  3.1. Rename [your_project_source](your_project_source) to match your project
  3.2. adjust [setup.py](setup.py)
  3.3. adjust [.coveragerc](.coveragerc)
  3.4. adjust [license](LICENSE)
  3.5. adjust or delete [contribution guide](CONTRIBUTING.md)
  3.6. adjust or delete [change log](CHANGELOG.md)
  3.7. adjust [Vagrantfile](Vagrantfile), or remove it
  3.8. adjust [MANIFEST.in](MANIFEST.in) if you have data files
  3.9. adjust [docs](docs/)
  3.10. adjust [gitlab-ci.yml](.gitlab-ci.yml), especially if your tests require a 
        Vagrant environment
4. Set up a repository on GitLab
5. Ensure you have _master_ permission on this repository
6. Set `^TOTAL\s+\d+\s+\d+\s+\d+\s+\d+\s+(\d+)%$` in 
  _Settings>CI/CD Pipelines>Test coverage parsing_ for GitLab to display
  test coverage data
7. `git init`
8. Add suitable remotes, commit the data, push to repo
9. Done!