https://github.com/pritam001/pyflask-microservice-base
🗼 An "optionally opinionated and structured" flask boilerplate application for jump-starting microservice development with flask
https://github.com/pritam001/pyflask-microservice-base
boilerplate boilerplate-application conda-environment coverage flask flask-base flask-docker flask-tests project-structure pyflask pyflask-microservice python python3 static-analysis template template-project
Last synced: about 1 month ago
JSON representation
🗼 An "optionally opinionated and structured" flask boilerplate application for jump-starting microservice development with flask
- Host: GitHub
- URL: https://github.com/pritam001/pyflask-microservice-base
- Owner: pritam001
- License: mit
- Created: 2020-08-02T09:47:47.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2022-07-29T23:17:55.000Z (almost 3 years ago)
- Last Synced: 2025-02-06T21:36:43.121Z (3 months ago)
- Topics: boilerplate, boilerplate-application, conda-environment, coverage, flask, flask-base, flask-docker, flask-tests, project-structure, pyflask, pyflask-microservice, python, python3, static-analysis, template, template-project
- Language: Shell
- Homepage:
- Size: 15.7 MB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[//]: <> (pyflask_config: service_name)
pyflask-microservice-base
------------------------------------------------------------------------------
An "optionally opinionated and structured" flask boilerplate microservice for jump-starting development


Project status
------------------------------------------------------------------------------

[](https://codeclimate.com/github/pritam001/pyflask-microservice-base/maintainability)
[](https://codecov.io/gh/pritam001/pyflask-microservice-base)Tools
------------------------------------------------------------------------------
[](https://www.python.org/download/releases/3.8.0/)
[](https://www.gnu.org/software/make/manual/make.html)
[](https://github.com/psf/black)
[](https://github.com/PyCQA/flake8/)
[](https://github.com/rubik/radon)
[](https://timothycrosley.github.io/isort/)
[](https://github.com/python/mypy/)
[](https://github.com/PyCQA/bandit)
[](https://github.com/pre-commit/pre-commit)
[](https://github.com/flasgger/flasgger)
[](https://docs.pytest.org/en/latest/contents.html)
[](https://docs.pytest.org/en/latest/contents.html)
[](https://docs.pytest.org/en/latest/contents.html)Usage Guide
------------------------------------------------------------------------------
This is a template project hosted on GitHub which can be used to create new repositories.### Steps for creating boilerplate project in GitHub
1. Create a new repository named "my-pyflask-project" using this template repository *+
1. `git clone https://www.github.com/username/my-pyflask-project.git`
1. `cd my-pyflask-project`
1. `make init` : Initialize and personalize project
1. `make setup` : Use pip-tools, pip-compile, pip install to set up python packages
1. `make upgrade` : Upgrade dependencies to latest version
1. `make pre-commit` : Run format, lint, test and cover
1. Run `git add .` and `git commit -m "Personalize service"`*+ [GitHub Guide: Creating a repository from a template](https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-from-a-template)
*^ [Guide to Conda environment](https://github.com/pritam001/pyflask-microservice-base/blob/master/documentation/wiki/conda.md)### Make Guide
Type `make help` for available commands
Type `make pre-commit` before committing your changes to run formatters, linters, tests and code coverage collectors
### Linting Guide
`make format` : Format and fix python code with black, isort, autoflake and pre-commit hooks
`make lint` : Run static analysis with flake8, radon, mypy and bandit
### Documentation
[//]: <> (pyflask_config: service_name)
Flasgger docs can be found at http://0.0.0.0:8420/api/v1/pyflask-microservice/swagger[//]: <> (pyflask_config: service_name)
API specs can be found at http://0.0.0.0:8420/api/v1/pyflask-microservice/swagger_specFlasgger UI version: v2 | OpenAPI version: 2
Contributing
------------------------------------------------------------------------------
1. Stargaze this repository
1. Fork this repository
1. Add this project as `upstream`
1. Commit your changes
1. Create pull request to `upstream/development` branchRoadmap
-----------------------------------------------------------------------------
- [x] Swagger support
- [x] Introduction of testing tools
- [x] Code coverage
- [x] Version handling by tbump
- [ ] Personalization script
- [ ] Docker support
- [ ] uwsgi server
- [ ] Add CoC, Contribution guidelines, PR and issue templates
- [ ] Update linting documentation
- [ ] Testing tools documentation