Skip to content

chore: librarian generate pull request: 20260325T205208Z#1784

Closed
parthea wants to merge 2 commits intomainfrom
librarian-20260325T205208Z
Closed

chore: librarian generate pull request: 20260325T205208Z#1784
parthea wants to merge 2 commits intomainfrom
librarian-20260325T205208Z

Conversation

@parthea
Copy link
Copy Markdown
Contributor

@parthea parthea commented Mar 25, 2026

PR created by the Librarian CLI to generate Cloud Client Libraries code from protos.

BEGIN_COMMIT

BEGIN_NESTED_COMMIT
feat: Added a new field ComposeObjectRequest.delete_source_objects field

PiperOrigin-RevId: 863087065
Library-IDs: google-cloud-storage
Source-link: googleapis/googleapis@51ff87f4
END_NESTED_COMMIT

BEGIN_NESTED_COMMIT
docs: Updated documentation for BidiReadObject, ReadObjectRequest, and ObjectContexts

PiperOrigin-RevId: 863087065
Library-IDs: google-cloud-storage
Source-link: googleapis/googleapis@51ff87f4
END_NESTED_COMMIT

END_COMMIT

This pull request is generated with proto changes between
googleapis/googleapis@5400ccce
(exclusive) and
googleapis/googleapis@51ff87f4
(inclusive).

Librarian Version: v1.0.2-0.20260309131826-42ac5c451239
Language Image: us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/python-librarian-generator@sha256:8e2c32496077054105bd06c54a59d6a6694287bc053588e24debe6da6920ad91

@parthea parthea requested review from a team as code owners March 25, 2026 20:52
@product-auto-label product-auto-label bot added size: xl Pull request size is extra large. api: storage Issues related to the googleapis/python-storage API. labels Mar 25, 2026
@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, 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, generated by the Librarian CLI, primarily focuses on enhancing the Google Cloud Storage client library. It introduces a new field for managing source objects during compose operations, refines documentation for several key API methods, and significantly upgrades the testing framework by adding new conformance test sessions and updating Python version requirements and dependencies. These changes aim to improve the library's functionality, clarity, and maintainability.

Highlights

  • New Field Addition: A new optional boolean field, delete_source_objects, was added to ComposeObjectRequest and ObjectPreconditions to control the deletion of source objects during a compose operation.
  • Documentation Updates: Documentation for BidiReadObject, ReadObjectRequest, and ObjectContexts was updated to clarify error reporting, read range behavior, and custom context field constraints.
  • Testing Infrastructure Enhancements: The noxfile.py configuration was significantly updated to include a new conftest_retry_bidi session for conformance tests, unpin flake8, and add pytest-asyncio to system test dependencies. The Python version requirement for the library was also raised to >=3.10.
  • Dependency Management: The setup.py file was updated to introduce grpc and testing as optional extras, consolidating testing dependencies and managing gRPC-related requirements more explicitly.
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.

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.

@parthea parthea closed this Mar 25, 2026
Copy link
Copy Markdown
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 updates various project configurations, dependencies, and test setups. Key changes include updating codeowner teams, temporarily excluding a client file from generation, and refactoring Nox sessions for testing, particularly for conformance and bidi tests. Python version requirements have been updated to >=3.10, and new grpc and testing extras have been added to setup.py. Docstrings for bidi_read_object and ReadRange have been clarified, and a new delete_source_objects field was added to ComposeObjectRequest. Additionally, mTLS-related tests were simplified. The review comments suggest improving the efficiency of bidi test execution by invoking pytest once for multiple files and removing a duplicate dependency entry for google-cloud-testutils in setup.py.

Comment on lines +284 to +291
for test_file in bidi_tests:
session.run(
"pytest",
"-vv",
"-s",
test_file,
env={"DOCKER_API_VERSION": "1.39"},
)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

Instead of looping and calling pytest for each test file, it's more efficient to invoke pytest once with all test files. This avoids the overhead of starting a new process for each file.

    session.run(
        "pytest",
        "-vv",
        "-s",
        *bidi_tests,
        env={"DOCKER_API_VERSION": "1.39"},
    )

Comment on lines +62 to +85
"testing": [
"google-cloud-testutils",
"numpy",
"psutil",
"py-cpuinfo",
"pytest-benchmark",
"PyYAML",
"mock",
"pytest",
"pytest-cov",
"pytest-asyncio",
"pytest-rerunfailures",
"pytest-xdist",
"google-cloud-testutils",
"google-cloud-iam",
"google-cloud-pubsub",
"google-cloud-kms",
"brotli",
"coverage",
"pyopenssl",
"opentelemetry-sdk",
"flake8",
"black",
],
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

The dependency google-cloud-testutils is listed twice in the testing extras (on line 63 and 75). Please remove the duplicate entry.

    "testing": [
        "google-cloud-testutils",
        "numpy",
        "psutil",
        "py-cpuinfo",
        "pytest-benchmark",
        "PyYAML",
        "mock",
        "pytest",
        "pytest-cov",
        "pytest-asyncio",
        "pytest-rerunfailures",
        "pytest-xdist",
        "google-cloud-iam",
        "google-cloud-pubsub",
        "google-cloud-kms",
        "brotli",
        "coverage",
        "pyopenssl",
        "opentelemetry-sdk",
        "flake8",
        "black",
    ],

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. size: xl Pull request size is extra large.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants