A simple python web app that fetches wikipedia pages against searches and extracts phrases from the wiki page, using an NLP python package called TextBlob. This repository is meant to be a depiction of DevOps practices that are followed in production-grade python codebase.
- Github Actions are used for CI/CD workflow.
- Code is automatically formatted using
blackpython package. - Linting is done using
pylint - Command Line tools are made out of python functions using a powerful python package,
fire. This allows quick experimentation of functions using various inputs. - Test-driven development is done using
pytest. Makefilefor frequently used commands during developement.FastAPIfor quickly developing a web app- Containerised the web app using
dockerand deployed to AWS ECR service.
AWS App Runner can then be used to deploy the container in a continuous manner. Every time a new docker image is pushed from Github to ECR, AWS App Runner will automatically deploy the newly pushed container.