Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
209 commits
Select commit Hold shift + click to select a range
161e97f
Initial commit
dhermes Oct 24, 2018
b6ddc31
Just adding some notes on how to build `crc32c`.
dhermes Oct 24, 2018
48f50c5
Adding `google/crc32c` as submodule.
dhermes Oct 24, 2018
1b70717
Adding note to README about clone recursive.
dhermes Oct 24, 2018
d05b6d8
Pulling commands into a build script.
dhermes Oct 24, 2018
d1d8057
Adding note about clean up.
dhermes Oct 24, 2018
dad36cf
Updating to use shared library.
dhermes Oct 24, 2018
62f71b6
Removing hardcoded extension.
dhermes Oct 24, 2018
39ba9b1
Successfully building a `manylinux` wheel.
dhermes Oct 24, 2018
2aefa55
Building wheels for all supported Python versions
dhermes Oct 24, 2018
1be968d
Using a package instead of a bare module.
dhermes Oct 25, 2018
97678b3
Adding OS X build script and the built wheels.
dhermes Oct 25, 2018
b3ea7ca
Updating build.sh based on OS X changes.
dhermes Oct 25, 2018
04891d4
Moving all wheels to `wheels/`.
dhermes Oct 25, 2018
21952e7
Changing wheel paths to include wheel/.
dhermes Oct 25, 2018
479db1b
Moving `manylinux` code into `scripts/manylinux`.
dhermes Oct 25, 2018
52f4382
Making OS X script put built wheels in `wheels/`
dhermes Oct 25, 2018
980e999
Updating README to reflect recent changes.
dhermes Oct 25, 2018
092fc95
Adding Windows support and AppVeyor config to build wheels.
dhermes Oct 30, 2018
d97b9c8
Adding Windows wheels.
dhermes Oct 30, 2018
8424a95
Add tests derived from RFC 3720, section B.4.
tseaver Nov 6, 2018
680d921
Ignore 'usr/' directory.
tseaver Nov 7, 2018
4dc252f
Try to get the build more reproducible.
tseaver Nov 7, 2018
31eacc8
Review comments:
tseaver Nov 7, 2018
3559c73
Run tests on Appveyor.
tseaver Nov 7, 2018
cae20fd
Test list-of-integers, too.
tseaver Nov 7, 2018
b483c3c
Review comments: [ci skip]
tseaver Nov 7, 2018
eae3e80
Merge pull request #3 from dhermes/add-tests-from-rfc-3720
tseaver Nov 7, 2018
6811afb
Smooth off API surface (#4)
tseaver Nov 7, 2018
92970de
Add hashlib-like Checksum helper class. (#5)
tseaver Nov 8, 2018
45a2fce
Add 'Checksum.consume' method, wrapping chunks read from a stream (#6)
tseaver Nov 8, 2018
8f6f669
Updating crc32c submodule.
dhermes Nov 14, 2018
052a415
Merge pull request #8 from dhermes/update-submodule
dhermes Nov 14, 2018
be08b7d
Updating crc32c to latest.
dhermes Nov 20, 2018
74c25e7
Add CONTRIBUTING.md, CODE_OF_CONDUCT.md, headers
crwilcox Nov 20, 2018
917209c
https not http
crwilcox Nov 20, 2018
125b4c8
Merge pull request #10 from dhermes/headers-coc-contributing
crwilcox Nov 20, 2018
db6c327
add missing hash in header comment
crwilcox Nov 21, 2018
9ee68e1
Update README.md
crwilcox Nov 29, 2018
a007572
Update README.md
crwilcox Nov 29, 2018
91b9d1a
complete setup.py (#1)
crwilcox Nov 29, 2018
aec74b6
Importing io in `setup.py` and blackening file.
dhermes Nov 29, 2018
dc7cc70
Updating reference to package name.
dhermes Nov 29, 2018
d619ddb
Updating manylinux x86-64 wheels.
dhermes Nov 29, 2018
d90a779
Making all wheel references use underscore instead of hyphen.
dhermes Nov 29, 2018
b023502
Updating Windows wheels.
dhermes Nov 30, 2018
4d8f69a
Using `long_description_content_type` in `setup.py`.
dhermes Dec 3, 2018
f517e1b
Updating manylinux wheels.
dhermes Dec 3, 2018
7ac5672
Updating Windows wheels.
dhermes Dec 3, 2018
a937006
Adding local Linux build script for libcrc32c.
dhermes Dec 4, 2018
9d38c42
change package name in setup.py (#6)
crwilcox Dec 12, 2018
6dab597
Use manylinux2010 (#10)
crwilcox Oct 14, 2019
cd759ba
fix: modify manylinux build script to be os x host compatible (#11)
crwilcox Nov 22, 2019
09ddbde
Create Build Scripts for Windows, Mac, Linux and add to Kokoro runs (#9)
crwilcox Dec 30, 2019
83502a4
fix: move common.cfg for releases
crwilcox Dec 30, 2019
9b97014
fix: rename release configurations
crwilcox Dec 30, 2019
9769272
fix: windows and linux publishing (#12)
crwilcox Jan 18, 2020
1c941b1
fix: update setup.py to include 3.8
crwilcox Jan 18, 2020
7512b03
fix: add a manifest to specify other files (#14)
crwilcox Mar 9, 2020
d7b60eb
docs: README.md improvements (#15)
crwilcox Mar 9, 2020
7b85aa5
chore: release v0.0.2 (#16)
crwilcox Mar 10, 2020
89911ec
feat: add pure python implementation (#20)
crwilcox Mar 19, 2020
126e109
chore: add pyproject.toml to avoid easy_install usage (#21)
crwilcox Mar 19, 2020
712ecc7
chore: enable release please (#22)
crwilcox Mar 19, 2020
9692bc6
fix: retrieve package version at runtime (#24)
crwilcox Mar 20, 2020
c25e1e2
chore: release 0.1.0 (#26)
release-please[bot] Mar 21, 2020
01e869f
breaking: add 'google_' prefix to import name (#30)
tseaver Aug 7, 2020
816bc35
docs: rewrap long line (#32)
tseaver Aug 7, 2020
e87cf9a
chore: release 1.0.0 (#33)
release-please[bot] Aug 7, 2020
ec3465f
chore: add default CODEOWNERS (#36)
busunkim96 Sep 22, 2020
6803fb4
chore: add repo settings config (#37)
JustinBeckwith Sep 23, 2020
75ce135
fix: add LICENSE to package manifest (#34)
fabaff Nov 23, 2020
e1cf6fc
feat: add Python 3.9 support, drop Python 3.5 support (#42)
tseaver Dec 12, 2020
b197897
chore: release 1.1.0 (#46)
release-please[bot] Dec 14, 2020
b66a0fc
fix: Update CI to use GitHub actions and build for osx, windows, linu…
crwilcox Jan 13, 2021
f987a1e
test: add a separate pytest run to presubmit and release build (#53)
crwilcox Jan 13, 2021
1dd1e16
docs: simplify main readme that is shown on pypi, add additional BUIL…
crwilcox Jan 14, 2021
74838d5
chore: release 1.1.1 (#52)
release-please[bot] Jan 14, 2021
be5974d
test: add 3.10-dev to python presubmit matrix for mac, windows (#55)
crwilcox Jan 14, 2021
9528f57
chore: update required status checks (#56)
crwilcox Jan 14, 2021
4591d0c
fix: Add manylinux2014_x86_64 wheels (#57)
crwilcox Jan 14, 2021
14c1fb5
fix: add manylinux2014_aarch64 wheels (#61)
odidev Jan 20, 2021
7d3cf58
docs: add aarch64 to the readme as produced wheels (#62)
crwilcox Jan 20, 2021
1b943ca
chore: release 1.1.2 (#59)
release-please[bot] Jan 20, 2021
f97614c
chore: add SECURITY.md (#67)
google-cloud-policy-bot[bot] Jul 12, 2021
485cceb
chore: build only one python version per github action matrix entry (…
tseaver Jul 14, 2021
aadf8e9
chore: remove docs kokoro job related files (#72)
dandhlee Jul 14, 2021
3ced585
chore: Configure Renovate (#8)
renovate-bot Jul 14, 2021
2125c2b
chore: renovate ignore 'scripts/dev-requirements.txt' (#75)
tseaver Jul 16, 2021
fa8e174
perf: replace CFFI with a native C extension (#76)
tseaver Aug 25, 2021
6c85470
chore: migrate default branch to 'main' (#80)
tseaver Aug 30, 2021
6283180
chore: release 1.1.3 (#79)
release-please[bot] Aug 30, 2021
9fbf938
ci: build / test wheels for Python 3.10 [WIP] (#78)
tseaver Sep 1, 2021
357e32f
fix: advise setting 'CRC32C_PURE_PYTHON' after build failure (#84)
tseaver Sep 1, 2021
356444a
fix: restore building 'manylinux1' wheels (#87)
tseaver Sep 1, 2021
6835b41
chore: release 1.1.4 (#86)
release-please[bot] Sep 1, 2021
842f8c0
fix: use correct Python 3.10 specifier (#88)
tseaver Sep 2, 2021
9a0595a
chore: release 1.1.4 (#90)
release-please[bot] Sep 2, 2021
15df43d
fix: revert to silent fallback to pure-Python build (#93)
tseaver Sep 7, 2021
429fc9e
chore: drop refs to explicit release distributions from README (#98)
tseaver Sep 7, 2021
3288662
chore: release 1.1.5 (#99)
release-please[bot] Sep 7, 2021
0479726
feat: build wheels using CIBuildWheel (#103)
tseaver Sep 17, 2021
a4a502a
ci: add a job to build manylinux1 wheels at release (#106)
tseaver Sep 17, 2021
351ee9f
docs: update list of supported wheel platforms / architectures (#105)
tseaver Sep 17, 2021
20e18db
chore: release 1.2.0 (#107)
release-please[bot] Sep 20, 2021
d57b560
chore: remove spurious required status checks from repo sync (#110)
tseaver Sep 21, 2021
48e2baa
ci: rename presubmit actions (#112)
tseaver Sep 21, 2021
fb980a4
chore: disable renovate dependency dashboard (#109)
tseaver Sep 21, 2021
5978d96
ci: sync required workflow action steps w/ correct names (#115)
tseaver Sep 21, 2021
f7bfdd0
feat: add support for Python 3.10 (#116)
tseaver Oct 5, 2021
8c17489
chore: release 1.3.0 (#117)
release-please[bot] Oct 5, 2021
05d63ad
feat: add 'py.typed' declaration (#119)
tseaver Dec 22, 2021
072a693
chore(deps): update actions/checkout action to v3 (#123)
renovate-bot Mar 7, 2022
2d1bfbc
chore(deps): update actions/upload-artifact action to v3 (#127)
renovate-bot Mar 8, 2022
0e38153
chore(deps): update actions/setup-python action to v3 (#126)
renovate-bot Mar 8, 2022
534f2f1
chore(deps): update actions/download-artifact action to v3 (#125)
renovate-bot Mar 8, 2022
a07ab64
chore(deps): update pypa/cibuildwheel action to v2.3.1 (#122)
renovate-bot Mar 9, 2022
9adf24b
fix: add empty slots to CommonChecksum (#121)
ariebovenberg Mar 10, 2022
6a8f0d9
chore(main): release 1.4.0 (#124)
release-please[bot] Mar 10, 2022
d35bdde
chore(deps): update actions/cache action to v3 (#129)
renovate-bot Mar 23, 2022
4b97c37
chore(deps): update pypa/cibuildwheel action to v2.4.0 (#130)
renovate-bot Apr 3, 2022
1e78175
chore(deps): update pypa/cibuildwheel action to v2.5.0 (#132)
renovate-bot Apr 29, 2022
f01ad84
chore(deps): update docker/setup-qemu-action action to v2 (#133)
renovate-bot May 5, 2022
a27b6be
chore(deps): update pypa/cibuildwheel action to v2.6.0 (#135)
renovate-bot May 25, 2022
c36dab2
docs: fix changelog header to consistent size (#136)
dandhlee Jun 3, 2022
50b65ef
chore(deps): update actions/setup-python action to v4 (#138)
renovate-bot Jul 15, 2022
e69893d
chore(deps): update pypa/cibuildwheel action to v2.8.0 (#137)
renovate-bot Jul 15, 2022
5f6ef95
chore(deps): update pypa/cibuildwheel action to v2.8.1 (#140)
renovate-bot Aug 2, 2022
d0c7b4f
chore(deps): update pypa/cibuildwheel action to v2.9.0 (#141)
renovate-bot Aug 11, 2022
c610ea1
chore: Update google crc32c to 1.1.2 (#142)
mayeut Aug 29, 2022
8b84537
ci: fix manylinux1 build (#143)
mayeut Aug 29, 2022
01f5edb
feat: add support for Python 3.11 (#144)
mayeut Aug 31, 2022
021089b
build: switch to release-please for tagging (#146)
parthea Aug 31, 2022
568265d
fix: drop support for python 3.6 (#145)
parthea Aug 31, 2022
111752d
chore(main): release 1.5.0 (#147)
release-please[bot] Aug 31, 2022
452b185
chore(deps): update pypa/cibuildwheel action to v2.10.0 (#150)
renovate-bot Sep 13, 2022
ad93e5a
chore(deps): update pypa/cibuildwheel action to v2.10.1 (#151)
renovate-bot Sep 19, 2022
cb0c3a5
chore(deps): update pypa/cibuildwheel action to v2.10.2 (#152)
renovate-bot Sep 27, 2022
fac53d7
chore(deps): update pypa/cibuildwheel action to v2.11.1 (#153)
renovate-bot Oct 18, 2022
84444d9
chore(deps): update pypa/cibuildwheel action to v2.11.2 (#154)
renovate-bot Oct 27, 2022
499f1fd
ci: use hashes in pip install statements in .github/workflows/python-…
parthea Dec 6, 2022
88dc180
chore(deps): update dependency wheel to v0.38.4 (#160)
renovate-bot Dec 16, 2022
12b1f99
chore(deps): update dependency setuptools to v65.5.1 [security] (#162)
renovate-bot Jan 4, 2023
46140fe
chore(deps): update pypa/cibuildwheel action to v2.11.3 (#156)
renovate-bot Jan 4, 2023
3e1454c
chore(deps): update dependency pip to v22.3.1 (#157)
renovate-bot Jan 4, 2023
d0096d1
chore(deps): update dependency cmake to v3.25.0 (#158)
renovate-bot Jan 4, 2023
583c2a3
chore(deps): update pypa/cibuildwheel action to v2.11.4 (#163)
renovate-bot Jan 5, 2023
f749ea6
chore(deps): update dependency setuptools to v65.6.3 (#164)
renovate-bot Jan 5, 2023
5d486de
chore(deps): update all dependencies (#165)
renovate-bot Feb 8, 2023
91103e6
chore(deps): update all dependencies (#166)
renovate-bot Mar 1, 2023
c363e04
chore(deps): update dependency setuptools to v67.5.1 (#167)
renovate-bot Mar 6, 2023
5e906ea
chore(deps): update all dependencies (#169)
renovate-bot Apr 6, 2023
780e83f
chore(deps): update all dependencies (#170)
renovate-bot Apr 17, 2023
65f6cc2
chore(deps): update all dependencies (#171)
renovate-bot Jun 1, 2023
ea88023
chore(deps): update all dependencies (#172)
renovate-bot Jul 10, 2023
519947e
chore(deps): update all dependencies (#174)
renovate-bot Jul 17, 2023
0e7be43
chore(deps): update all dependencies (#175)
renovate-bot Jul 24, 2023
974c1da
chore(deps): update dependency pip to v23.3 [security] (#180)
renovate-bot Nov 3, 2023
17fe18d
feat: Add support for python 3.12 (#177)
mayeut Nov 16, 2023
f9ac474
chore(deps): update all dependencies (#183)
renovate-bot Nov 20, 2023
99e440c
build: add common templates via owlbot.py (#182)
parthea Nov 20, 2023
47437c6
chore(deps): update dependency setuptools to v69 (#185)
renovate-bot Nov 20, 2023
3a6f687
chore(deps): update dependency setuptools to v69.0.1 (#187)
renovate-bot Nov 21, 2023
4d0bb5f
fix: remove manylinux1 which is no longer supported by PyPA (#186)
parthea Nov 21, 2023
bdae79d
chore(deps): update dependency setuptools to v69.0.2 (#188)
renovate-bot Nov 22, 2023
24dd9ef
chore(python): Add Python 3.12 (#189)
gcf-owl-bot[bot] Nov 23, 2023
b5cf449
chore(deps): update dependency wheel to v0.42.0 (#190)
renovate-bot Nov 27, 2023
73f75f7
chore: bump cryptography from 41.0.5 to 41.0.6 in /synthtool/gcp/temp…
gcf-owl-bot[bot] Dec 1, 2023
d8bd1e0
chore(deps): update dependency cmake to v3.27.9 (#193)
renovate-bot Dec 4, 2023
d0ee791
chore(deps): update actions/setup-python action to v5 (#194)
renovate-bot Dec 8, 2023
731061b
build: Bump cibuildwheel to 2.20.0 to build CPython 3.13 wheels (#230)
edgarrmondragon Aug 12, 2024
ebd41da
chore(python): fix docs build (#229)
gcf-owl-bot[bot] Aug 12, 2024
e906d8d
chore(deps): update dependency setuptools to v70 [security] (#228)
renovate-bot Aug 12, 2024
b1cfc91
build: add presubmit scripts using kokoro (#235)
parthea Aug 27, 2024
277096b
build: add release scripts using kokoro (#236)
parthea Aug 27, 2024
23d1da1
build: remove builds via github actions (#238)
parthea Aug 27, 2024
bce2f82
build: fix windows presubmit (#237)
parthea Aug 27, 2024
588b1ef
chore(deps): update all dependencies (#195)
renovate-bot Aug 29, 2024
e98631e
build: use correct osx wheels for publication (#242)
parthea Aug 29, 2024
fc4d901
chore(main): release 1.6.0 (#181)
release-please[bot] Sep 3, 2024
3179a27
chore(deps): update dependency setuptools to v74 (#243)
renovate-bot Sep 3, 2024
dccfc62
feat: Add Python 3.13 trove classifier (#233)
edgarrmondragon Sep 3, 2024
9d6e146
ref: include py.typed in installed package (#211)
asottile-sentry Sep 3, 2024
3cc6a09
chore(deps): update all dependencies (#245)
renovate-bot Sep 3, 2024
7cb435d
chore(deps): update all dependencies (#247)
renovate-bot Sep 4, 2024
7652e11
chore(deps): update all dependencies (#251)
renovate-bot Sep 5, 2024
a87e45f
chore(python): update dependencies in .kokoro/docker/docs (#258)
gcf-owl-bot[bot] Nov 15, 2024
efc76d5
feat: add support for python 3.13 (#239)
parthea Mar 17, 2025
1db203d
build: update build scripts to prepare for release (#275)
parthea Mar 17, 2025
8bec614
build: disable logging in publish_python_wheel.sh (#276)
parthea Mar 17, 2025
cd684b7
chore(main): release 1.7.0 (#246)
release-please[bot] Mar 17, 2025
1345220
chore(python): remove unused docs scripts (#271)
gcf-owl-bot[bot] Mar 17, 2025
1f86086
chore(deps): update all dependencies (#273)
renovate-bot Mar 17, 2025
13aa9f0
build: update windows build script to use trimmed python version (#279)
parthea Mar 24, 2025
25c8c9e
build: update license identifiers in setup.cfg (#281)
parthea Mar 24, 2025
1bb8c68
build: update dependencies in .kokoro/requirements.txt (#283)
parthea Mar 25, 2025
4f7914d
chore(main): release 1.7.1 (#280)
release-please[bot] Mar 25, 2025
4f947ea
build: remove unused docs files (#284)
parthea Mar 25, 2025
5f931c5
chore(deps): update dependency setuptools to v78 (#285)
renovate-bot Mar 26, 2025
9a48cea
chore: fix kokoro and mypy presubmits (#305)
ohmayr Nov 18, 2025
37a74b9
chore(librarian): onboard to librarian (#308)
ohmayr Nov 19, 2025
79781ba
fix: update toml file with setup.cfg content (#319)
ohmayr Dec 11, 2025
9a4aec2
feat: support Python 3.14 (#315)
daniel-sanche Dec 12, 2025
392bef0
chore: librarian release pull request: 20251215T113904Z (#321)
daniel-sanche Dec 15, 2025
ab0a881
chore: temporarily configure release-please (#322)
parthea Dec 15, 2025
e78fb1e
chore(main): release 1.8.0 (#323)
release-please[bot] Dec 16, 2025
51b1628
Merge remote-tracking branch 'remote.googleapis/python-crc32c/main' i…
parthea Mar 2, 2026
ca21f16
Trigger owlbot post-processor
parthea Mar 2, 2026
d9f10e9
build: google-crc32c migration: adjust owlbot-related files
parthea Mar 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions google_crc32c
Submodule google_crc32c added at 02e65f
Empty file.
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
105 changes: 105 additions & 0 deletions packages/google-crc32c/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
.pytest_cache/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# pyenv
.python-version

# celery beat schedule file
celerybeat-schedule

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
usr/
3 changes: 3 additions & 0 deletions packages/google-crc32c/.gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "crc32c"]
path = google_crc32c
url = https://github.com/google/crc32c
11 changes: 11 additions & 0 deletions packages/google-crc32c/.librarian/state.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
image: us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/python-librarian-generator@sha256:e601da6e29c993e14c52867f2c088dfb841beae618d2a4f1e0f7970a888ab020
libraries:
- id: google-crc32c
version: 1.8.0
last_generated_commit: ""
apis: []
source_roots:
- .
preserve_regex: []
remove_regex: []
tag_format: v{version}
31 changes: 31 additions & 0 deletions packages/google-crc32c/.pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# 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
#
# http://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.
#
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.0.1
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- repo: https://github.com/psf/black
rev: 23.7.0
hooks:
- id: black
- repo: https://github.com/pycqa/flake8
rev: 6.1.0
hooks:
- id: flake8
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/python-crc32c",
"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