Skip to content

Conversation

@chandra-siri
Copy link
Collaborator

feat(samples): add samples for appendable objects writes and reads

@chandra-siri chandra-siri requested review from a team as code owners January 13, 2026 15:20
@product-auto-label product-auto-label bot added size: l Pull request size is large. api: storage Issues related to the googleapis/python-storage API. labels Jan 13, 2026
@snippet-bot
Copy link

snippet-bot bot commented Jan 13, 2026

Here is the summary of changes.

You are about to add 8 region tags.

This comment is generated by snippet-bot.
If you find problems with this result, please file an issue at:
https://github.com/googleapis/repo-automation-bots/issues.
To update this comment, add snippet-bot:force-run label or use the checkbox below:

  • Refresh this comment

@product-auto-label product-auto-label bot added the samples Issues that are directly related to samples. label Jan 13, 2026
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @chandra-siri, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly expands the sample code for Google Cloud Storage, focusing on experimental asynchronous operations for appendable objects and advanced ranged read capabilities. The new samples provide practical examples for developers to understand and utilize features like creating and appending to objects, finalizing uploads, pausing and resuming uploads, and performing various types of ranged reads, including concurrent reads across multiple objects and real-time 'tailing' of appendable data streams. These additions aim to enhance the utility and clarity of the client library's asynchronous functionalities.

Highlights

  • New Appendable Object Write Sample: Added a sample demonstrating how to create a new appendable object in Google Cloud Storage and continuously append data to it using the AsyncAppendableObjectWriter.
  • Appendable Object Finalization Sample: Introduced a sample that illustrates the process of creating, writing to, and then finalizing an appendable object, making it immutable after all data has been added.
  • Pause and Resume Appendable Upload Sample: Provided a sample showcasing how to pause an ongoing appendable object upload by closing the current writer and then resuming it with a new writer, leveraging object generation numbers for consistency.
  • Multiple Object Ranged Read Sample: Added a sample for concurrently downloading specific byte ranges from multiple Google Cloud Storage objects, demonstrating efficient parallel data retrieval.
  • Single Object Multiple Ranged Read Sample: Included a sample that shows how to download several distinct byte ranges from a single Google Cloud Storage object into different buffers.
  • Full Object Read Sample: Created a sample to demonstrate downloading the entire content of a specified Google Cloud Storage object.
  • Appendable Object Tail Read Sample: Implemented a sample that simulates 'tailing' an appendable object, continuously reading new data as it is appended by a concurrent process, useful for real-time monitoring.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces several new sample files demonstrating appendable object writes and reads. The samples are well-structured and cover a range of use cases. My review focuses on improving resource management by ensuring that streams are always closed, even in the case of errors, and on correcting some inconsistencies in comments and docstrings. Overall, these are great additions to the sample library.

@chandra-siri chandra-siri requested review from a team as code owners January 16, 2026 09:12
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@chandra-siri chandra-siri removed the request for review from vchudnov-g January 16, 2026 09:23
chandra-siri and others added 9 commits January 16, 2026 16:17
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@product-auto-label product-auto-label bot added size: xl Pull request size is extra large. and removed size: l Pull request size is large. labels Jan 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api: storage Issues related to the googleapis/python-storage API. samples Issues that are directly related to samples. size: xl Pull request size is extra large.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants