Skip to content

feat(htsget): c4gh-encrypted streams - #214

Merged
cmdoret merged 30 commits into
mainfrom
feat/htsget-c4gh-streams
Jul 17, 2026
Merged

feat(htsget): c4gh-encrypted streams#214
cmdoret merged 30 commits into
mainfrom
feat/htsget-c4gh-streams

Conversation

@cmdoret

@cmdoret cmdoret commented Jun 12, 2026

Copy link
Copy Markdown
Member

Changes

  • Support for crypt4gh-encrypted "streams" to the htsget client.
  • Update documentation with new parameters.
  • Stream decryption tests.

More details in the specification document.

Limitations ⚠️

  • The htsget spec does not define how c4gh should be handled. This PR follows the htsget-rs implementation of c4gh, meaning it might not work with other server implementations.
  • This uses crypt4gh.lib.decrypt which decrypts the whole file -> we are storing the whole decrypted file on disk -> not proper streaming. crypt4gh has other functions to decrypt specific parts, but I suggest to move to these once we have proper streaming support implemented e.g. after refactor(htsget): use htslurp as htsget client #215 .
  • I did not test this end-to-end with a real server.

Note

Tests are not fully human and a bit convoluted overkill. I left them, but I would suggest to drop some of them and replace with end-to-end testing if that makes sense.

@cmdoret
cmdoret marked this pull request as ready for review July 8, 2026 14:52
@cmdoret
cmdoret requested a review from almutlue July 8, 2026 14:52

@almutlue almutlue left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, looks good and I agree with the scope.

Comment thread src/modos/cli/remote.py Outdated
Comment thread src/modos/cli/remote.py Outdated
Comment thread src/modos/genomics/c4gh.py
cmdoret and others added 3 commits July 17, 2026 11:20
Co-authored-by: almutlue <43293149+almutlue@users.noreply.github.com>
Co-authored-by: almutlue <43293149+almutlue@users.noreply.github.com>
@cmdoret
cmdoret merged commit 9886c0d into main Jul 17, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants