MCPcopy Index your code
hub / github.com/EmbarkStudios/tame-gcs

github.com/EmbarkStudios/tame-gcs @0.14.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.14.0 ↗ · + Follow
172 symbols 327 edges 24 files 36 documented · 21%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

📂 tame-gcs

Embark Embark Crates.io Docs dependency status Build Status

tame-gcs is a crate with a limited set of Google Cloud Storage(GCS) operations that follows the sans-io approach.

Why?

  • You want to control how you actually make HTTP requests against GCS.
  • You want to have more control over your dependencies, and not be bottlenecked by sticking to a particular version, or quickly upgrading, your HTTP related crates.

Why not?

  • This crate only supports some operations.
  • There are several other GCS crates available that have many more features and are easier to work with, if you don't care about what HTTP clients they use.
  • This crate requires more boilerplate to work with.

Example

For example usage, see the gsutil crate, which reimplements parts of the official gsutil tool.

Contributing

Contributor Covenant

We welcome community contributions to this project.

Please read our Contributor Guide for more information on how to get started.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Extension points exported contracts — how you extend this code

ApiResponse (Interface)
(no doc) [18 implementers]
src/response.rs
DigestCalulator (Interface)
Used to calculate a digest of payloads with a specific algorithm [1 implementers]
src/signing.rs
ObjectIdentifier (Interface)
(no doc) [1 implementers]
src/types.rs
Signer (Interface)
Used to sign a block of data [1 implementers]
src/signing.rs
KeyProvider (Interface)
Provides the details needed for signing a URL [1 implementers]
src/signing.rs

Core symbols most depended-on inside this repo

as_ref
called by 13
src/lib.rs
requests_eq
called by 12
tests/util.rs
get
called by 9
src/v1/objects/get.rs
cmp_strings
called by 8
tests/util.rs
from_str
called by 5
src/v1/objects.rs
next
called by 5
src/v1/objects/insert/multipart.rs
requests_read_eq
called by 5
tests/util.rs
as_ref
called by 4
src/types.rs

Shape

Method 66
Function 48
Class 43
Enum 10
Interface 5

Languages

Rust100%

Modules by API surface

tests/objects.rs22 symbols
src/types.rs20 symbols
src/signing.rs18 symbols
src/v1/objects/insert/resumable.rs12 symbols
src/error.rs11 symbols
src/v1/objects/insert/multipart.rs8 symbols
src/response.rs8 symbols
tests/signed_url.rs7 symbols
src/v1/objects/download.rs7 symbols
src/v1/objects.rs7 symbols
src/v1/common.rs7 symbols
src/signed_url.rs6 symbols

For agents

$ claude mcp add tame-gcs \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact