yasithdev opened a new pull request, #208:
URL: https://github.com/apache/airavata-portals/pull/208

   The Django portal now depends on a **single Airavata package** — the gRPC 
\`airavata-python-sdk\` (import name \`airavata_sdk\`), installed editable from 
a local apache/airavata checkout. The retired Thrift 
\`airavata-python-sdk==2.2.7\` and the \`airavata-django-portal-sdk\` package 
are removed entirely; nothing in the portal pulls in Thrift anymore.
   
   ### API-side logic moved into the SDK
   The framework-agnostic orchestration that used to live in 
\`airavata_django_portal_sdk\` now lives in the SDK (apache/airavata#657), 
repointed from Thrift to the gRPC facades:
   - experiment **launch / clone** + **intermediate-output** → 
\`airavata_sdk.helpers.experiment_orchestration\`
   - **queue-settings** calculator registry + \`@queue_settings_calculator\` 
decorator → \`airavata_sdk.helpers.queue_settings\`
   
   The portal's views/serializers stay thin — they call these helpers with 
\`request.airavata\` + the username.
   
   ### Storage / downloads
   - The two in-use \`/sdk/\` directory-zip endpoints (\`download-dir\`, 
\`download-experiment-dir/<id>\`) are **ported into the portal** 
(\`apps/api/downloads.py\`) on the gRPC storage facade, keeping their URL paths 
so the built frontend's hardcoded links keep working. (They were previously 
broken anyway — the old SDK reached them through the now-removed Thrift 
client.) The redundant/unused \`/sdk/\` endpoints are dropped; single-file 
downloads already go through \`/api/download-file\`.
   
   ### Cleanup
   - Deleted the \`airavata-django-portal-sdk\` package (46 files); dropped 
\`thrift\`/\`thrift_connector\` and the old SDKs from 
\`requirements*.txt\`/\`setup.py\`; \`setup.py\` now pins 
\`airavata-python-sdk>=3.0.0\`.
   - Repointed the cookiecutter templates and dev/tutorial docs off the old SDK.
   
   ### Validation
   - \`manage.py check\` passes; the portal imports cleanly with the old SDK 
and Thrift fully gone.
   - **Live against the tilt backend (:9090):** the launch/clone input-staging 
primitives were exercised end-to-end — upload → register data product → 
\`is_input_file\` → \`move_file\` + \`update_replica_location\` (in place, 
**URI preserved**, \`file_path\` repointed to the experiment data dir) → the 
ported zip recursion lists + streams the bytes. This confirms the riskiest new 
behavior (the move/replica round-trip) works on a real backend.
   
   Depends on apache/airavata#657 (merged) for the SDK helper layer.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to