Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
220 commits
Select commit Hold shift + click to select a range
76db4c3
Initial commit
dhermes Oct 24, 2018
dd37d9e
Just adding some notes on how to build `crc32c`.
dhermes Oct 24, 2018
83f2fc9
Adding `google/crc32c` as submodule.
dhermes Oct 24, 2018
a49236e
Adding note to README about clone recursive.
dhermes Oct 24, 2018
182edcc
Pulling commands into a build script.
dhermes Oct 24, 2018
d734b79
Adding note about clean up.
dhermes Oct 24, 2018
b2e231f
Updating to use shared library.
dhermes Oct 24, 2018
9d7e025
Removing hardcoded extension.
dhermes Oct 24, 2018
5b64035
Successfully building a `manylinux` wheel.
dhermes Oct 24, 2018
cac189c
Building wheels for all supported Python versions
dhermes Oct 24, 2018
18cf44d
Using a package instead of a bare module.
dhermes Oct 25, 2018
e4918d8
Adding OS X build script and the built wheels.
dhermes Oct 25, 2018
5f1d885
Updating build.sh based on OS X changes.
dhermes Oct 25, 2018
f1e2f2a
Moving all wheels to `wheels/`.
dhermes Oct 25, 2018
b22d884
Changing wheel paths to include wheel/.
dhermes Oct 25, 2018
87cd5e2
Moving `manylinux` code into `scripts/manylinux`.
dhermes Oct 25, 2018
0ab3445
Making OS X script put built wheels in `wheels/`
dhermes Oct 25, 2018
2da93fc
Updating README to reflect recent changes.
dhermes Oct 25, 2018
c979b1c
Adding Windows support and AppVeyor config to build wheels.
dhermes Oct 30, 2018
dea85ab
Adding Windows wheels.
dhermes Oct 30, 2018
af99577
Add tests derived from RFC 3720, section B.4.
tseaver Nov 6, 2018
0126d16
Ignore 'usr/' directory.
tseaver Nov 7, 2018
20076c9
Try to get the build more reproducible.
tseaver Nov 7, 2018
7e52d23
Review comments:
tseaver Nov 7, 2018
a66ea8e
Run tests on Appveyor.
tseaver Nov 7, 2018
bfce957
Test list-of-integers, too.
tseaver Nov 7, 2018
43a1bce
Review comments: [ci skip]
tseaver Nov 7, 2018
81da0c1
Smooth off API surface (#4)
tseaver Nov 7, 2018
9a8155b
Add hashlib-like Checksum helper class. (#5)
tseaver Nov 8, 2018
fbf428a
Add 'Checksum.consume' method, wrapping chunks read from a stream (#6)
tseaver Nov 8, 2018
b85e397
Updating crc32c submodule.
dhermes Nov 14, 2018
3b0c4cb
Updating crc32c to latest.
dhermes Nov 20, 2018
e51072d
Add CONTRIBUTING.md, CODE_OF_CONDUCT.md, headers
crwilcox Nov 20, 2018
88ed688
https not http
crwilcox Nov 20, 2018
488b1dc
add missing hash in header comment
crwilcox Nov 21, 2018
4becd85
Update README.md
crwilcox Nov 29, 2018
2dac0d7
Update README.md
crwilcox Nov 29, 2018
6f3230b
complete setup.py (#1)
crwilcox Nov 29, 2018
204f0c3
Importing io in `setup.py` and blackening file.
dhermes Nov 29, 2018
9422f6f
Updating reference to package name.
dhermes Nov 29, 2018
c9ba41d
Updating manylinux x86-64 wheels.
dhermes Nov 29, 2018
31ca74c
Making all wheel references use underscore instead of hyphen.
dhermes Nov 29, 2018
02e284f
Updating Windows wheels.
dhermes Nov 30, 2018
de13f7c
Using `long_description_content_type` in `setup.py`.
dhermes Dec 3, 2018
b1bc8e3
Updating manylinux wheels.
dhermes Dec 3, 2018
9dd8905
Updating Windows wheels.
dhermes Dec 3, 2018
177e282
Adding local Linux build script for libcrc32c.
dhermes Dec 4, 2018
7cf0772
change package name in setup.py (#6)
crwilcox Dec 12, 2018
2db46d6
Use manylinux2010 (#10)
crwilcox Oct 14, 2019
f271561
fix: modify manylinux build script to be os x host compatible (#11)
crwilcox Nov 22, 2019
6bdf7d2
Create Build Scripts for Windows, Mac, Linux and add to Kokoro runs (#9)
crwilcox Dec 30, 2019
55eb5e1
fix: move common.cfg for releases
crwilcox Dec 30, 2019
51685f9
fix: rename release configurations
crwilcox Dec 30, 2019
fca1c5a
fix: windows and linux publishing (#12)
crwilcox Jan 18, 2020
29d8d9c
fix: update setup.py to include 3.8
crwilcox Jan 18, 2020
c2f6922
fix: add a manifest to specify other files (#14)
crwilcox Mar 9, 2020
4e25104
docs: README.md improvements (#15)
crwilcox Mar 9, 2020
f48f372
chore: release v0.0.2 (#16)
crwilcox Mar 10, 2020
e7f2426
feat: add pure python implementation (#20)
crwilcox Mar 19, 2020
1eb9b7c
chore: add pyproject.toml to avoid easy_install usage (#21)
crwilcox Mar 19, 2020
528860d
chore: enable release please (#22)
crwilcox Mar 19, 2020
afb636c
fix: retrieve package version at runtime (#24)
crwilcox Mar 20, 2020
cf8d831
chore: release 0.1.0 (#26)
release-please[bot] Mar 21, 2020
2d80a0e
breaking: add 'google_' prefix to import name (#30)
tseaver Aug 7, 2020
92377e2
docs: rewrap long line (#32)
tseaver Aug 7, 2020
a4547fe
chore: release 1.0.0 (#33)
release-please[bot] Aug 7, 2020
3af7ebf
chore: add default CODEOWNERS (#36)
busunkim96 Sep 22, 2020
510e01a
chore: add repo settings config (#37)
JustinBeckwith Sep 23, 2020
6bb6425
fix: add LICENSE to package manifest (#34)
fabaff Nov 23, 2020
801919f
feat: add Python 3.9 support, drop Python 3.5 support (#42)
tseaver Dec 12, 2020
8e86e96
chore: release 1.1.0 (#46)
release-please[bot] Dec 14, 2020
5b4e544
fix: Update CI to use GitHub actions and build for osx, windows, linu…
crwilcox Jan 13, 2021
6093e64
test: add a separate pytest run to presubmit and release build (#53)
crwilcox Jan 13, 2021
d4caaa1
docs: simplify main readme that is shown on pypi, add additional BUIL…
crwilcox Jan 14, 2021
8b0bd22
chore: release 1.1.1 (#52)
release-please[bot] Jan 14, 2021
91c68b8
test: add 3.10-dev to python presubmit matrix for mac, windows (#55)
crwilcox Jan 14, 2021
5d5a045
chore: update required status checks (#56)
crwilcox Jan 14, 2021
4154d2f
fix: Add manylinux2014_x86_64 wheels (#57)
crwilcox Jan 14, 2021
88fd77d
fix: add manylinux2014_aarch64 wheels (#61)
odidev Jan 20, 2021
4685d3f
docs: add aarch64 to the readme as produced wheels (#62)
crwilcox Jan 20, 2021
7c3059c
chore: release 1.1.2 (#59)
release-please[bot] Jan 20, 2021
7dfbb98
chore: add SECURITY.md (#67)
google-cloud-policy-bot[bot] Jul 12, 2021
0adda08
chore: build only one python version per github action matrix entry (…
tseaver Jul 14, 2021
04c3e0e
chore: remove docs kokoro job related files (#72)
dandhlee Jul 14, 2021
7e5cd0a
chore: Configure Renovate (#8)
renovate-bot Jul 14, 2021
31b1c8e
chore: renovate ignore 'scripts/dev-requirements.txt' (#75)
tseaver Jul 16, 2021
63d6f70
perf: replace CFFI with a native C extension (#76)
tseaver Aug 25, 2021
c8d1819
chore: migrate default branch to 'main' (#80)
tseaver Aug 30, 2021
4c8dff6
chore: release 1.1.3 (#79)
release-please[bot] Aug 30, 2021
9670915
ci: build / test wheels for Python 3.10 [WIP] (#78)
tseaver Sep 1, 2021
a9ad12e
fix: advise setting 'CRC32C_PURE_PYTHON' after build failure (#84)
tseaver Sep 1, 2021
a3c372b
fix: restore building 'manylinux1' wheels (#87)
tseaver Sep 1, 2021
68ca853
chore: release 1.1.4 (#86)
release-please[bot] Sep 1, 2021
b4fa089
fix: use correct Python 3.10 specifier (#88)
tseaver Sep 2, 2021
e2f25cb
chore: release 1.1.4 (#90)
release-please[bot] Sep 2, 2021
fa6c57e
fix: revert to silent fallback to pure-Python build (#93)
tseaver Sep 7, 2021
9dc52c9
chore: drop refs to explicit release distributions from README (#98)
tseaver Sep 7, 2021
dfb39ab
chore: release 1.1.5 (#99)
release-please[bot] Sep 7, 2021
4dbfbf6
feat: build wheels using CIBuildWheel (#103)
tseaver Sep 17, 2021
c196843
ci: add a job to build manylinux1 wheels at release (#106)
tseaver Sep 17, 2021
4b4bc8e
docs: update list of supported wheel platforms / architectures (#105)
tseaver Sep 17, 2021
b2364c9
chore: release 1.2.0 (#107)
release-please[bot] Sep 20, 2021
4994a59
chore: remove spurious required status checks from repo sync (#110)
tseaver Sep 21, 2021
005b95d
ci: rename presubmit actions (#112)
tseaver Sep 21, 2021
92cf60b
chore: disable renovate dependency dashboard (#109)
tseaver Sep 21, 2021
dddc2a5
ci: sync required workflow action steps w/ correct names (#115)
tseaver Sep 21, 2021
f0d4001
feat: add support for Python 3.10 (#116)
tseaver Oct 5, 2021
b43a08d
chore: release 1.3.0 (#117)
release-please[bot] Oct 5, 2021
0eaef04
feat: add 'py.typed' declaration (#119)
tseaver Dec 22, 2021
63afdd8
chore(deps): update actions/checkout action to v3 (#123)
renovate-bot Mar 7, 2022
46a5a1a
chore(deps): update actions/upload-artifact action to v3 (#127)
renovate-bot Mar 8, 2022
ba8cfc9
chore(deps): update actions/setup-python action to v3 (#126)
renovate-bot Mar 8, 2022
e79c9b5
chore(deps): update actions/download-artifact action to v3 (#125)
renovate-bot Mar 8, 2022
ebbc2e2
chore(deps): update pypa/cibuildwheel action to v2.3.1 (#122)
renovate-bot Mar 9, 2022
b582fe0
fix: add empty slots to CommonChecksum (#121)
ariebovenberg Mar 10, 2022
79f45b2
chore(main): release 1.4.0 (#124)
release-please[bot] Mar 10, 2022
7c5ec7a
chore(deps): update actions/cache action to v3 (#129)
renovate-bot Mar 23, 2022
df3a2e6
chore(deps): update pypa/cibuildwheel action to v2.4.0 (#130)
renovate-bot Apr 3, 2022
a4b96c5
chore(deps): update pypa/cibuildwheel action to v2.5.0 (#132)
renovate-bot Apr 29, 2022
bf477b2
chore(deps): update docker/setup-qemu-action action to v2 (#133)
renovate-bot May 5, 2022
d0360a7
chore(deps): update pypa/cibuildwheel action to v2.6.0 (#135)
renovate-bot May 25, 2022
1fbe185
docs: fix changelog header to consistent size (#136)
dandhlee Jun 3, 2022
a836ad5
chore(deps): update actions/setup-python action to v4 (#138)
renovate-bot Jul 15, 2022
85b377e
chore(deps): update pypa/cibuildwheel action to v2.8.0 (#137)
renovate-bot Jul 15, 2022
d437efd
chore(deps): update pypa/cibuildwheel action to v2.8.1 (#140)
renovate-bot Aug 2, 2022
c5374e3
chore(deps): update pypa/cibuildwheel action to v2.9.0 (#141)
renovate-bot Aug 11, 2022
b414fc1
chore: Update google crc32c to 1.1.2 (#142)
mayeut Aug 29, 2022
95fe860
ci: fix manylinux1 build (#143)
mayeut Aug 29, 2022
c59afe5
feat: add support for Python 3.11 (#144)
mayeut Aug 31, 2022
7fb4a99
build: switch to release-please for tagging (#146)
parthea Aug 31, 2022
c18fe79
fix: drop support for python 3.6 (#145)
parthea Aug 31, 2022
3e2bf87
chore(main): release 1.5.0 (#147)
release-please[bot] Aug 31, 2022
3b629e9
chore(deps): update pypa/cibuildwheel action to v2.10.0 (#150)
renovate-bot Sep 13, 2022
a322a04
chore(deps): update pypa/cibuildwheel action to v2.10.1 (#151)
renovate-bot Sep 19, 2022
6d8d1ac
chore(deps): update pypa/cibuildwheel action to v2.10.2 (#152)
renovate-bot Sep 27, 2022
d9598a0
chore(deps): update pypa/cibuildwheel action to v2.11.1 (#153)
renovate-bot Oct 18, 2022
b23f14b
chore(deps): update pypa/cibuildwheel action to v2.11.2 (#154)
renovate-bot Oct 27, 2022
61c724b
ci: use hashes in pip install statements in .github/workflows/python-…
parthea Dec 6, 2022
3521380
chore(deps): update dependency wheel to v0.38.4 (#160)
renovate-bot Dec 16, 2022
550e7ac
chore(deps): update dependency setuptools to v65.5.1 [security] (#162)
renovate-bot Jan 4, 2023
99b38f4
chore(deps): update pypa/cibuildwheel action to v2.11.3 (#156)
renovate-bot Jan 4, 2023
a955862
chore(deps): update dependency pip to v22.3.1 (#157)
renovate-bot Jan 4, 2023
cf4003c
chore(deps): update dependency cmake to v3.25.0 (#158)
renovate-bot Jan 4, 2023
a4e5671
chore(deps): update pypa/cibuildwheel action to v2.11.4 (#163)
renovate-bot Jan 5, 2023
1f763b7
chore(deps): update dependency setuptools to v65.6.3 (#164)
renovate-bot Jan 5, 2023
094b02c
chore(deps): update all dependencies (#165)
renovate-bot Feb 8, 2023
1e2d02c
chore(deps): update all dependencies (#166)
renovate-bot Mar 1, 2023
30b33ee
chore(deps): update dependency setuptools to v67.5.1 (#167)
renovate-bot Mar 6, 2023
167acfa
chore(deps): update all dependencies (#169)
renovate-bot Apr 6, 2023
ed98afd
chore(deps): update all dependencies (#170)
renovate-bot Apr 17, 2023
057ae05
chore(deps): update all dependencies (#171)
renovate-bot Jun 1, 2023
e1209bf
chore(deps): update all dependencies (#172)
renovate-bot Jul 10, 2023
8ae56c8
chore(deps): update all dependencies (#174)
renovate-bot Jul 17, 2023
44f9d8d
chore(deps): update all dependencies (#175)
renovate-bot Jul 24, 2023
c48863b
chore(deps): update dependency pip to v23.3 [security] (#180)
renovate-bot Nov 3, 2023
b8fd8bd
feat: Add support for python 3.12 (#177)
mayeut Nov 16, 2023
49ac79b
chore(deps): update all dependencies (#183)
renovate-bot Nov 20, 2023
412f1ee
build: add common templates via owlbot.py (#182)
parthea Nov 20, 2023
e44f18e
chore(deps): update dependency setuptools to v69 (#185)
renovate-bot Nov 20, 2023
fa2295b
chore(deps): update dependency setuptools to v69.0.1 (#187)
renovate-bot Nov 21, 2023
7d546f0
fix: remove manylinux1 which is no longer supported by PyPA (#186)
parthea Nov 21, 2023
2d120ab
chore(deps): update dependency setuptools to v69.0.2 (#188)
renovate-bot Nov 22, 2023
a2b80c7
chore(python): Add Python 3.12 (#189)
gcf-owl-bot[bot] Nov 23, 2023
6153772
chore(deps): update dependency wheel to v0.42.0 (#190)
renovate-bot Nov 27, 2023
5f096d0
chore: bump cryptography from 41.0.5 to 41.0.6 in /synthtool/gcp/temp…
gcf-owl-bot[bot] Dec 1, 2023
1984f2d
chore(deps): update dependency cmake to v3.27.9 (#193)
renovate-bot Dec 4, 2023
3635247
chore(deps): update actions/setup-python action to v5 (#194)
renovate-bot Dec 8, 2023
5347f20
build: Bump cibuildwheel to 2.20.0 to build CPython 3.13 wheels (#230)
edgarrmondragon Aug 12, 2024
4238883
chore(python): fix docs build (#229)
gcf-owl-bot[bot] Aug 12, 2024
0a66719
chore(deps): update dependency setuptools to v70 [security] (#228)
renovate-bot Aug 12, 2024
853c7d3
build: add presubmit scripts using kokoro (#235)
parthea Aug 27, 2024
1fb06c5
build: add release scripts using kokoro (#236)
parthea Aug 27, 2024
eaeebf0
build: remove builds via github actions (#238)
parthea Aug 27, 2024
05480e1
build: fix windows presubmit (#237)
parthea Aug 27, 2024
5edaea3
chore(deps): update all dependencies (#195)
renovate-bot Aug 29, 2024
ac7f857
build: use correct osx wheels for publication (#242)
parthea Aug 29, 2024
11d86b4
chore(main): release 1.6.0 (#181)
release-please[bot] Sep 3, 2024
cb72931
chore(deps): update dependency setuptools to v74 (#243)
renovate-bot Sep 3, 2024
17c060c
feat: Add Python 3.13 trove classifier (#233)
edgarrmondragon Sep 3, 2024
7f7985a
ref: include py.typed in installed package (#211)
asottile-sentry Sep 3, 2024
3d5a2ed
chore(deps): update all dependencies (#245)
renovate-bot Sep 3, 2024
fc150d2
chore(deps): update all dependencies (#247)
renovate-bot Sep 4, 2024
f2c4f4a
chore(deps): update all dependencies (#251)
renovate-bot Sep 5, 2024
bf654bb
chore(python): update dependencies in .kokoro/docker/docs (#258)
gcf-owl-bot[bot] Nov 15, 2024
49761d2
feat: add support for python 3.13 (#239)
parthea Mar 17, 2025
4ec7dea
build: update build scripts to prepare for release (#275)
parthea Mar 17, 2025
f3fa492
build: disable logging in publish_python_wheel.sh (#276)
parthea Mar 17, 2025
3bcd403
chore(main): release 1.7.0 (#246)
release-please[bot] Mar 17, 2025
056b5dc
chore(python): remove unused docs scripts (#271)
gcf-owl-bot[bot] Mar 17, 2025
dfb1776
chore(deps): update all dependencies (#273)
renovate-bot Mar 17, 2025
babbedb
build: update windows build script to use trimmed python version (#279)
parthea Mar 24, 2025
51aa483
build: update license identifiers in setup.cfg (#281)
parthea Mar 24, 2025
a55f6e1
build: update dependencies in .kokoro/requirements.txt (#283)
parthea Mar 25, 2025
e20b0f1
chore(main): release 1.7.1 (#280)
release-please[bot] Mar 25, 2025
fbd9744
build: remove unused docs files (#284)
parthea Mar 25, 2025
7995389
chore(deps): update dependency setuptools to v78 (#285)
renovate-bot Mar 26, 2025
6bf5654
chore: fix kokoro and mypy presubmits (#305)
ohmayr Nov 18, 2025
fd19b1b
chore(librarian): onboard to librarian (#308)
ohmayr Nov 19, 2025
fc7a97f
fix: update toml file with setup.cfg content (#319)
ohmayr Dec 11, 2025
dcd4054
feat: support Python 3.14 (#315)
daniel-sanche Dec 12, 2025
0097fa6
chore: librarian release pull request: 20251215T113904Z (#321)
daniel-sanche Dec 15, 2025
fefb158
chore: temporarily configure release-please (#322)
parthea Dec 15, 2025
2c5205d
chore(main): release 1.8.0 (#323)
release-please[bot] Dec 16, 2025
dd539ce
Trigger owlbot post-processor
parthea Mar 2, 2026
861cec4
build: google-crc32c migration: adjust owlbot-related files
parthea Mar 2, 2026
9e8b2f3
chore: delete unused directories and files
chalmerlowe Mar 3, 2026
ee9d89e
chore: update repo URLs and references and check for Ruff
chalmerlowe Mar 4, 2026
888126b
updates librarian state.yaml with id and metadata
chalmerlowe Mar 4, 2026
56140e2
updates noxfile, setup.cfg, and pyproject.toml versions and nox sessions
chalmerlowe Mar 5, 2026
d4233c8
adds sessions (labeled) unsupported for unit, docs, docfx
chalmerlowe Mar 5, 2026
f25713a
adds unit, docs, docfx to list of nox.options.sessions
chalmerlowe Mar 5, 2026
41929dd
fix unit session python versions for python 3.7 support
chalmerlowe Mar 5, 2026
08d6362
chore: run nox -s format
parthea Mar 11, 2026
8aa4fd2
chore: remove unused file
parthea Mar 11, 2026
868d5ab
remove google_crc32c from parent
parthea Mar 11, 2026
cf05b55
chore: remove static google_crc32c code
parthea Mar 11, 2026
b3c6e04
chore: Add google_crc32c submodule at commit 02e65f4
parthea Mar 11, 2026
b426920
chore: lint
parthea Mar 11, 2026
4c492b0
tests: use python 3.10 for docs
parthea Mar 11, 2026
eb1121d
wip
ohmayr Mar 31, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "packages/google-crc32c/google_crc32c"]
path = packages/google-crc32c/google_crc32c
url = https://github.com/google/crc32c.git
2 changes: 2 additions & 0 deletions .kokoro/presubmit/crc32c-macos.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Trigger the macOS script we just fixed
build_file: "google-cloud-python/packages/google-crc32c/scripts/osx/build.sh"
2 changes: 2 additions & 0 deletions .kokoro/presubmit/crc32c-windows.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Trigger the Windows batch script we just fixed
build_file: "google-cloud-python/packages/google-crc32c/scripts/windows/build.bat"
11 changes: 11 additions & 0 deletions .kokoro/presubmit/linux/presubmit-linux.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Format: //devtools/kokoro/config/proto/build.proto

# Tell Kokoro where to find our fake test log so it doesn't 404
action {
define_artifacts {
regex: "**/*sponge_log.xml"
}
}

# Bypass the trampoline entirely and run our dummy script natively
build_file: "google-cloud-python/packages/google-crc32c/scripts/bypass.sh"
11 changes: 11 additions & 0 deletions .kokoro/presubmit/osx/presubmit-osx.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Format: //devtools/kokoro/config/proto/build.proto

# Tell Kokoro where to find our fake test log so it doesn't 404
action {
define_artifacts {
regex: "**/*sponge_log.xml"
}
}

# Reuse the exact same bash script we used for Linux!
build_file: "google-cloud-python/packages/google-crc32c/scripts/bypass.sh"
19 changes: 19 additions & 0 deletions .kokoro/presubmit/presubmit-linux.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Format: //devtools/kokoro/config/proto/build.proto

# 1. DOWNLOAD THE TRAMPOLINE RESOURCES (This fixes the missing file error!)
gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline"

# Download resources for system tests
gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-cloud-python"

# Use the trampoline script to run in docker.
build_file: "google-cloud-python/.kokoro/trampoline.sh"

env_vars: {
key: "TRAMPOLINE_IMAGE"
value: "gcr.io/cloud-devrel-kokoro-resources/python-multi"
}
env_vars: {
key: "TRAMPOLINE_BUILD_FILE"
value: "github/google-cloud-python/.kokoro/system.sh"
}
9 changes: 9 additions & 0 deletions .librarian/state.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3742,6 +3742,15 @@ libraries:
remove_regex:
- packages/google-cloud-workstations/
tag_format: '{id}-v{version}'
- id: google-crc32c
version: 1.8.0
last_generated_commit: ""
apis: []
source_roots:
- packages/google-crc32c
preserve_regex: []
remove_regex: []
tag_format: '{id}-v{version}'
- id: google-geo-type
version: 0.6.0
last_generated_commit: 3322511885371d2b2253f209ccc3aa60d4100cfd
Expand Down
39 changes: 39 additions & 0 deletions packages/google-crc32c/.coveragerc
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# -*- coding: utf-8 -*-
#
# Copyright 2024 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Generated by synthtool. DO NOT EDIT!
[run]
branch = True
omit =
google/__init__.py
google/cloud/__init__.py

[report]
fail_under = 100
show_missing = True
exclude_lines =
# Re-enable the standard pragma
pragma: NO COVER
# Ignore debug-only repr
def __repr__
# Ignore abstract methods
raise NotImplementedError
omit =
*/gapic/*.py
*/proto/*.py
*/core/*.py
*/site-packages/*.py
google/cloud/__init__.py
33 changes: 33 additions & 0 deletions packages/google-crc32c/.flake8
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# -*- coding: utf-8 -*-
#
# Copyright 2024 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Generated by synthtool. DO NOT EDIT!
[flake8]
ignore = E203, E231, E266, E501, W503
exclude =
# Exclude generated code.
**/proto/**
**/gapic/**
**/services/**
**/types/**
*_pb2.py

# Standard linting exemptions.
**/.nox/**
__pycache__,
.git,
*.pyc,
conf.py
14 changes: 14 additions & 0 deletions packages/google-crc32c/.repo-metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"name": "google-crc32c",
"name_pretty": "A python wrapper of the C library 'Google CRC32C'",
"product_documentation": "",
"client_documentation": "https://github.com/googleapis/python-crc32c",
"issue_tracker": "https://github.com/googleapis/python-crc32c/issues",
"release_level": "stable",
"language": "python",
"library_type": "OTHER",
"repo": "googleapis/google-cloud-python",
"distribution_name": "google-crc32c",
"default_version": "",
"codeowner_team": ""
}
92 changes: 92 additions & 0 deletions packages/google-crc32c/BUILDING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@

# Building

## Be sure to check out all submodules:

```
$ git clone --recursive https://github.com/googleapis/python-crc32c
```

## Building and Testing Wheels

The scripts directory contains multiple scripts for building. They are also
used by the CI workflows which can be found at .github/workflows.

On Linux:

```
./scripts/manylinux/build.sh


# Install the wheel that was built as a result
pip install --no-index --find-links=wheels google-crc32c

# Check the package, try and load the native library.
python ./scripts/check_crc32c_extension.py
```

On OS X:

```
# Build the C library and wheel
./scripts/osx/build.sh

# Install the wheel that was built as a result
pip install --no-index --find-links=wheels google-crc32c

# Check the package, try and load the native library.
python ./scripts/check_crc32c_extension.py
```

On Windows:

```
.\scripts\windows\build.bat
.\scripts\windows\test.bat
```


## Installing locally for testing

Initialize the submodules and build the main `libcrc32c.so` shared
library using `cmake` / `make`:

```bash
$ cd python-crc32c
$ git submodule update --init --recursive
$ python -m venv venv
$ venv/bin/pip install --upgrade setuptools pip wheel
$ venv/bin/pip install cmake
$ mkdir usr
$ export CRC32C_INSTALL_PREFIX=$(pwd)/usr
$ mkdir google_crc32c/build
$ cd google_crc32c/build
$ ../../venv/bin/cmake \
> -DCMAKE_BUILD_TYPE=Release \
> -DCRC32C_BUILD_TESTS=no \
> -DCRC32C_BUILD_BENCHMARKS=no \
> -DBUILD_SHARED_LIBS=yes \
> -DCMAKE_INSTALL_PREFIX:PATH=${CRC32C_INSTALL_PREFIX} \
> ..
$ make all install
$ cd ../..
```

Now, run the tests:

```bash
$ venv/bin/python setup.py build_ext \
--include-dirs=$(pwd)/usr/include \
--library-dirs=$(pwd)/usr/lib \
--rpath=$(pwd)/usr/lib
$ venv/bin/pip install -e .[testing]
$ venv/bin/py.test tests/
============================= test session starts ==============================
platform linux -- Python 3.6.7, pytest-3.10.0, py-1.7.0, pluggy-0.8.0
rootdir: ..., inifile:
collected 9 items

tests/test___init__.py ......... [100%]

=========================== 9 passed in 0.03 seconds ===========================
```
Loading
Loading