-
Notifications
You must be signed in to change notification settings - Fork 83
feat: pipelines public preview #1156
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
* fixed tests * added vector expressions * added new math expressions * added string manipulation expressions * added not_nan, not_null, and is_absent * added new Array type * added map and related expressions * remove dict and list from constant types * Fixed lint * added count_if and count_distinct * added misc expressions * added error functions * fixed lint * fixed typos
Use new object syntax to reference pipeline array type in example
Kokoro tests for pipelines were previously disabled until the backend supports the feature. This branch will re-enable those tests, when the backend is ready Aslo removing index_mode, since this feature was pushed back to a future release
Rename Function to FunctionExpression, and add a warning that other changes in the API surface may come before GA
Summary of ChangesHello @daniel-sanche, 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 capabilities of the Firestore client library by introducing a powerful new pipeline query system. This system allows users to construct and execute multi-stage data processing workflows directly within Firestore, offering greater flexibility and efficiency for complex data operations. Alongside this major feature, the library has been updated to support the latest Python version, ensuring continued compatibility and leveraging modern language features. Highlights
🧠 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. Ignored Files
Using Gemini Code AssistThe 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
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 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
|
There was a problem hiding this 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 a significant new feature, Pipeline Queries, which allows for more complex data transformations and queries. The implementation includes a new fluent API for building pipelines, along with extensive unit and system tests. The PR also migrates the code generation process from owlbot to librarian and adds support for Python 3.14.
Overall, the changes are well-structured. However, I've identified a few issues that need attention. There's a potential issue in the librarian.py script that could affect the release process by overwriting version files. The changelog is also missing an entry for the new pipeline feature, and there are some minor formatting inconsistencies in the new configuration files.
I am having trouble creating individual review comments. Click here to see my feedback.
.librarian/generator-input/librarian.py (46)
Removing **/gapic_version.py from the excludes list is concerning. The gapic_version.py file is typically managed by release-please and should not be overwritten by the generator. This change could potentially break the release process. Please restore the exclusion for **/gapic_version.py.
s.move(library / f"google/cloud/firestore_{library.name}", excludes=[f"__init__.py", "**/gapic_version.py", "noxfile.py"])
.librarian/generator-input/librarian.py (53)
Removing **/gapic_version.py from the excludes list is concerning. The gapic_version.py file is typically managed by release-please and should not be overwritten by the generator. This change could potentially break the release process. Please restore the exclusion for **/gapic_version.py.
s.move(library / f"google/cloud/firestore_admin_{library.name}", excludes=[f"__init__.py", "**/gapic_version.py", "noxfile.py"])
.librarian/generator-input/librarian.py (92)
Removing **/gapic_version.py from the excludes list is concerning. The gapic_version.py file is typically managed by release-please and should not be overwritten by the generator. This change could potentially break the release process. Please restore the exclusion for **/gapic_version.py.
excludes=["**/gapic_version.py", "noxfile.py"],
.kokoro/samples/python3.14/continuous.cfg (6)
This file is missing a final newline. For consistency with other configuration files in this repository, please add one. The same applies to .kokoro/samples/python3.14/presubmit.cfg.
}
.kokoro/samples/python3.14/presubmit.cfg (6)
This file is missing a final newline. For consistency with other configuration files in this repository, please add one.
}
CHANGELOG.md (10)
The changelog is missing an entry for the main feature of this PR, "Pipeline Queries". This is a significant feature and should be highlighted in the release notes. Please add a feature entry for it.
### Features
* feat: Add support for Pipeline Queries
PR created by the Librarian CLI to initialize a release. Merging this PR will auto trigger a release. Librarian Version: v1.0.1 Language Image: us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/python-librarian-generator@sha256:b8058df4c45e9a6e07f6b4d65b458d0d059241dd34c814f151c8bf6b89211209 <details><summary>google-cloud-firestore: 2.23.0</summary> ## [2.23.0](v2.22.0...v2.23.0) (2026-01-14) ### Features * pipelines preview (#1156) ([9462d10](9462d106)) ### Bug Fixes * stream generator type (#1148) ([165d367](165d367c)) </details>
This PR adds support for Pipeline Queries