zeo-integrations: google
Copyright (c) 2026 Rod Rivera
Licensed under the MIT License; the full permission notice is in the repository LICENSE.

Source: zeroemployeeorg/zeocore
Commit: 7c9923e6fd93cabb8601040f3e431760be3a18ee
Source prefix: src/zeo_core/integrations/google/ and tests/test_integrations/google/
Destination prefix: src/zeo_integrations/google/ and tests/test_integrations/google/
Method: a pure move. Each file is byte-identical to its source except import statements and
string literals or comments that name moved modules (mock.patch targets, docstrings). Per-file
source blobs (git blob ids) follow.

src/zeo_core/integrations/google/__init__.py -> same relative path; source blob ceb39e154e74ebc084b1d0456248bbc99d3bb3ea
src/zeo_core/integrations/google/auth.py -> same relative path; source blob bdd50c887dd2f8780b59c72bad55164d04f63345
src/zeo_core/integrations/google/calendar/__init__.py -> same relative path; source blob 1e2cb540bcaab7aa7ebdab7ef531ea62b7f025c9
src/zeo_core/integrations/google/calendar/models.py -> same relative path; source blob 9c8fef02678843e393f5385444e76191ffb9ada1
src/zeo_core/integrations/google/calendar/protocols.py -> same relative path; source blob 59d57b413b5e3de41ca7626705d49970857c2a92
src/zeo_core/integrations/google/calendar/service.py -> same relative path; source blob 47d7d51a1c985e8133434eaf4df38ff506ad7d40
src/zeo_core/integrations/google/config.py -> same relative path; source blob c1b27c50bd04a3aa8165f8657db6c1157bc19af2
src/zeo_core/integrations/google/credential_paths.py -> same relative path; source blob 40b13f17a6e6b9ba9473663563d0bd6e3ce077c4
src/zeo_core/integrations/google/docs/__init__.py -> same relative path; source blob a0861e4378b6219e8866f97ccb6fbe8c6babdc28
src/zeo_core/integrations/google/docs/models.py -> same relative path; source blob 434a01a58aad1c326bee596af744691b980e63de
src/zeo_core/integrations/google/docs/protocols.py -> same relative path; source blob 94047f445be94d838b022b87e86f1b7cbd3250e7
src/zeo_core/integrations/google/docs/request_builder.py -> same relative path; source blob 6731e98b64b59a6887d37ab1006e0505ff565b58
src/zeo_core/integrations/google/docs/service.py -> same relative path; source blob 036a9d5c1938a6c8aca4d72c18856f764c1faadd
src/zeo_core/integrations/google/drive/__init__.py -> same relative path; source blob 186eff4738d64357b34c15b510ac2efb167ac9b7
src/zeo_core/integrations/google/drive/comments.py -> same relative path; source blob 82039fa10b78882fe9b1ac34d2bb1f387f1c733a
src/zeo_core/integrations/google/drive/models.py -> same relative path; source blob 42522b53ee7ab32d5a90f5890d2eafeed43c9beb
src/zeo_core/integrations/google/drive/operations/__init__.py -> same relative path; source blob b3dd76c4fd9fdb1e122143d34c58f33281515fc4
src/zeo_core/integrations/google/drive/operations/download.py -> same relative path; source blob 6ba6f8d0064ee0379df999282ccb571b7f6301e2
src/zeo_core/integrations/google/drive/operations/folder.py -> same relative path; source blob 642a575c86d968f4576324750108fe9453f069ec
src/zeo_core/integrations/google/drive/operations/list_files.py -> same relative path; source blob 2071395f0be238fd33a2cf92171217204c9d957a
src/zeo_core/integrations/google/drive/operations/permissions.py -> same relative path; source blob 2938639d56daefa65c76d7b26cdb667f4457afc7
src/zeo_core/integrations/google/drive/operations/upload.py -> same relative path; source blob d5e829d1c281ce094947aca902747c6911c7ebe1
src/zeo_core/integrations/google/drive/protocols.py -> same relative path; source blob cb84874e7573ac14a461842b660225c5f601b3d9
src/zeo_core/integrations/google/drive/service.py -> same relative path; source blob 0d489c4a40797823c379fbe3a7ac01885b54a98c
src/zeo_core/integrations/google/drive/utils/__init__.py -> same relative path; source blob 686829bee00a1df6390d962c24254ef535fe9571
src/zeo_core/integrations/google/drive/utils/api.py -> same relative path; source blob c528c9e673c0db3a3e7f93624caca55e1839b9df
src/zeo_core/integrations/google/drive/utils/query.py -> same relative path; source blob d1922cd3ac5885e049132b2e7b2a1ea7496a4032
src/zeo_core/integrations/google/mail/__init__.py -> same relative path; source blob fba74c582cf79019d43eaef2f05ff572a3055f7f
src/zeo_core/integrations/google/mail/config.py -> same relative path; source blob a74aa5cf209dd9a73e37b07b11a5f320fa5612fe
src/zeo_core/integrations/google/mail/operations/__init__.py -> same relative path; source blob f105b0e88111020bf7e2045aff5dd39b2d16bc7e
src/zeo_core/integrations/google/mail/operations/attachments.py -> same relative path; source blob 61c3bab90130d4a9eef8a14f04a4f24dabd417e0
src/zeo_core/integrations/google/mail/operations/auth.py -> same relative path; source blob affae98160ceba011c0e19f064416eea52911cf5
src/zeo_core/integrations/google/mail/operations/email.py -> same relative path; source blob 6f7a22162b0c42ea9f963b66fa6b35090db082ec
src/zeo_core/integrations/google/mail/protocols.py -> same relative path; source blob adee213e7474880673eba3a2768bef390ed78112
src/zeo_core/integrations/google/mail/service.py -> same relative path; source blob bb0dd2299d4bad2ebb1d11436a349525c090b6e6
src/zeo_core/integrations/google/mail/utils/__init__.py -> same relative path; source blob 3de6f48769c07222e816b8a106d8a8e07ae29a16
src/zeo_core/integrations/google/mail/utils/api.py -> same relative path; source blob 8a9c06b9fc7e7b296a0f7be8a12d61a74c56b3ab
src/zeo_core/integrations/google/ports.py -> same relative path; source blob e97df51525dd51597755a4e63755c1f7b6a73246
src/zeo_core/integrations/google/serialization.py -> same relative path; source blob 3b75b81d49e6848e0597f0748252d1af02737c53
src/zeo_core/integrations/google/sheets/__init__.py -> same relative path; source blob 9d060961be26f40cda73ab887293a288726da5f1
src/zeo_core/integrations/google/sheets/models.py -> same relative path; source blob 1e8631887106545d3141cf0f514caca6ee4ed51a
src/zeo_core/integrations/google/sheets/protocols.py -> same relative path; source blob 1f550dfeca55dbc5aab0e6fc06f9ee381e0b8cf8
src/zeo_core/integrations/google/sheets/request_builder.py -> same relative path; source blob 370a4085caf141268c7746fbd7a6fcb97b0c94da
src/zeo_core/integrations/google/sheets/service.py -> same relative path; source blob bf1e5e03add900b92f3ee6a1cf8c54c3e34c442b
src/zeo_core/integrations/google/slides/__init__.py -> same relative path; source blob 29884d58edc187c6841dff8034ad355a9b0c8313
src/zeo_core/integrations/google/slides/models.py -> same relative path; source blob 778c502f9fa3aece5193f6a3ee3aaae0dcd03108
src/zeo_core/integrations/google/slides/protocols.py -> same relative path; source blob 6ab057a6385fd236ab0e3eaac3f478a90623079b
src/zeo_core/integrations/google/slides/request_builder.py -> same relative path; source blob 5dcaa390ffe0d20c0244ef71bae49173ca27685a
src/zeo_core/integrations/google/slides/service.py -> same relative path; source blob 2cb8b8afc2be94be5e78b8cc9309055886761f5f
src/zeo_core/integrations/google/youtube/__init__.py -> same relative path; source blob 5a7523077ac378c0d2ca6f846a7ba427e658a157
src/zeo_core/integrations/google/youtube/job.py -> same relative path; source blob 5d9615550dc8f7362329a91cd791ea0b0947aa65
src/zeo_core/integrations/google/youtube/links.py -> same relative path; source blob 21fdea3cb35ee14143e025bf060af64562fe7c71
src/zeo_core/integrations/google/youtube/models.py -> same relative path; source blob 006d28411b363f93b3885d4a347d9d268cd14c83
src/zeo_core/integrations/google/youtube/publish.py -> same relative path; source blob 784b7a4966f755b32874ee8c17d856ba2e0698c4
src/zeo_core/integrations/google/youtube/relay.py -> same relative path; source blob 5addbc0a0f1f1cb0e7971a2c3468d27146ef42ac
src/zeo_core/integrations/google/youtube/retention.py -> same relative path; source blob 66d8feb6e10747895d8604864021a0e673541956
src/zeo_core/integrations/google/youtube/service.py -> same relative path; source blob 6f3f3be7a8d8e906200a788bb866561a69dce040
src/zeo_core/integrations/google/youtube/transfer.py -> same relative path; source blob 09186d74df65212e4504553f8afc7fce0027bd3f
tests/test_integrations/google/__init__.py -> same relative path; source blob af34d764800c6c7ec3ce17057f9059450cb75e6b
tests/test_integrations/google/calendar/__init__.py -> same relative path; source blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
tests/test_integrations/google/calendar/test_config.py -> same relative path; source blob ff7d31dce06085290b580cc71c5115b294e9e804
tests/test_integrations/google/calendar/test_models.py -> same relative path; source blob 32fa141881d0af6a952312871e6572b9020bccd1
tests/test_integrations/google/calendar/test_protocols.py -> same relative path; source blob 7964446eef5694edf64432077afa2f5a0fab1133
tests/test_integrations/google/calendar/test_service.py -> same relative path; source blob 79bfff7a6917f11819cef7c7ea6b3983189e55df
tests/test_integrations/google/docs/__init__.py -> same relative path; source blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
tests/test_integrations/google/docs/test_config.py -> same relative path; source blob 689b2fae003d1d4a9f96b18cff9c35e52921ebd4
tests/test_integrations/google/docs/test_models.py -> same relative path; source blob 72742c4d897b3d77ff16b216a1dddd8ac06ce927
tests/test_integrations/google/docs/test_protocols.py -> same relative path; source blob 7ea4bbdf52e0fc39a1d31c41cf11ff38391435fb
tests/test_integrations/google/docs/test_request_builder.py -> same relative path; source blob 27bc2ca596fb164f99ae51186d51ac0063853b9b
tests/test_integrations/google/docs/test_service.py -> same relative path; source blob 593ebad8f3252c3ad3f3974afd56b00d9c085670
tests/test_integrations/google/drive/__init__.py -> same relative path; source blob e517c1b967365512dfd998ae9d42f668289e9e9d
tests/test_integrations/google/drive/mocks/__init__.py -> same relative path; source blob 6ffd001380f65bd8c27ec0f6bba77891a58094fa
tests/test_integrations/google/drive/mocks/base.py -> same relative path; source blob c5603d865ead7f22798c3089550c072a6b0d3895
tests/test_integrations/google/drive/mocks/credentials.py -> same relative path; source blob 0da8509815bbd1dce5dad7edf510fbc2fc22a118
tests/test_integrations/google/drive/mocks/download.py -> same relative path; source blob 80e173cc4fea9da5b839e0845ac4543ac97dac34
tests/test_integrations/google/drive/mocks/media.py -> same relative path; source blob cef64468e198856bf93412fd57a162c2884808d5
tests/test_integrations/google/drive/mocks/requests.py -> same relative path; source blob 63aacb7aedeb37486fce56ebaa206eea245e0f8a
tests/test_integrations/google/drive/mocks/resources.py -> same relative path; source blob a9c90bd4adc699b92815bc8bfbdf22ba9de0db34
tests/test_integrations/google/drive/mocks/services.py -> same relative path; source blob 3836f8cdcb633e85c87d62ccda6498afda0fe162
tests/test_integrations/google/drive/mocks.py -> same relative path; source blob d5db8e2c6ef8f37d58f65f3d199ac0e2907e217f
tests/test_integrations/google/drive/operations/__init__.py -> same relative path; source blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
tests/test_integrations/google/drive/operations/test_operations_download.py -> same relative path; source blob af06908c5b1cab2c3d83ae72899da61eeb565d15
tests/test_integrations/google/drive/operations/test_operations_folder.py -> same relative path; source blob b4d049147a61402d61b689a6beb8a09b9ac7e713
tests/test_integrations/google/drive/operations/test_operations_list_files.py -> same relative path; source blob ab5787449ddce10d3fd73a24216f0821aa3b666c
tests/test_integrations/google/drive/operations/test_operations_permissions.py -> same relative path; source blob 91b2bc15bd17e0403d285687d1ed10480e81f59c
tests/test_integrations/google/drive/operations/test_operations_resolve_project_path_real_bug.py -> same relative path; source blob 6d89beb6c7fd22483bcd379965be1b0604dd4b5e
tests/test_integrations/google/drive/operations/test_operations_upload.py -> same relative path; source blob 42e5e414b88f10718157da6a538a326a7cec4daa
tests/test_integrations/google/drive/operations/test_operations_upload_mime_type_real_bug.py -> same relative path; source blob 286bba0333bc5642ac236a6b64e92deee06bee2f
tests/test_integrations/google/drive/test_drive.py -> same relative path; source blob 51ed22b0bf82c8166a3683bdc2d9ba939bf12a40
tests/test_integrations/google/drive/test_drive_comments.py -> same relative path; source blob 2ed8d40fef4b8b7b5fe2e088b889ab24040d2173
tests/test_integrations/google/drive/test_drive_models.py -> same relative path; source blob 64c1ff262d73899db6d41ab8e7d5e20f68e48555
tests/test_integrations/google/drive/test_drive_service_delete.py -> same relative path; source blob b84765d74f245ecb22d68ed3d2dc85ffdbf9fad1
tests/test_integrations/google/drive/test_drive_service_download.py -> same relative path; source blob 754f9d93832418923135127338f0695b5f6759ad
tests/test_integrations/google/drive/test_drive_service_error_paths.py -> same relative path; source blob b3a7b2c25a0f6c9583c6163627224fe076acec36
tests/test_integrations/google/drive/test_drive_service_files.py -> same relative path; source blob 6d51db57b5754ca74bf05426f063ddda00a50316
tests/test_integrations/google/drive/test_drive_service_folders.py -> same relative path; source blob 78e2e2fc0e603faef85a4c6c913c265805466fbc
tests/test_integrations/google/drive/test_drive_service_init.py -> same relative path; source blob 7eb2ad7db9e4f62d2df5ad1656291e96c65cfa7d
tests/test_integrations/google/drive/test_drive_service_list.py -> same relative path; source blob 4f4b0d237ad7f5ac61afc4afaa5d89d4103fe4dd
tests/test_integrations/google/drive/test_drive_service_permissions.py -> same relative path; source blob 87d9c54c019e8979953dea86d9f92563cb79d43d
tests/test_integrations/google/drive/test_drive_service_upload.py -> same relative path; source blob b52636673c979e0dd35ea8622b555ad41dced1ca
tests/test_integrations/google/drive/test_protocols.py -> same relative path; source blob cb0517923bb33a8d862005c33d191773c85f7194
tests/test_integrations/google/drive/test_sdk_listing_contract.py -> same relative path; source blob 7b82f93ebb8ee0f29545cfb8d12b444d7b113b6e
tests/test_integrations/google/drive/utils/__init__.py -> same relative path; source blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
tests/test_integrations/google/drive/utils/test_utils_api.py -> same relative path; source blob 169190ea0138aef839a6204db71a1fc72eff965c
tests/test_integrations/google/drive/utils/test_utils_query.py -> same relative path; source blob 8d99660e177b26e43b80a0f6773d748f8a39cd81
tests/test_integrations/google/mail/__init__.py -> same relative path; source blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
tests/test_integrations/google/mail/mocks.py -> same relative path; source blob cb9595b4e99b0baadd1ef246bbf24d50e2f74309
tests/test_integrations/google/mail/operations/__init__.py -> same relative path; source blob 6f04a64bc38a23eb6dc04176f82acb3615100840
tests/test_integrations/google/mail/operations/test_attachments.py -> same relative path; source blob a857824378b9c4851e17780e18c38666dc5bbc41
tests/test_integrations/google/mail/operations/test_auth.py -> same relative path; source blob f58bd9351fe76819eeaf038664b36fafac7c87aa
tests/test_integrations/google/mail/operations/test_email.py -> same relative path; source blob 6abd20eb2a9aabea5d1b7e8525aaa58b7e14e9c9
tests/test_integrations/google/mail/operations/test_email_message_parts.py -> same relative path; source blob 5f22effa92fd0c236c12a2244528f7ba2855918c
tests/test_integrations/google/mail/operations/test_handle_attachment_split_path_real_bug.py -> same relative path; source blob 2e6ed02f4d061e381712f3ffc3bdd0428cd77918
tests/test_integrations/google/mail/test_mail.py -> same relative path; source blob ff15335845d3290eca6078996eb407666e5c51e3
tests/test_integrations/google/mail/test_mail_service.py -> same relative path; source blob aa6847861c361a4ed755e4a7f283803854036f51
tests/test_integrations/google/mail/utils/__init__.py -> same relative path; source blob eb41169af47c3eb22a963f98d0c4bedee1a18152
tests/test_integrations/google/mail/utils/test_api.py -> same relative path; source blob 3504ee69577faab457795c383060e936b5a1ee26
tests/test_integrations/google/mocks.py -> same relative path; source blob ed049bf0655e96995be610d8e2a5c06445713fec
tests/test_integrations/google/sheets/__init__.py -> same relative path; source blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
tests/test_integrations/google/sheets/test_config.py -> same relative path; source blob b1f16213b656952edcff8b9aa41a18ff0679bc01
tests/test_integrations/google/sheets/test_models.py -> same relative path; source blob 7b0fbce04c95a1852ea11d167f70173c21dd6688
tests/test_integrations/google/sheets/test_request_builder.py -> same relative path; source blob 9b53a79f0cf797cb52a4b009ee44a8eadf63bc6c
tests/test_integrations/google/sheets/test_service.py -> same relative path; source blob 843df08de4bc8fd7722a0456d009f389b4049878
tests/test_integrations/google/slides/__init__.py -> same relative path; source blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
tests/test_integrations/google/slides/test_config.py -> same relative path; source blob 71435b75acbfe24631b1a892e76f3fc1de227157
tests/test_integrations/google/slides/test_models.py -> same relative path; source blob ae917e41d00fc718233080924e627199ad0b0538
tests/test_integrations/google/slides/test_protocols.py -> same relative path; source blob f8960623a0d41fea0349024fe928f28085d8eeed
tests/test_integrations/google/slides/test_request_builder.py -> same relative path; source blob bff08fbde4e22dc9af0d4643414f95fb404e292f
tests/test_integrations/google/slides/test_service.py -> same relative path; source blob 5e6fb9856a88f3374524ef08016ca23e7028d4b2
tests/test_integrations/google/test_auth_provider.py -> same relative path; source blob 5b90acc853407d8a47cbf2a865afafc9b4027704
tests/test_integrations/google/test_config_provider.py -> same relative path; source blob 739c87487e6ee4ec18f379b35a5dd313c1292822
tests/test_integrations/google/test_credential_paths.py -> same relative path; source blob 0634a7e3671d5b188d01acb21181cb43646c981e
tests/test_integrations/google/test_fresh_directory_construction.py -> same relative path; source blob 9e3866634774e469ba0963c690732076d18fa8f1
tests/test_integrations/google/test_fresh_directory_walkthrough.py -> same relative path; source blob 621058b2c97ee84c2952de86e33ea9fbd3b8ce21
tests/test_integrations/google/test_hosted_ports.py -> same relative path; source blob 62ff0f2cee3c745abf5e008323188de3a54bbb46
tests/test_integrations/google/test_init.py -> same relative path; source blob 6972e48efdc8b190c9ba14bd6f4bbe52069fdac2
tests/test_integrations/google/test_serialization.py -> same relative path; source blob 27e7514fd454b5853a4d3dbbedbd306003a1a67a
tests/test_integrations/google/youtube/__init__.py -> same relative path; source blob e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
tests/test_integrations/google/youtube/conftest.py -> same relative path; source blob 8e44ff2d07363383671138f4c684d8b25c3e3fbb
tests/test_integrations/google/youtube/fakes.py -> same relative path; source blob e1ba562f986a51f2499235574848faaaf157eaee
tests/test_integrations/google/youtube/helpers.py -> same relative path; source blob 795aefe93a3abccdb8fda3c7a12d56bde140f947
tests/test_integrations/google/youtube/test_job.py -> same relative path; source blob 84a5bbc4a260fd78fdab6e29b03a124cb19fe298
tests/test_integrations/google/youtube/test_links.py -> same relative path; source blob 9a734b3b6134f5119fb78b755c64770a42a5d509
tests/test_integrations/google/youtube/test_models.py -> same relative path; source blob f6771d68e2fe376c148aec97f712f16bd0ae8d7b
tests/test_integrations/google/youtube/test_publish.py -> same relative path; source blob 83cd8642070ef72f08766b93858cb5df54eb15ea
tests/test_integrations/google/youtube/test_relay.py -> same relative path; source blob 90b5f3730cef32b64746135e68ae2506c623c59c
tests/test_integrations/google/youtube/test_retention.py -> same relative path; source blob 32d77245717d5095940d8c1866a2423237a7cd42
tests/test_integrations/google/youtube/test_service.py -> same relative path; source blob 703f4b41f2f980e3545cc6b43bc394720b23e498
tests/test_integrations/google/youtube/test_transfer.py -> same relative path; source blob f4bf5f68e74f9369684b1521d7be2af730946373
