Skip to content

chore(migration): Migrate code from googleapis/python-crc32c into packages/google-crc32c#16006

Draft
parthea wants to merge 209 commits intomainfrom
migration.python-crc32c.migration.2026-03-02_16-59-45.migrate
Draft

chore(migration): Migrate code from googleapis/python-crc32c into packages/google-crc32c#16006
parthea wants to merge 209 commits intomainfrom
migration.python-crc32c.migration.2026-03-02_16-59-45.migrate

Conversation

@parthea
Copy link
Contributor

@parthea parthea commented Mar 2, 2026

See #11005.

This PR should be merged with a merge-commit, not a squash-commit, in order to preserve the git history.

dhermes and others added 30 commits October 24, 2018 10:08
This way the point where built is fixed.
Also adding `crc32c_build.py` to actually create the foreign
function interface.

Unfortunately, this fails currently because `libcrc32c` can't be
linked against dynamically.
This "fixes" the relocatable issue so long as I depend on
google/crc32c#23.
Also adds a `check.sh` script to make sure the library gets
moved correctly.
Also adding a "Verify Wheel" section.
This is actually so I can get the OS X wheel working with
`delocate` (see [1]).

Also:

- Changed `git@...` path to `https://` path for `git clone`
  instructions
- Change mention of Cython for CFFI
- Update `check_cffi_crc32c.py` based on new import and also
  updated `README.md` to reflect new contents of the wheel
- Ditched `include_dirs` in `crc32c_build.py`
- Used `os.path.join` in `setup.py` to refer to `src/crc32c_build.py`.
  This way the reference will work on Windows.

[1]: matthew-brett/delocate#45
Also adding a "check" script for these built wheels.
Adding a symlink to the Python 3.7 `manylinux` wheel for those that
are linking to it.
Also

- Moving `check_cffi_crc32c.py` into `scripts/`
- Adding a `scripts/manylinux/build.sh` to actually invoke `docker`
- Making the `build_on_centos.sh` script put wheels into the
  `wheels/` subdirectory rather than the root
Used as an install target for the 'libcrc32c.so' shared library,
and also maybe as a virtualenv.
Document the steps for installing in development for testing.
- Add license header.
- PEP 8 for constant name.
- Import 'crc32c' at module scope.
- Add a test for multiple 'extend' calls.
- Use 'virtualenv' for portability.
- Keep the Python virtual environment separate from the C install target.
- Fix unused variable in testcase.
Add tests derived from RFC 3720, section B.4.
- Don't require caller to pass a length to 'extend' / 'value'.
- Make arguments to 'extend' / 'value' explicit.
- Document arguments, return type for 'extend' / 'value'.
- Adjust tests accordingly.
- Add a test showing use of 'extend' with 'functools.reduce' and an iterable.
renovate-bot and others added 26 commits September 3, 2024 12:46
* chore(deps): update all dependencies

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

---------

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
* chore(deps): update all dependencies

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

---------

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
* chore(deps): update all dependencies

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

---------

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Source-Link: googleapis/synthtool@59171c8
Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:2ed982f884312e4883e01b5ab8af8b6935f0216a5a2d82928d273081fc3be562

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
* feat: add support for python 3.13

* upgrade script dependencies

* continue iterating on build scripts

* continue iterating on build scripts

* continue iterating on build scripts

* continue iterating on build scripts

* continue iterating on build scripts

* continue iterating on build scripts

* continue iterating on build scripts

---------

Co-authored-by: Andrew Gorcester <andrew.gorcester@gmail.com>
Co-authored-by: Andrew Gorcester <gorcester@google.com>
* build: disable logging in publish_python_wheel.sh

* apply same fix to scripts/manylinux/publish_python_wheel.sh

* clean up
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Anthonios Partheniou <partheniou@google.com>
Source-Link: googleapis/synthtool@450363b
Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:5581906b957284864632cde4e9c51d1cc66b0094990b27e689132fe5cd036046

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: Anthonios Partheniou <partheniou@google.com>
* chore(deps): update all dependencies

* update python version for mypy

---------

Co-authored-by: Anthonios Partheniou <partheniou@google.com>
Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
This PR fixes the failing presubmits to build this package in different
environments.

Note that the presubmits have been failing for a while. A better long
term solution is to switch the approach by building and testing against
the supported Python versions within a nox session.
Towards googleapis/librarian#2454

---------

Co-authored-by: Anthonios Partheniou <partheniou@google.com>
This PR puts the `version` under the right header. and adds the missing
info in pyproject.toml
PR created by the Librarian CLI to initialize a release. Merging this PR
will auto trigger a release.

Librarian Version: v0.7.0
Language Image:
us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/python-librarian-generator@sha256:e601da6e29c993e14c52867f2c088dfb841beae618d2a4f1e0f7970a888ab020
<details><summary>google-crc32c: 1.8.0</summary>

##
[1.8.0](googleapis/python-crc32c@v1.7.1...v1.8.0)
(2025-12-15)

### Features

* support Python 3.14 (#315)
([49d0a36f](googleapis/python-crc32c@49d0a36f))

### Bug Fixes

* update toml file with setup.cfg content (#319)
([42e5268c](googleapis/python-crc32c@42e5268c))

</details>
Temporarily restore release-please to release
googleapis/python-crc32c#315

BEGIN_COMMIT_OVERRIDE
feat: add support for Python 3.14
END_COMMIT_OVERRIDE
🤖 I have created a release *beep* *boop*
---


##
[1.8.0](googleapis/python-crc32c@v1.7.1...v1.8.0)
(2025-12-15)


### Features

* Support Python 3.14
([#315](googleapis/python-crc32c#315))
([49d0a36](googleapis/python-crc32c@49d0a36))


### Bug Fixes

* Update toml file with setup.cfg content
([#319](googleapis/python-crc32c#319))
([42e5268](googleapis/python-crc32c@42e5268))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
…nto migration.python-crc32c.migration.2026-03-02_16-59-45.migrate
@google-cla
Copy link

google-cla bot commented Mar 2, 2026

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@gemini-code-assist
Copy link
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 completes the migration of the google-crc32c Python library into a monorepo, establishing a standardized project structure and automated development workflows. The changes centralize the project's codebase and streamline its build, test, and release processes across diverse operating systems and Python environments. This move enhances maintainability, consistency, and integration within the broader Google Cloud client libraries ecosystem.

Highlights

  • Monorepo Migration: The google-crc32c Python library has been migrated into the packages/google-crc32c directory within the monorepo.
  • Git Submodule Integration: The core google/crc32c C++ library is now included as a Git submodule, ensuring its specific version is tracked.
  • Comprehensive CI/CD Setup: Extensive GitHub Actions and Kokoro configurations have been added for presubmit, continuous, and release builds across Linux, macOS, and Windows, supporting various Python versions.
  • Automated Tooling Configuration: New configuration files for linting (.flake8, .clang-format), code coverage (.coveragerc), pre-commit hooks, and repository metadata have been introduced.
  • Standard Project Documentation: Contributing guidelines, issue/PR templates, code owners, and security policies are now in place for the new package.
Changelog
  • google_crc32c
    • Added as a Git submodule, pointing to commit 02e65f4fd3065d27b2e29324800ca6d04df16126.
  • packages/google-crc32c/.coveragerc
    • Added code coverage configuration.
  • packages/google-crc32c/.flake8
    • Added flake8 linter configuration.
  • packages/google-crc32c/.github/CODEOWNERS
    • Added code ownership definitions.
  • packages/google-crc32c/.github/CONTRIBUTING.md
    • Added contributing guidelines.
  • packages/google-crc32c/.github/ISSUE_TEMPLATE/bug_report.md
    • Added bug report template.
  • packages/google-crc32c/.github/ISSUE_TEMPLATE/feature_request.md
    • Added feature request template.
  • packages/google-crc32c/.github/ISSUE_TEMPLATE/support_request.md
    • Added support request template.
  • packages/google-crc32c/.github/PULL_REQUEST_TEMPLATE.md
    • Added pull request template.
  • packages/google-crc32c/.github/auto-label.yaml
    • Added auto-labeling configuration.
  • packages/google-crc32c/.github/blunderbuss.yml
    • Added Blunderbuss configuration.
  • packages/google-crc32c/.github/header-checker-lint.yml
    • Added header checker lint configuration.
  • packages/google-crc32c/.github/release-please.yml
    • Added release-please configuration.
  • packages/google-crc32c/.github/release-trigger.yml
    • Added release trigger configuration.
  • packages/google-crc32c/.github/workflows/presubmit.yml
    • Added GitHub Actions workflow for presubmit checks.
  • packages/google-crc32c/.gitignore
    • Added standard Python gitignore.
  • packages/google-crc32c/.gitmodules
    • Added Git submodules for the C++ library and its dependencies.
  • packages/google-crc32c/.kokoro/build-manylinux.sh
    • Added Kokoro build script for ManyLinux.
  • packages/google-crc32c/.kokoro/build-osx.sh
    • Added Kokoro build script for OSX.
  • packages/google-crc32c/.kokoro/continuous/common.cfg
    • Added common Kokoro continuous build configuration.
  • packages/google-crc32c/.kokoro/continuous/continuous-linux.cfg
    • Added Kokoro continuous Linux build configuration.
  • packages/google-crc32c/.kokoro/continuous/continuous-osx-slcn.cfg
    • Added Kokoro continuous OSX (slcn) build configuration.
  • packages/google-crc32c/.kokoro/continuous/continuous-osx.cfg
    • Added Kokoro continuous OSX build configuration.
  • packages/google-crc32c/.kokoro/continuous/continuous-windows.cfg
    • Added Kokoro continuous Windows build configuration.
  • packages/google-crc32c/.kokoro/continuous/continuous.cfg
    • Added placeholder Kokoro continuous build configuration.
  • packages/google-crc32c/.kokoro/continuous/prerelease-deps.cfg
    • Added Kokoro prerelease dependencies configuration.
  • packages/google-crc32c/.kokoro/noxfile.py
    • Added Nox configuration for linting, formatting, and testing.
  • packages/google-crc32c/.kokoro/populate-secrets.sh
    • Added script to populate secrets for Kokoro.
  • packages/google-crc32c/.kokoro/presubmit.bat
    • Added Kokoro presubmit script for Windows.
  • packages/google-crc32c/.kokoro/presubmit/common.cfg
    • Added common Kokoro presubmit build configuration.
  • packages/google-crc32c/.kokoro/presubmit/linux/common.cfg
    • Added common Kokoro presubmit Linux build configuration.
  • packages/google-crc32c/.kokoro/presubmit/linux/presubmit-linux.cfg
    • Added Kokoro presubmit Linux build configuration.
  • packages/google-crc32c/.kokoro/presubmit/osx/common.cfg
    • Added common Kokoro presubmit OSX build configuration.
  • packages/google-crc32c/.kokoro/presubmit/osx/presubmit-osx-slcn.cfg
    • Added Kokoro presubmit OSX (slcn) build configuration.
  • packages/google-crc32c/.kokoro/presubmit/osx/presubmit-osx.cfg
    • Added Kokoro presubmit OSX build configuration.
  • packages/google-crc32c/.kokoro/presubmit/prerelease-deps.cfg
    • Added Kokoro presubmit prerelease dependencies configuration.
  • packages/google-crc32c/.kokoro/presubmit/presubmit.cfg
    • Added placeholder Kokoro presubmit build configuration.
  • packages/google-crc32c/.kokoro/presubmit/windows/common.cfg
    • Added common Kokoro presubmit Windows build configuration.
  • packages/google-crc32c/.kokoro/presubmit/windows/presubmit-windows.cfg
    • Added Kokoro presubmit Windows build configuration.
  • packages/google-crc32c/.kokoro/release-manylinux-wheel.sh
    • Added Kokoro release script for ManyLinux wheels.
  • packages/google-crc32c/.kokoro/release-osx-wheel.sh
    • Added Kokoro release script for OSX wheels.
  • packages/google-crc32c/.kokoro/release-windows-wheel.bat
    • Added Kokoro release script for Windows wheels.
  • packages/google-crc32c/.kokoro/release/common.cfg
    • Added common Kokoro release build configuration.
  • packages/google-crc32c/.kokoro/release/linux/common.cfg
    • Added common Kokoro release Linux build configuration.
  • packages/google-crc32c/.kokoro/release/linux/linux_wheel.cfg
    • Added Kokoro release Linux wheel configuration.
  • packages/google-crc32c/.kokoro/release/osx/common.cfg
    • Added common Kokoro release OSX build configuration.
  • packages/google-crc32c/.kokoro/release/osx/osx-slcn_wheel.cfg
    • Added Kokoro release OSX (slcn) wheel configuration.
  • packages/google-crc32c/.kokoro/release/osx/osx_wheel.cfg
    • Added Kokoro release OSX wheel configuration.
  • packages/google-crc32c/.kokoro/release/release.cfg
    • Added placeholder Kokoro release build configuration.
  • packages/google-crc32c/.kokoro/release/windows/common.cfg
    • Added common Kokoro release Windows build configuration.
  • packages/google-crc32c/.kokoro/release/windows/windows_wheel.cfg
    • Added Kokoro release Windows wheel configuration.
  • packages/google-crc32c/.kokoro/requirements.in
    • Added Kokoro pip requirements.
  • packages/google-crc32c/.kokoro/requirements.txt
    • Added pinned Kokoro pip requirements.
  • packages/google-crc32c/.kokoro/samples/lint/common.cfg
    • Added common Kokoro samples lint configuration.
  • packages/google-crc32c/.kokoro/samples/lint/continuous.cfg
    • Added Kokoro continuous samples lint configuration.
  • packages/google-crc32c/.kokoro/samples/lint/periodic.cfg
    • Added Kokoro periodic samples lint configuration.
  • packages/google-crc32c/.kokoro/samples/lint/presubmit.cfg
    • Added Kokoro presubmit samples lint configuration.
  • packages/google-crc32c/.kokoro/samples/python3.10/common.cfg
    • Added common Kokoro Python 3.10 samples configuration.
  • packages/google-crc32c/.kokoro/samples/python3.10/continuous.cfg
    • Added Kokoro continuous Python 3.10 samples configuration.
  • packages/google-crc32c/.kokoro/samples/python3.10/periodic-head.cfg
    • Added Kokoro periodic Python 3.10 samples against head configuration.
  • packages/google-crc32c/.kokoro/samples/python3.10/periodic.cfg
    • Added Kokoro periodic Python 3.10 samples configuration.
  • packages/google-crc32c/.kokoro/samples/python3.10/presubmit.cfg
    • Added Kokoro presubmit Python 3.10 samples configuration.
  • packages/google-crc32c/.kokoro/samples/python3.11/common.cfg
    • Added common Kokoro Python 3.11 samples configuration.
  • packages/google-crc32c/.kokoro/samples/python3.11/continuous.cfg
    • Added Kokoro continuous Python 3.11 samples configuration.
  • packages/google-crc32c/.kokoro/samples/python3.11/periodic-head.cfg
    • Added Kokoro periodic Python 3.11 samples against head configuration.
  • packages/google-crc32c/.kokoro/samples/python3.11/periodic.cfg
    • Added Kokoro periodic Python 3.11 samples configuration.
  • packages/google-crc32c/.kokoro/samples/python3.11/presubmit.cfg
    • Added Kokoro presubmit Python 3.11 samples configuration.
  • packages/google-crc32c/.kokoro/samples/python3.12/common.cfg
    • Added common Kokoro Python 3.12 samples configuration.
  • packages/google-crc32c/.kokoro/samples/python3.12/continuous.cfg
    • Added Kokoro continuous Python 3.12 samples configuration.
  • packages/google-crc32c/.kokoro/samples/python3.12/periodic-head.cfg
    • Added Kokoro periodic Python 3.12 samples against head configuration.
  • packages/google-crc32c/.kokoro/samples/python3.12/periodic.cfg
    • Added Kokoro periodic Python 3.12 samples configuration.
  • packages/google-crc32c/.kokoro/samples/python3.12/presubmit.cfg
    • Added Kokoro presubmit Python 3.12 samples configuration.
  • packages/google-crc32c/.kokoro/samples/python3.13/common.cfg
    • Added common Kokoro Python 3.13 samples configuration.
  • packages/google-crc32c/.kokoro/samples/python3.13/continuous.cfg
    • Added Kokoro continuous Python 3.13 samples configuration.
  • packages/google-crc32c/.kokoro/samples/python3.13/periodic-head.cfg
    • Added Kokoro periodic Python 3.13 samples against head configuration.
  • packages/google-crc32c/.kokoro/samples/python3.13/periodic.cfg
    • Added Kokoro periodic Python 3.13 samples configuration.
  • packages/google-crc32c/.kokoro/samples/python3.13/presubmit.cfg
    • Added Kokoro presubmit Python 3.13 samples configuration.
  • packages/google-crc32c/.kokoro/samples/python3.7/common.cfg
    • Added common Kokoro Python 3.7 samples configuration.
  • packages/google-crc32c/.kokoro/samples/python3.7/continuous.cfg
    • Added Kokoro continuous Python 3.7 samples configuration.
  • packages/google-crc32c/.kokoro/samples/python3.7/periodic-head.cfg
    • Added Kokoro periodic Python 3.7 samples against head configuration.
  • packages/google-crc32c/.kokoro/samples/python3.7/periodic.cfg
    • Added Kokoro periodic Python 3.7 samples configuration.
  • packages/google-crc32c/.kokoro/samples/python3.7/presubmit.cfg
    • Added Kokoro presubmit Python 3.7 samples configuration.
  • packages/google-crc32c/.kokoro/samples/python3.8/common.cfg
    • Added common Kokoro Python 3.8 samples configuration.
  • packages/google-crc32c/.kokoro/samples/python3.8/continuous.cfg
    • Added Kokoro continuous Python 3.8 samples configuration.
  • packages/google-crc32c/.kokoro/samples/python3.8/periodic-head.cfg
    • Added Kokoro periodic Python 3.8 samples against head configuration.
  • packages/google-crc32c/.kokoro/samples/python3.8/periodic.cfg
    • Added Kokoro periodic Python 3.8 samples configuration.
  • packages/google-crc32c/.kokoro/samples/python3.8/presubmit.cfg
    • Added Kokoro presubmit Python 3.8 samples configuration.
  • packages/google-crc32c/.kokoro/samples/python3.9/common.cfg
    • Added common Kokoro Python 3.9 samples configuration.
  • packages/google-crc32c/.kokoro/samples/python3.9/continuous.cfg
    • Added Kokoro continuous Python 3.9 samples configuration.
  • packages/google-crc32c/.kokoro/samples/python3.9/periodic-head.cfg
    • Added Kokoro periodic Python 3.9 samples against head configuration.
  • packages/google-crc32c/.kokoro/samples/python3.9/periodic.cfg
    • Added Kokoro periodic Python 3.9 samples configuration.
  • packages/google-crc32c/.kokoro/samples/python3.9/presubmit.cfg
    • Added Kokoro presubmit Python 3.9 samples configuration.
  • packages/google-crc32c/.kokoro/test-samples-against-head.sh
    • Added Kokoro script for testing samples against head.
  • packages/google-crc32c/.kokoro/test-samples-impl.sh
    • Added implementation script for Kokoro samples testing.
  • packages/google-crc32c/.kokoro/test-samples.sh
    • Added Kokoro script for testing samples.
  • packages/google-crc32c/.kokoro/trampoline.sh
    • Added Kokoro trampoline script.
  • packages/google-crc32c/.kokoro/trampoline_v2.sh
    • Added Kokoro trampoline v2 script.
  • packages/google-crc32c/.librarian/state.yaml
    • Added Librarian configuration for the google-crc32c library.
  • packages/google-crc32c/.pre-commit-config.yaml
    • Added pre-commit hooks configuration for linting and formatting.
  • packages/google-crc32c/.repo-metadata.json
    • Added repository metadata for google-crc32c, including name, documentation, issue tracker, and release level.
  • packages/google-crc32c/.trampolinerc
    • Added trampoline configuration for the google-crc32c package.
  • packages/google-crc32c/BUILDING.md
    • Added documentation on how to build and test wheels for google-crc32c.
  • packages/google-crc32c/CHANGELOG.md
    • Added changelog for google-crc32c, detailing past releases and changes.
  • packages/google-crc32c/CODE_OF_CONDUCT.md
    • Added Code of Conduct for the project.
  • packages/google-crc32c/CONTRIBUTING.md
    • Added contributing guidelines for the project.
  • packages/google-crc32c/LICENSE
    • Added Apache License 2.0 for the project.
  • packages/google-crc32c/MANIFEST.in
    • Added manifest file for Python packaging.
  • packages/google-crc32c/README.md
    • Added README for google-crc32c, describing the package and supported platforms.
  • packages/google-crc32c/SECURITY.md
    • Added security policy for the project.
  • packages/google-crc32c/google_crc32c/.clang-format
    • Added Clang format configuration.
  • packages/google-crc32c/google_crc32c/.clang_complete
    • Added Clang complete configuration.
  • packages/google-crc32c/google_crc32c/.github/workflows/build.yml
    • Added GitHub Actions workflow for building and testing the C++ library.
  • packages/google-crc32c/google_crc32c/.gitignore
    • Added Gitignore for the C++ library.
  • packages/google-crc32c/google_crc32c/.gitmodules
    • Added Git submodules for the C++ library (googletest, glog, benchmark).
  • packages/google-crc32c/google_crc32c/.ycm_extra_conf.py
    • Added YouCompleteMe configuration for the C++ library.
  • packages/google-crc32c/google_crc32c/AUTHORS
    • Added authors file for the C++ library.
  • packages/google-crc32c/google_crc32c/CMakeLists.txt
    • Added CMake build configuration for the C++ library.
  • packages/google-crc32c/google_crc32c/CONTRIBUTING.md
    • Added contributing guidelines for the C++ library.
  • packages/google-crc32c/google_crc32c/Crc32cConfig.cmake.in
    • Added CMake configuration template for the C++ library.
  • packages/google-crc32c/google_crc32c/LICENSE
    • Added license for the C++ library (BSD-style).
  • packages/google-crc32c/google_crc32c/README.md
    • Added README for the C++ library.
  • packages/google-crc32c/google_crc32c/include/crc32c/crc32c.h
    • Added public header for the C++ library.
  • packages/google-crc32c/google_crc32c/src/crc32c.cc
    • Added main implementation file for the C++ library, dispatching to optimized versions.
  • packages/google-crc32c/google_crc32c/src/crc32c_arm64.cc
    • Added ARM64 optimized CRC32C implementation.
  • packages/google-crc32c/google_crc32c/src/crc32c_arm64.h
    • Added ARM64 CRC32C header.
  • packages/google-crc32c/google_crc32c/src/crc32c_arm64_check.h
    • Added ARM64 CRC32C feature detection.
  • packages/google-crc32c/google_crc32c/src/crc32c_arm64_unittest.cc
    • Added ARM64 CRC32C unit tests.
  • packages/google-crc32c/google_crc32c/src/crc32c_benchmark.cc
    • Added benchmarks for the C++ library.
  • packages/google-crc32c/google_crc32c/src/crc32c_capi_unittest.c
    • Added C API unit tests.
  • packages/google-crc32c/google_crc32c/src/crc32c_config.h.in
    • Added configuration template for the C++ library.
  • packages/google-crc32c/google_crc32c/src/crc32c_extend_unittests.h
    • Added common unit test cases.
  • packages/google-crc32c/google_crc32c/src/crc32c_internal.h
    • Added internal header for the C++ library.
  • packages/google-crc32c/google_crc32c/src/crc32c_portable.cc
    • Added portable CRC32C implementation.
  • packages/google-crc32c/google_crc32c/src/crc32c_portable_unittest.cc
    • Added portable CRC32C unit tests.
  • packages/google-crc32c/google_crc32c/src/crc32c_prefetch.h
    • Added prefetching utility.
  • packages/google-crc32c/google_crc32c/src/crc32c_prefetch_unittest.cc
    • Added prefetching unit tests.
  • packages/google-crc32c/google_crc32c/src/crc32c_read_le.h
    • Added little-endian read utility.
  • packages/google-crc32c/google_crc32c/src/crc32c_read_le_unittest.cc
    • Added little-endian read unit tests.
  • packages/google-crc32c/google_crc32c/src/crc32c_round_up.h
    • Added round-up utility.
  • packages/google-crc32c/google_crc32c/src/crc32c_round_up_unittest.cc
    • Added round-up unit tests.
  • packages/google-crc32c/google_crc32c/src/crc32c_sse42.cc
    • Added SSE4.2 optimized CRC32C implementation.
  • packages/google-crc32c/google_crc32c/src/crc32c_sse42.h
    • Added SSE4.2 CRC32C header.
  • packages/google-crc32c/google_crc32c/src/crc32c_sse42_check.h
    • Added SSE4.2 CRC32C feature detection.
  • packages/google-crc32c/google_crc32c/src/crc32c_sse42_unittest.cc
    • Added SSE4.2 CRC32C unit tests.
  • packages/google-crc32c/google_crc32c/src/crc32c_test_main.cc
    • Added main test runner for the C++ library.
  • packages/google-crc32c/google_crc32c/src/crc32c_unittest.cc
    • Added general unit tests for the C++ library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/.clang-format
    • Added Clang format configuration for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/.github/.libcxx-setup.sh
    • Added libc++ setup script for GitHub Actions in the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/.github/ISSUE_TEMPLATE/bug_report.md
    • Added bug report template for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/.github/ISSUE_TEMPLATE/feature_request.md
    • Added feature request template for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/.github/workflows/bazel.yml
    • Added Bazel build workflow for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/.github/workflows/build-and-test-perfcounters.yml
    • Added perf counters build and test workflow for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/.github/workflows/build-and-test.yml
    • Added general build and test workflow for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/.github/workflows/pylint.yml
    • Added Pylint workflow for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/.github/workflows/sanitizer.yml
    • Added sanitizers workflow for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/.github/workflows/test_bindings.yml
    • Added Python bindings test workflow for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/.gitignore
    • Added gitignore for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/.travis.yml
    • Added Travis CI configuration for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/.ycm_extra_conf.py
    • Added YouCompleteMe configuration for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/AUTHORS
    • Added authors file for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/BUILD.bazel
    • Added Bazel build file for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/CMakeLists.txt
    • Added CMake build file for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/CONTRIBUTING.md
    • Added contributing guidelines for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/CONTRIBUTORS
    • Added contributors file for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/LICENSE
    • Added Apache License 2.0 for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/README.md
    • Added README for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/WORKSPACE
    • Added Bazel WORKSPACE file for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/_config.yml
    • Added Jekyll configuration for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/appveyor.yml
    • Added AppVeyor CI configuration for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/bindings/python/BUILD
    • Added Bazel build file for Python bindings of the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/bindings/python/build_defs.bzl
    • Added Bazel build definitions for Python bindings of the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/bindings/python/google_benchmark/BUILD
    • Added Bazel build file for the google_benchmark Python package.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/bindings/python/google_benchmark/init.py
    • Added Python __init__.py for the google_benchmark package.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/bindings/python/google_benchmark/benchmark.cc
    • Added C++ implementation for Python bindings of the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/bindings/python/google_benchmark/example.py
    • Added example Python benchmark.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/bindings/python/pybind11.BUILD
    • Added Bazel build file for pybind11 in the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/bindings/python/python_headers.BUILD
    • Added Bazel build file for Python headers in the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/bindings/python/requirements.txt
    • Added Python requirements for benchmark bindings.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/cmake/AddCXXCompilerFlag.cmake
    • Added CMake module to add CXX compiler flags for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/cmake/CXXFeatureCheck.cmake
    • Added CMake module to check CXX features for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/cmake/Config.cmake.in
    • Added CMake config template for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/cmake/GetGitVersion.cmake
    • Added CMake module to get Git version for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/cmake/GoogleTest.cmake
    • Added CMake module for Google Test in the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/cmake/GoogleTest.cmake.in
    • Added CMake Google Test template for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/cmake/Modules/FindLLVMAr.cmake
    • Added CMake module to find LLVM ar for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/cmake/Modules/FindLLVMNm.cmake
    • Added CMake module to find LLVM nm for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/cmake/Modules/FindLLVMRanLib.cmake
    • Added CMake module to find LLVM ranlib for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/cmake/Modules/FindPFM.cmake
    • Added CMake module to find PFM library for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/cmake/benchmark.pc.in
    • Added pkg-config template for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/cmake/gnu_posix_regex.cpp
    • Added C++ file for GNU POSIX regex check in the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/cmake/llvm-toolchain.cmake
    • Added CMake LLVM toolchain configuration for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/cmake/posix_regex.cpp
    • Added C++ file for POSIX regex check in the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/cmake/split_list.cmake
    • Added CMake macro to split lists for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/cmake/std_regex.cpp
    • Added C++ file for std regex check in the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/cmake/steady_clock.cpp
    • Added C++ file for steady clock check in the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/cmake/thread_safety_attributes.cpp
    • Added C++ file for thread safety attributes check in the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/dependencies.md
    • Added dependencies documentation for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/docs/AssemblyTests.md
    • Added assembly tests documentation for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/docs/_config.yml
    • Added Jekyll configuration for benchmark documentation.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/docs/perf_counters.md
    • Added performance counters documentation for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/docs/random_interleaving.md
    • Added random interleaving documentation for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/docs/releasing.md
    • Added releasing documentation for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/docs/tools.md
    • Added tools documentation for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/include/benchmark/benchmark.h
    • Added public header for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/requirements.txt
    • Added Python requirements for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/setup.py
    • Added setup script for Python bindings of the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/CMakeLists.txt
    • Added CMake build file for benchmark source.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/arraysize.h
    • Added arraysize utility header for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/benchmark.cc
    • Added main implementation file for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/benchmark_api_internal.cc
    • Added internal API implementation for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/benchmark_api_internal.h
    • Added internal API header for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/benchmark_main.cc
    • Added main entry point for benchmark executables.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/benchmark_name.cc
    • Added benchmark name formatting implementation.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/benchmark_register.cc
    • Added benchmark registration implementation.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/benchmark_register.h
    • Added benchmark registration header.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/benchmark_runner.cc
    • Added benchmark runner implementation.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/benchmark_runner.h
    • Added benchmark runner header.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/check.h
    • Added check utility header for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/colorprint.cc
    • Added color printing implementation for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/colorprint.h
    • Added color printing header for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/commandlineflags.cc
    • Added command line flags implementation for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/commandlineflags.h
    • Added command line flags header for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/complexity.cc
    • Added complexity calculation implementation for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/complexity.h
    • Added complexity calculation header for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/counter.cc
    • Added counter implementation for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/counter.h
    • Added counter header for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/csv_reporter.cc
    • Added CSV reporter implementation for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/cycleclock.h
    • Added cycle clock header for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/internal_macros.h
    • Added internal macros for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/json_reporter.cc
    • Added JSON reporter implementation for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/log.h
    • Added logging header for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/mutex.h
    • Added mutex header for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/perf_counters.cc
    • Added performance counters implementation for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/perf_counters.h
    • Added performance counters header for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/re.h
    • Added regular expression header for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/reporter.cc
    • Added reporter implementation for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/sleep.cc
    • Added sleep implementation for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/sleep.h
    • Added sleep header for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/statistics.cc
    • Added statistics implementation for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/statistics.h
    • Added statistics header for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/string_util.cc
    • Added string utility implementation for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/string_util.h
    • Added string utility header for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/sysinfo.cc
    • Added system information implementation for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/sysinfo.h
    • Added system information header for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/thread_manager.h
    • Added thread manager header for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/thread_timer.h
    • Added thread timer header for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/benchmark/src/timers.h
    • Added timers header for the benchmark library.
  • packages/google-crc32c/google_crc32c/third_party/glog/.clang-format
    • Added Clang format configuration for the glog library.
  • packages/google-crc32c/google_crc32c/third_party/glog/.gitignore
    • Added gitignore for the glog library.
  • packages/google-crc32c/google_crc32c/third_party/glog/.travis.yml
    • Added Travis CI configuration for the glog library.
  • packages/google-crc32c/google_crc32c/third_party/glog/AUTHORS
    • Added authors file for the glog library.
  • packages/google-crc32c/google_crc32c/third_party/glog/CMakeLists.txt
    • Added CMake build file for the glog library.
  • packages/google-crc32c/google_crc32c/third_party/glog/COPYING
    • Added license file for the glog library.
  • packages/google-crc32c/google_crc32c/third_party/glog/README.md
    • Added README for the glog library.
  • packages/google-crc32c/google_crc32c/third_party/glog/src/CMakeLists.txt
    • Added CMake build file for glog source.
  • packages/google-crc32c/google_crc32c/third_party/glog/src/config.h.in
    • Added configuration template for glog.
  • packages/google-crc32c/google_crc32c/third_party/glog/src/glog/logging.h
    • Added logging header for glog.
  • packages/google-crc32c/google_crc32c/third_party/glog/src/glog/raw_logging.h
    • Added raw logging header for glog.
  • packages/google-crc32c/google_crc32c/third_party/glog/src/glog/stl_logging.h
    • Added STL logging header for glog.
  • packages/google-crc32c/google_crc32c/third_party/glog/src/glog/vlog_is_on.h
    • Added VLOG_IS_ON header for glog.
  • packages/google-crc32c/google_crc32c/third_party/glog/src/logging.cc
    • Added logging implementation for glog.
  • packages/google-crc32c/google_crc32c/third_party/glog/src/raw_logging.cc
    • Added raw logging implementation for glog.
  • packages/google-crc32c/google_crc32c/third_party/glog/src/stacktrace.cc
    • Added stacktrace implementation for glog.
  • packages/google-crc32c/google_crc32c/third_party/glog/src/stacktrace.h
    • Added stacktrace header for glog.
  • packages/google-crc32c/google_crc32c/third_party/glog/src/symbolize.cc
    • Added symbolize implementation for glog.
  • packages/google-crc32c/google_crc32c/third_party/glog/src/symbolize.h
    • Added symbolize header for glog.
  • packages/google-crc32c/google_crc32c/third_party/glog/src/utilities.cc
    • Added utilities implementation for glog.
  • packages/google-crc32c/google_crc32c/third_party/glog/src/utilities.h
    • Added utilities header for glog.
  • packages/google-crc32c/google_crc32c/third_party/glog/src/vlog_is_on.cc
    • Added VLOG_IS_ON implementation for glog.
  • packages/google-crc32c/google_crc32c/third_party/googletest/.gitignore
    • Added gitignore for googletest.
  • packages/google-crc32c/google_crc32c/third_party/googletest/.travis.yml
    • Added Travis CI configuration for googletest.
  • packages/google-crc32c/google_crc32c/third_party/googletest/CMakeLists.txt
    • Added CMake build file for googletest.
  • packages/google-crc32c/google_crc32c/third_party/googletest/CONTRIBUTORS
    • Added contributors file for googletest.
  • packages/google-crc32c/google_crc32c/third_party/googletest/LICENSE
    • Added license file for googletest.
  • packages/google-crc32c/google_crc32c/third_party/googletest/README.md
    • Added README for googletest.
  • packages/google-crc32c/google_crc32c/third_party/googletest/googlemock/CMakeLists.txt
    • Added CMake build file for googlemock.
  • packages/google-crc32c/google_crc32c/third_party/googletest/googlemock/README.md
    • Added README for googlemock.
  • packages/google-crc32c/google_crc32c/third_party/googletest/googlemock/include/gmock/gmock-actions.h
    • Added Googlemock actions header.
  • packages/google-crc32c/google_crc32c/third_party/googletest/googlemock/include/gmock/gmock-cardinality.h
    • Added Googlemock cardinality header.
  • packages/google-crc32c/google_crc32c/third_party/googletest/googlemock/include/gmock/gmock-function-mocker.h
    • Added Googlemock function mocker header.
  • packages/google-crc32c/google_crc32c/third_party/googletest/googlemock/include/gmock/gmock-matchers.h
    • Added Googlemock matchers header.
  • packages/google-crc32c/google_crc32c/third_party/googletest/googlemock/include/gmock/gmock-more-actions.h
    • Added Googlemock more actions header.
  • packages/google-crc32c/google_crc32c/third_party/googletest/googlemock/include/gmock/gmock-more-matchers.h
    • Added Googlemock more matchers header.
  • packages/google-crc32c/google_crc32c/third_party/googletest/googlemock/include/gmock/gmock-nice-strict.h
    • Added Googlemock nice strict header.
  • packages/google-crc32c/google_crc32c/third_party/googletest/googlemock/include/gmock/gmock-spec-builders.h
    • Added Googlemock spec builders header.
  • packages/google-crc32c/google_crc32c/third_party/googletest/googlemock/include/gmock/gmock.h
    • Added Googlemock main header.
  • packages/google-crc32c/google_crc32c/third_party/googletest/googlemock/src/gmock-all.cc
    • Added Googlemock all source.
  • packages/google-crc32c/google_crc32c/third_party/googletest/googlemock/src/gmock_main.cc
    • Added Googlemock main source.
  • packages/google-crc32c/google_crc32c/third_party/googletest/googletest/CMakeLists.txt
    • Added GTest CMake build file.
  • packages/google-crc32c/google_crc32c/third_party/googletest/googletest/README.md
    • Added GTest README.
  • packages/google-crc32c/google_crc32c/third_party/googletest/googletest/include/gtest/gtest-death-test.h
    • Added GTest death test header.
  • packages/google-crc32c/google_crc32c/third_party/googletest/googletest/include/gtest/gtest-message.h
    • Added GTest message header.
  • packages/google-crc32c/google_crc32c/third_party/googletest/googletest/include/gtest/gtest-param-test.h
    • Added GTest param test header.
  • packages/google-crc32c/google_crc32c/third_party/googletest/googletest/include/gtest/gtest-printers.h
    • Added GTest printers header.
  • packages/google-crc32c/google_crc32c/third_party/googletest/googletest/include/gtest/gtest-spi.h
    • Added GTest spi header.
  • packages/google-crc32c/google_crc32c/third_party/googletest/googletest/include/gtest/gtest-test-part.h
    • Added GTest test part header.
  • packages/google-crc32c/google_crc32c/third_party/googletest/googletest/include/gtest/gtest-typed-test.h
    • Added GTest typed test header.
  • packages/google-crc32c/google_crc32c/third_party/googletest/googletest/include/gtest/gtest.h
    • Added GTest main header.
  • packages/google-crc32c/google_crc32c/third_party/googletest/googletest/src/gtest-all.cc
    • Added GTest all source.
  • packages/google-crc32c/google_crc32c/third_party/googletest/googletest/src/gtest_main.cc
    • Added GTest main source.
Activity
  • parthea created this pull request.
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 migrates the google-crc32c package into this monorepo. The changes mostly consist of adding new files for the package, including configuration, CI scripts, and the source code as a submodule. My review focuses on ensuring the new package is set up correctly and consistently. I've found a few minor issues in configuration and documentation files, such as outdated URLs in templates and some confusing placeholders. Overall, the migration looks good, but these small fixes would improve clarity and user experience.

Note: Security Review is unavailable for this PR.

I am having trouble creating individual review comments. Click here to see my feedback.

packages/google-crc32c/.github/ISSUE_TEMPLATE/bug_report.md (13)

medium

The issue tracker URL points to the old python-crc32c repository. Since this package is being migrated into the google-cloud-python monorepo, this should be updated to point to the monorepo's issues page, possibly with a filter for this package, to avoid confusion for users.

  - Search the issues already opened: https://github.com/googleapis/google-cloud-python/issues?q=is%3Aissue+is%3Aopen+in%3Atitle+crc32c

packages/google-crc32c/.github/PULL_REQUEST_TEMPLATE.md (2)

medium

The link to create a new issue points to the old python-crc32c repository. This should be updated to point to the google-cloud-python monorepo's issue creation page to ensure new issues are filed in the correct repository.

- [ ] Make sure to open an issue as a [bug/issue](https://github.com/googleapis/google-cloud-python/issues/new/choose) before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea

packages/google-crc32c/.github/header-checker-lint.yml (15)

medium

This file is missing a final newline character. It's a good practice to end files with a newline to follow POSIX standards and avoid issues with some tools.

}

packages/google-crc32c/CHANGELOG.md (7)

medium

The release date for version 1.8.0 appears to be a placeholder set in the future (2025). Please update it to the correct release date or remove it if it's not yet determined. This also applies to other future-dated releases in this file.

packages/google-crc32c/CHANGELOG.md (20-30)

medium

This section for version 1.8.0 is a duplicate of the one on lines 7-18. Please remove this duplicated section to avoid confusion.

packages/google-crc32c/google_crc32c/CMakeLists.txt (143)

medium

The use of /arch:NOTYET is confusing. While it correctly causes the check_cxx_source_compiles to fail for MSVC when checking for ARM64 CRC32C support, it's not explicit. A clearer approach would be to add a specific check for the MSVC compiler and explicitly set HAVE_ARM64_CRC32C to FALSE in that case. This would improve the readability and maintainability of the build script.

@parthea parthea added the do not merge Indicates a pull request not ready for merge, due to either quality or timing. label Mar 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do not merge Indicates a pull request not ready for merge, due to either quality or timing.

Projects

None yet

Development

Successfully merging this pull request may close these issues.