Tags: GoogleCloudPlatform/appengine-python-standard
Tags
feat(images): implement authenticated gRPC redirection for Images API (… …#146) * feat(images): implement authenticated gRPC redirection for Images API - Intercept `execute_transforms`, `histogram`, and `composite` calls in the SDK. - Redirect these calls to a custom, self-hosted gRPC service defined by `IMAGES_SERVICE_ENDPOINT`. - Implement secure service-to-service authentication using OIDC tokens (via `google.auth` and `grpc.access_token_call_credentials`). - Support native Google Cloud Storage (GCS) integration by passing raw `/gs/` paths to the external service, bypassing legacy BlobKey encoding. - Implement fallback logic for legacy BlobKeys: automatically fetch blob content locally and send raw bytes to the external service when a direct reference cannot be resolved. - Increase gRPC max receive message size to 32MB to support high-resolution image processing. - Refactor internal logic to share authentication and channel creation code across all API methods. * ci: Add fail-fast: false to matrix strategy This will ensure that the workflow continues to run for all Python versions even if one of them fails. * ci: Remove deprecated Python 3.7 and 3.8 from matrix These runtimes are deprecated as per the support schedule: https://docs.cloud.google.com/appengine/docs/standard/lifecycle/support-schedule#python
Release version 2.0.0 with mail changes (smtp) (#144) * feat: mail via smtp & few unit tests * tests: add more unit tests for send mail smtp path * test: Add comprehensive tests for SMTP mail sending * feat: Handle admin emails and add more tests * feat: Add final error handling tests for SMTP This commit adds the remaining error handling tests for the SMTP mail sending functionality. - Adds a test to ensure `MissingRecipientsError` is raised when no recipients are provided for an admin email. - Adds a test to ensure `InvalidSenderError` is raised for SMTP authentication errors. - Adds a test to ensure a generic `Error` is raised for SMTP connection errors and missing `SMTP_HOST` configuration. - Corrects the exception type raised in the `send()` method to use the base `Error` class for transient SMTP errors. * Refactor: Prefix SMTP environment variables with APPENGINE_ This change prefixes all environment variables related to the external SMTP mail service with `APPENGINE_` to improve namespacing and prevent potential conflicts in the deployment environment. The following variables have been renamed: - USE_SMTP_MAIL_SERVICE -> APPENGINE_USE_SMTP_MAIL_SERVICE - SMTP_HOST -> APPENGINE_SMTP_HOST - SMTP_PORT -> APPENGINE_SMTP_PORT - SMTP_USER -> APPENGINE_SMTP_USER - SMTP_PASSWORD -> APPENGINE_SMTP_PASSWORD - SMTP_USE_TLS -> APPENGINE_SMTP_USE_TLS - ADMIN_EMAIL_RECIPIENTS -> APPENGINE_ADMIN_EMAIL_RECIPIENTS The changes have been applied to both the SDK implementation in `mail.py` and the corresponding unit tests in `mail_unittest.py * Update version to 1.2.0-beta to test mail api changes * Bump version to 2.0.0 * chore: Remove .coverage from git and add to .gitignore --------- Co-authored-by: YashBanka <yashbanka@google.com>
PreviousNext