Skip to content

feat(bindings/python): enable github service - #8011

Draft
trim21 wants to merge 4 commits into
apache:mainfrom
trim21:feat-python-enable-github
Draft

feat(bindings/python): enable github service#8011
trim21 wants to merge 4 commits into
apache:mainfrom
trim21:feat-python-enable-github

Conversation

@trim21

@trim21 trim21 commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

None.

Rationale for this change

Enable the github service in the python binding by default. The service is a pure-HTTP implementation with no special backend requirements, so it fits the default feature set.

What changes are included in this PR?

  • Add services-github to the default features in bindings/python/Cargo.toml and drop the FIXME EXCLUDED marker.
  • Enable the github service in the python code generator (dev/src/generate/python.rs).
  • Regenerate src/services.rs, python/opendal/config.py and python/opendal/services.pyi so Scheme.Github and GithubConfig are available.
  • Update DEPENDENCIES.rust.tsv with opendal-service-github.

Are there any user-facing changes?

opendal.Scheme.Github and opendal.config.GithubConfig become available, and github:// URIs work with Operator.from_uri.

Depends on

AI Usage Statement

This PR was developed with the assistance of an AI coding agent (pi) for implementation, testing, and PR preparation; the changes were reviewed by the author.

@dosubot dosubot Bot added size:L This PR changes 100-499 lines, ignoring generated files. releases-note/feat The PR implements a new feature or has a title that begins with "feat" labels Aug 1, 2026
@trim21
trim21 marked this pull request as draft August 1, 2026 15:27
trim21 added 2 commits August 1, 2026 23:27
GithubConfig::from_uri requires owner and repo to be parsed from the URI
authority, which breaks Operator::via_iter("github", env) construction
used by the behavior tests and env-driven setups. Fall back to options
when the URI has no authority or path.
Run the existing read-only behavior tests against the fixtures in
core/tests/data of the apache/opendal repository. Forward the workflow
GITHUB_TOKEN to raise the GitHub API rate limit.
@trim21
trim21 force-pushed the feat-python-enable-github branch from 00ed2cc to e545126 Compare August 1, 2026 15:27
trim21 added 2 commits August 1, 2026 23:40
GitHub ignores the Range header on authenticated Contents API requests
and returns the full content with 200 instead of 206. Slice the response
client-side when the server did not honor the requested range, matching
the pattern used by other services.
@trim21
trim21 force-pushed the feat-python-enable-github branch from e545126 to 38129a7 Compare August 1, 2026 15:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

releases-note/feat The PR implements a new feature or has a title that begins with "feat" size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant