FastAPI service for Amazon forests satellite image NN multilabel classification. I made accent on "industrial quality" code with next technologies:
- FastAPI
- Gitlab CI/CD (test, deploy, destroy)
- DVC
- Docker
- Unit & Integration tests with coverage report
- Linters (flake8 + wemake)
Disclaimers:
- the project was originally crated and maintained in GitLab local instance, some repo functionality may be unavailable
- the project was created by me and me only as part of the CVRocket professional development course
- this project is my first "industry grade" service for NN, for more advanced code and features please see car-plate projects
Location for manual test:
- https://amazon_forest_api.lydata.duckdns.org
- docs https://amazon_forest_api.lydata.duckdns.org/docs#/default/process_content_process_content_post
First, create and activate venv
:
bash python3 -m venv venv . venv/bin/activate
Next, install dependencies:
bash make install
make install
- install python dependencies
make run_app
- run servie. You can define argumentAPP_PORT
make build
- you can define argumentsDOCKER_TAG
,DOCKER_IMAGE
make lint
- run linters
make run_unit_tests
- run unit testsmake run_integration_tests
- run integration testsmake run_all_tests
- run all tests