Conversation
… into services/feature/gateway
…race into feature/hardware
…dware Camera Manager & Proxy: - Enhanced CameraProxy with better error handling and async patterns - Improved configure method with detailed error reporting - Added comprehensive batch operations and HDR capture support - Enhanced retry logic and network bandwidth management API Enhancements: - Added comprehensive REST API endpoints for camera operations - Improved error handling with detailed exception mapping - Enhanced documentation and type hints - Added new endpoints for batch operations and HDR capture Backend Improvements: - Made ROI and image enhancement methods async in mock backends - Enhanced error handling and logging throughout backends - Improved configuration import/export functionality - Added better validation and error reporting Test Suite Fixes: - Fixed test_cameras.py to use correct backend method names - Added proper async/await patterns throughout tests - Skipped tests for methods not implemented in backends - Fixed discovery consistency test for mock cameras - All 73 tests now pass (68 passed, 5 skipped, 0 failed) This maintains backward compatibility while providing a robust, modern camera management system.
- Remove reset logic from seed files to make them production-safe - Make project and organization fields required in Image model - Remove debug logs from user repository and services - Fix camera streaming issues (stop streams when switching cameras) - Implement proper super admin organization management - Fix Image model initialization in database init - Clean up verbose database initialization messages - Fix sample image viewer script to work with current schema
- Add mindtrace-storage dependency to hardware component - Implement GCS upload for both single and HDR camera captures - Add GCS configuration settings with auto-upload support - Update API endpoints to handle GCS URIs in responses - Add comprehensive GCS documentation and usage examples - Support explicit GCS parameters and auto-upload via config - Fix syntax errors and ensure consistent error handling - Update README with complete GCS integration guide Features: - Three storage options: local, GCS, or both - Auto-upload using configuration defaults - HDR capture with GCS path patterns - Metadata support for uploaded images - Graceful error handling for GCS failures
- Add return_image parameter to CaptureRequest (single capture) - Add return_images parameter to BatchCaptureRequest (batch capture) - Update capture endpoints to conditionally return image data - Update response messages to indicate when image data is excluded - Update README with comprehensive documentation and examples - Maintain backward compatibility (defaults to True) This allows users to reduce response size and improve performance when only GCS upload or local save is needed, without requiring image data in the response.
- Fix Basler camera ErrorDescription property access - Update camera manager GCS upload logic - Add GCS configuration options - Make media_type optional in responses - Update UI camera card with capture button - Fix camera state GCS path handling - Update camera configurator UI
…state-optimization-and-critical-fixes
…ation-and-critical-fixes Poseidon/feature/state optimization and critical fixes
- Fix Camera model rebuild error by ensuring models are rebuilt in CameraState initialization - Add inference page route to poseidon.py for /inference endpoint - Update GCS bucket configuration to use settings.GCP_BUCKET_NAME - Optimize database initialization to prevent redundant model rebuilds - Add proper error handling for model rebuild operations
- Add safe_convert_link() helper function to properly handle Link objects - Fix 'str' object has no attribute 'get_full_name' error - Ensure project, organization, and uploaded_by fields are converted correctly - Add fallback handling for different object types (None, string, object with get_full_name, etc.)
There was a problem hiding this comment.
are these unrelated file changes coming from dev? If so, lets merge dev into our poseidon/dev i tihnk.
There was a problem hiding this comment.
Yes; it was merged by @Yasserelhaddar so that he would be able to use the hardware module
mindtrace/registry/mindtrace/registry/backends/local_registry_backend.py
Show resolved
Hide resolved
| rx.el.select( | ||
| rx.el.option("Loading deployments...", value="", disabled=True, selected=True), | ||
| disabled=True, | ||
| style={ |
There was a problem hiding this comment.
reference for UI standardization: too much styling on the pages, lets have these as components. not related wit this pr, just noting.
| GCP_BUCKET_NAME: str = "" | ||
| GCP_CREDENTIALS_PATH: str = "" | ||
|
|
||
| MODEL_SERVER_URL: str = "" |
There was a problem hiding this comment.
I think we switch to .env based configuration located at the root? i.e.
test.env, prod.env, this class simply could read&populate Settings with it. Class Config seems to almost want to do something similar, though i think its not being used?
There was a problem hiding this comment.
We haven't switched to .env yet; it is in a different PR by Uzair.
There was a problem hiding this comment.
too many repo files. should we create folders, i.e. scan/classification_repo etc
There was a problem hiding this comment.
The repo files have one to one relationship with the schema files. which means each schema has a repo. This is why I think it would be ideal to maintain the same folder structure between the schema and the repo files.
|
Looks good to me, there are few bugs in the UI that are not related with this PR. In future PRs lets not include diffs from merges from main branch I think, so PR against a branch that has already merged mindtrace package updates or we auto merge main dev branch into paz. |
Agree; we should merge the main dev directly to PAZ when needed since the main dev is reviewed and maintained by the core team. |
|
Hey Team,
|
|
I've pushed config loading similar to #117 |
Poseidon/feature/temp demo test
This branch is merging the changes in the following PRs and resolving the conflicts between them; It also fixes issues with the inference and model deployment pages, making the code more reliable and stable. It also cleans some of the mocked requests in the other branches and only relies on the actual services.