{"id":29210696,"url":"https://github.com/embarkstudios/gsutil","last_synced_at":"2025-07-02T21:07:36.697Z","repository":{"id":38313998,"uuid":"330589527","full_name":"EmbarkStudios/gsutil","owner":"EmbarkStudios","description":"Minimal gsutil replacement","archived":false,"fork":false,"pushed_at":"2024-03-21T07:47:55.000Z","size":103,"stargazers_count":33,"open_issues_count":2,"forks_count":7,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-10-11T22:20:39.143Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EmbarkStudios.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE-APACHE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2021-01-18T07:38:04.000Z","updated_at":"2024-06-28T23:23:41.000Z","dependencies_parsed_at":"2024-03-21T07:47:35.530Z","dependency_job_id":null,"html_url":"https://github.com/EmbarkStudios/gsutil","commit_stats":{"total_commits":19,"total_committers":3,"mean_commits":6.333333333333333,"dds":"0.10526315789473684","last_synced_commit":"db5bd23a716e990a1ceead95be8c8fbda32d2f55"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":"EmbarkStudios/opensource-template","purl":"pkg:github/EmbarkStudios/gsutil","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmbarkStudios%2Fgsutil","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmbarkStudios%2Fgsutil/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmbarkStudios%2Fgsutil/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmbarkStudios%2Fgsutil/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EmbarkStudios","download_url":"https://codeload.github.com/EmbarkStudios/gsutil/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmbarkStudios%2Fgsutil/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263215297,"owners_count":23431895,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-02T21:07:35.597Z","updated_at":"2025-07-02T21:07:36.684Z","avatar_url":"https://github.com/EmbarkStudios.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# `🚙 gsutil`\n\n[![Embark](https://img.shields.io/badge/embark-open%20source-blueviolet.svg)](https://embark.dev)\n[![Embark](https://img.shields.io/badge/discord-ark-%237289da.svg?logo=discord)](https://discord.gg/dAuKfZS)\n[![Crates.io](https://img.shields.io/crates/v/gsutil.svg)](https://crates.io/crates/gsutil)\n[![Docs](https://docs.rs/gsutil/badge.svg)](https://docs.rs/gsutil)\n[![dependency status](https://deps.rs/repo/github/EmbarkStudios/gsutil/status.svg)](https://deps.rs/repo/github/EmbarkStudios/gsutil)\n[![Build status](https://github.com/EmbarkStudios/gsutil/workflows/CI/badge.svg)](https://github.com/EmbarkStudios/gsutil/actions)\n\nA small, incomplete replacement for the official [gsutil](https://cloud.google.com/storage/docs/gsutil).\n\n\u003c/div\u003e\n\n## Why?\n\n* You need to do basic GCS operations like uploading some objects for eg. CD, and don't need to do every possible thing you can do with GCS.\n* You want a single binary with 0 system dependencies and a minimal footprint (the gcloud/gsutil install is over 100MiB, compressed, in addition to requiring a Python install)\n\n## Why not?\n\n* This binary only supports some operations, listed below, if you need other operations they need to be added, or you must use the official gsutil.\n\n## Supported subcommands\n\n* [cat](src/cat.rs) - [Downloads](https://docs.rs/tame-gcs/latest/tame_gcs/objects/struct.Object.html#method.download) and prints an object to stdout.\n* [cp](src/cp.rs) - Either [downloads](https://docs.rs/tame-gcs/latest/tame_gcs/objects/struct.Object.html#method.download) an Object and stores it in a local file, or [uploads](https://docs.rs/tame-gcs/latest/tame_gcs/objects/struct.Object.html#method.insert_multipart) a local file as an Object.\n* [ls](src/ls.rs) - [Lists](https://docs.rs/tame-gcs/latest/tame_gcs/objects/struct.Object.html#method.list) Objects.\n* [signurl](src/signurl.rs) - [Creates](https://docs.rs/tame-gcs/latest/tame_gcs/signed_url/struct.UrlSigner.html) a signed url for an Object.\n* [stat](src/stat.rs) - [Shows](https://docs.rs/tame-gcs/latest/tame_gcs/objects/struct.Object.html#method.get) metadata for an Object.\n\n## Contribution\n\n[![Contributor Covenant](https://img.shields.io/badge/contributor%20covenant-v1.4-ff69b4.svg)](CODE_OF_CONDUCT.md)\n\nWe welcome community contributions to this project.\n\nPlease read our [Contributor Guide](CONTRIBUTING.md) for more information on how to get started.\nPlease also read our [Contributor Terms](CONTRIBUTING.md/#Contributor-Terms) before you make any contributions.\n\nAny contribution intentionally submitted for inclusion in an Embark Studios project, shall comply with the Rust standard licensing model (MIT + Apache 2.0) and therefore be dual licensed as described below, without any additional terms or conditions:\n\n### License\n\nThis [contribution] is dual licensed under EITHER OF\n\n* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or \u003chttp://www.apache.org/licenses/LICENSE-2.0\u003e)\n* MIT license ([LICENSE-MIT](LICENSE-MIT) or \u003chttp://opensource.org/licenses/MIT\u003e)\n\nat your option.\n\nFor clarity, \"your\" refers to Embark or any other licensee/user of the contribution.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fembarkstudios%2Fgsutil","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fembarkstudios%2Fgsutil","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fembarkstudios%2Fgsutil/lists"}