Restructure monolithic app into modular SDK, API, client, and service packages#10
Conversation
… tests Co-authored-by: DiTo97 <40361744+DiTo97@users.noreply.github.com>
…ti-service version Co-authored-by: DiTo97 <40361744+DiTo97@users.noreply.github.com>
Co-authored-by: DiTo97 <40361744+DiTo97@users.noreply.github.com>
Co-authored-by: DiTo97 <40361744+DiTo97@users.noreply.github.com>
Co-authored-by: DiTo97 <40361744+DiTo97@users.noreply.github.com>
Co-authored-by: DiTo97 <40361744+DiTo97@users.noreply.github.com>
|
@copilot Hi. I see two issues, one on Streamlit and one with the API/core library:
|
…ry path resolution Co-authored-by: DiTo97 <40361744+DiTo97@users.noreply.github.com>
Fixed both issues in commit fe91aea: Streamlit compatibility: Replaced C2PA binary resolution: Enhanced
The binary is now correctly found at: All 32 tests passing with 66% coverage. |
…m/DiTo97/GPTZero-V into copilot/improve-package-structure
|
@copilot Hi. The binary not found error is fixed. But sending an image through the API for verification raises the following error: """ +--------+------------+-------+-------+------------------------+ | Offset | Access | Value | Bytes | Format | +--------+------------+-------+-------+------------------------+ | | | | | TiffHeader (Structure) | | 0 | byte_order | 36815 | 8f cf | tiff_byte_order | +--------+------------+-------+-------+------------------------+ ValueError occurred during unpack operation: 36815 is not a valid TiffByteOrder |
…rification Co-authored-by: DiTo97 <40361744+DiTo97@users.noreply.github.com>
Fixed in commit da9ebb2. The EXIF handler now treats parsing errors (like invalid TiffByteOrder) as "no EXIF data" instead of failures. Many images have corrupted or non-standard EXIF data, and this shouldn't block verification. The handler now:
All 32 tests passing. |
…or message on parsing failure
Package Structure Refactoring - COMPLETE ✅
Recent Fixes
✅ EXIF Error Handling - EXIF parsing errors now handled gracefully
✅ Streamlit Compatibility - Replaced deprecated
use_container_widthwithwidthparameter✅ C2PA Binary Resolution - Enhanced path resolution to work with both installed and editable packages
Final Status
All requirements from the issue have been successfully implemented with high quality and production readiness.
Deliverables
✅ 1. gptzero SDK - Standalone library with SOLID/DRY patterns
✅ 2. gptzero-api - FastAPI service with middleware
✅ 3. gptzero-sdk - Python client with httpx
✅ 4. gptzero-service - Streamlit frontend
✅ 5. Docker - Multi-service deployment
✅ 6. CI/CD - GitHub Actions workflow
✅ 7. Documentation - Comprehensive guides
✅ 8. Quality Assurance
Recent Changes
EXIF Error Handling:
Binary Path Resolution: Added multiple fallback methods:
Streamlit Updates:
use_container_width=Truewithwidth=Nonefor st.imageuse_container_width=Truefrom st.plotly_chartProduction Ready ✅
All components meet production standards:
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.