1- # DefectNet [ ![ Tests] ( https://github.com/stuartasiimwe7/DefectNet/actions/workflows/python-app.yml/badge.svg )] ( https://github.com/stuartasiimwe7/DefectNet/actions/workflows/python-app.yml )
2- [ ![ Python 3.8+] ( https://img.shields.io/badge/python-3.8+-blue.svg )] ( https://www.python.org/downloads/ )
3- [ ![ License: MIT] ( https://img.shields.io/badge/License-MIT-yellow.svg )] ( https://opensource.org/licenses/MIT )
1+ # DefectNet [ ![ Python 3.8+] ( https://img.shields.io/badge/python-3.8+-blue.svg )] ( https://www.python.org/downloads/ ) [ ![ License: MIT] ( https://img.shields.io/badge/License-MIT-yellow.svg )] ( https://opensource.org/licenses/MIT ) [ ![ CI/CD] ( https://github.com/stuartasiimwe7/DefectNet/actions/workflows/ci-cd.yml/badge.svg )] ( https://github.com/stuartasiimwe7/DefectNet/actions/workflows/ci-cd.yml )
42
53A RestFul API for automated detecting of defects in Printed Circuit Boards (PCBs) using YOLOv5 deep learning models, built with FastAPI.
64
@@ -101,7 +99,7 @@ There is comprehensive test coverage across all components with 32 passing tests
10199
102100** Prerequisites:** Python 3.8+ (see requirements.txt for dependencies)
103101
104- ### Local Setup
102+ ### Want to replicate?
105103
106104``` bash
107105# Clone and navigate
@@ -124,6 +122,13 @@ uvicorn app:app --reload --host 0.0.0.0 --port 8000
124122
125123### Docker Setup
126124
125+ ** Option 1: Pull from GitHub Container Registry**
126+ ``` bash
127+ docker pull ghcr.io/stuartasiimwe7/defectnet:latest
128+ docker run -p 8000:8000 ghcr.io/stuartasiimwe7/defectnet:latest
129+ ```
130+
131+ ** Option 2: Build locally**
127132``` bash
128133docker build -t defectnet .
129134docker run -p 8000:8000 defectnet
@@ -173,6 +178,20 @@ MAX_FILE_SIZE_MB=1
173178LOG_LEVEL=INFO
174179```
175180
181+ ## CI/CD Pipeline
182+
183+ This project uses GitHub Actions for continuous integration and deployment:
184+
185+ ** Continuous Integration:**
186+ - Automated testing on every push/PR
187+ - Code linting with flake8
188+ - Python 3.12 compatibility checks
189+
190+ ** Continuous Deployment:**
191+ - Automatic Docker image builds on main branch
192+ - Published to GitHub Container Registry
193+ - Tagged with commit SHA and 'latest'
194+
176195## Testing
177196
178197Run all tests:
@@ -201,4 +220,4 @@ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
201220
202221## Acknowledgments
203222
204- Built using YOLOv5 by Ultralytics and FastAPI framework for production-ready PCB defect detection .
223+ Built using YOLOv5 by Ultralytics and FastAPI framework.
0 commit comments