{"id":18886739,"url":"https://github.com/supabase-community/storage-csharp","last_synced_at":"2025-09-04T15:32:57.184Z","repository":{"id":44992675,"uuid":"436092365","full_name":"supabase-community/storage-csharp","owner":"supabase-community","description":"A C# implementation of Supabase's Object Storage API","archived":false,"fork":false,"pushed_at":"2024-06-29T12:21:00.000Z","size":12176,"stargazers_count":20,"open_issues_count":4,"forks_count":8,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-12-28T15:15:56.612Z","etag":null,"topics":["object-storage","storage","supabase","supabase-csharp","supabase-storage"],"latest_commit_sha":null,"homepage":"https://supabase-community.github.io/storage-csharp/api/Supabase.Storage.Client.html","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/supabase-community.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-12-08T02:35:28.000Z","updated_at":"2024-12-08T21:37:46.000Z","dependencies_parsed_at":"2024-01-03T21:26:16.967Z","dependency_job_id":"ea8f14ef-00b5-420a-b696-6e088d652101","html_url":"https://github.com/supabase-community/storage-csharp","commit_stats":{"total_commits":80,"total_committers":5,"mean_commits":16.0,"dds":"0.16249999999999998","last_synced_commit":"a66944fbb982f43e1d595d1ea397633a84ab755d"},"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supabase-community%2Fstorage-csharp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supabase-community%2Fstorage-csharp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supabase-community%2Fstorage-csharp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/supabase-community%2Fstorage-csharp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/supabase-community","download_url":"https://codeload.github.com/supabase-community/storage-csharp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":231812392,"owners_count":18430241,"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":["object-storage","storage","supabase","supabase-csharp","supabase-storage"],"created_at":"2024-11-08T07:30:23.835Z","updated_at":"2025-09-04T15:32:57.166Z","avatar_url":"https://github.com/supabase-community.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Supabase.Storage\n\n[![Build and Test](https://github.com/supabase-community/storage-csharp/actions/workflows/build-and-test.yml/badge.svg)](https://github.com/supabase-community/storage-csharp/acionts/workflows/build-and-test.yml)\n[![NuGet](https://img.shields.io/nuget/vpre/Supabase.Storage\")](https://www.nuget.org/packages/Supabase.Storage/)\n\n---\n\nIntegrate your [Supabase](https://supabase.io) projects with C#.\n\n## [Notice]: v2.0.0 renames this package from `storage-csharp` to `Supabase.Storage`. The depreciation notice has been set in NuGet. The API remains the same.\n\n## Examples (using supabase-csharp)\n\n```c#\npublic async void Main()\n{\n  // Make sure you set these (or similar)\n  var url = Environment.GetEnvironmentVariable(\"SUPABASE_URL\");\n  var key = Environment.GetEnvironmentVariable(\"SUPABASE_KEY\");\n\n  await Supabase.Client.InitializeAsync(url, key);\n\n  // The Supabase Instance can be accessed at any time using:\n  //  Supabase.Client.Instance {.Realtime|.Auth|etc.}\n  // For ease of readability we'll use this:\n  var instance = Supabase.Client.Instance;\n\n  // Interact with Supabase Storage\n  var storage = Supabase.Client.Instance.Storage\n  await storage.CreateBucket(\"testing\")\n\n  var bucket = storage.From(\"testing\");\n\n  var basePath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase).Replace(\"file:\", \"\");\n  var imagePath = Path.Combine(basePath, \"Assets\", \"supabase-csharp.png\");\n\n  await bucket.Upload(imagePath, \"supabase-csharp.png\");\n\n  // If bucket is public, get url\n  bucket.GetPublicUrl(\"supabase-csharp.png\");\n\n  // If bucket is private, generate url\n  await bucket.CreateSignedUrl(\"supabase-csharp.png\", 3600));\n\n  // Download it!\n  await bucket.Download(\"supabase-csharp.png\", Path.Combine(basePath, \"testing-download.png\"));\n}\n```\n\n## Package made possible through the efforts of:\n\nJoin the ranks! See a problem? Help fix it!\n\n\u003ca href=\"https://github.com/supabase-community/storage-csharp/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=supabase-community/storage-csharp\" /\u003e\n\u003c/a\u003e\n\nMade with [contrib.rocks](https://contrib.rocks/preview?repo=supabase-community%storage-csharp).\n\n## Contributing\n\nWe are more than happy to have contributions! Please submit a PR.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsupabase-community%2Fstorage-csharp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsupabase-community%2Fstorage-csharp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsupabase-community%2Fstorage-csharp/lists"}