{"id":17723756,"url":"https://github.com/ncw/swift","last_synced_at":"2025-04-13T03:59:50.875Z","repository":{"id":5451989,"uuid":"6645769","full_name":"ncw/swift","owner":"ncw","description":"Go language interface to Swift / Openstack Object Storage / Rackspace cloud files (golang)","archived":false,"fork":false,"pushed_at":"2024-08-29T06:57:12.000Z","size":879,"stargazers_count":317,"open_issues_count":38,"forks_count":107,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-04-13T03:59:41.794Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","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/ncw.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"COPYING","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},"funding":{"github":["ncw"],"patreon":"njcw","liberapay":"ncw"}},"created_at":"2012-11-11T23:01:03.000Z","updated_at":"2025-04-05T13:44:07.000Z","dependencies_parsed_at":"2024-10-21T18:14:23.757Z","dependency_job_id":null,"html_url":"https://github.com/ncw/swift","commit_stats":{"total_commits":328,"total_committers":52,"mean_commits":"6.3076923076923075","dds":0.3902439024390244,"last_synced_commit":"36c646c12690afb450fcd7bc132ccf14d1a5ce44"},"previous_names":[],"tags_count":58,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ncw%2Fswift","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ncw%2Fswift/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ncw%2Fswift/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ncw%2Fswift/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ncw","download_url":"https://codeload.github.com/ncw/swift/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248661706,"owners_count":21141450,"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":"2024-10-25T15:43:57.256Z","updated_at":"2025-04-13T03:59:50.848Z","avatar_url":"https://github.com/ncw.png","language":"Go","funding_links":["https://github.com/sponsors/ncw","https://patreon.com/njcw","https://liberapay.com/ncw"],"categories":[],"sub_categories":[],"readme":"Swift\n=====\n\nThis package provides an easy to use library for interfacing with Swift / Openstack Object Storage / Rackspace cloud\nfiles from the Go Language\n\n[![Build Status](https://github.com/ncw/swift/workflows/build/badge.svg?branch=master)](https://github.com/ncw/swift/actions)\n[![Go Reference](https://pkg.go.dev/badge/github.com/ncw/v2/swift.svg)](https://pkg.go.dev/github.com/ncw/swift/v2)\n\nInstall\n-------\n\nUse go to install the library\n\n    go get github.com/ncw/swift/v2\n\nUsage\n-----\n\nSee here for full package docs\n\n- https://pkg.go.dev/github.com/ncw/swift/v2\n\nHere is a short example from the docs\n\n```go\nimport \"github.com/ncw/swift/v2\"\n\n// Create a connection\nc := swift.Connection{\nUserName: \"user\",\nApiKey:   \"key\",\nAuthUrl:  \"auth_url\",\nDomain:   \"domain\", // Name of the domain (v3 auth only)\nTenant:   \"tenant\", // Name of the tenant (v2 auth only)\n}\n// Authenticate\nerr := c.Authenticate()\nif err != nil {\npanic(err)\n}\n// List all the containers\ncontainers, err := c.ContainerNames(nil)\nfmt.Println(containers)\n// etc...\n```\n\nMigrating from `v1`\n-----\nThe library has current major version v2. If you want to migrate from the first version of\nlibrary `github.com/ncw/swift` you have to explicitly add the `/v2` suffix to the imports.\n\nMost of the exported functions were added a new `context.Context` parameter in the `v2`, which you will have to provide\nwhen migrating.\n\nAdditions\n---------\n\nThe `rs` sub project contains a wrapper for the Rackspace specific CDN Management interface.\n\nTesting\n-------\n\nTo run the tests you can either use an embedded fake Swift server either use a real Openstack Swift server or a\nRackspace Cloud files account.\n\nWhen using a real Swift server, you need to set these environment variables before running the tests\n\n    export SWIFT_API_USER='user'\n    export SWIFT_API_KEY='key'\n    export SWIFT_AUTH_URL='https://url.of.auth.server/v1.0'\n\nAnd optionally these if using v2 authentication\n\n    export SWIFT_TENANT='TenantName'\n    export SWIFT_TENANT_ID='TenantId'\n\nAnd optionally these if using v3 authentication\n\n    export SWIFT_TENANT='TenantName'\n    export SWIFT_TENANT_ID='TenantId'\n    export SWIFT_API_DOMAIN_ID='domain id'\n    export SWIFT_API_DOMAIN='domain name'\n\nAnd optionally these if using v3 trust\n\n    export SWIFT_TRUST_ID='TrustId'\n\nAnd optionally this if you want to skip server certificate validation\n\n    export SWIFT_AUTH_INSECURE=1\n\nAnd optionally this to configure the connect channel timeout, in seconds\n\n    export SWIFT_CONNECTION_CHANNEL_TIMEOUT=60\n\nAnd optionally this to configure the data channel timeout, in seconds\n\n    export SWIFT_DATA_CHANNEL_TIMEOUT=60\n\nThen run the tests with `go test`\n\nLicense\n-------\n\nThis is free software under the terms of MIT license (check COPYING file included in this package).\n\nContact and support\n-------------------\n\nThe project website is at:\n\n- https://github.com/ncw/swift\n\nThere you can file bug reports, ask for help or contribute patches.\n\nAuthors\n-------\n\n- Nick Craig-Wood \u003cnick@craig-wood.com\u003e\n\nContributors\n------------\n\n- Brian \"bojo\" Jones \u003cmojobojo@gmail.com\u003e\n- Janika Liiv \u003cjanika@toggl.com\u003e\n- Yamamoto, Hirotaka \u003cymmt2005@gmail.com\u003e\n- Stephen \u003cyo@groks.org\u003e\n- platformpurple \u003cstephen@platformpurple.com\u003e\n- Paul Querna \u003cpquerna@apache.org\u003e\n- Livio Soares \u003cliviobs@gmail.com\u003e\n- thesyncim \u003cthesyncim@gmail.com\u003e\n- lsowen \u003clsowen@s1network.com\u003e \u003clogan@s1network.com\u003e\n- Sylvain Baubeau \u003csbaubeau@redhat.com\u003e\n- Chris Kastorff \u003cencryptio@gmail.com\u003e\n- Dai HaoJun \u003chaojun.dai@hp.com\u003e\n- Hua Wang \u003cwanghua.humble@gmail.com\u003e\n- Fabian Ruff \u003cfabian@progra.de\u003e \u003cfabian.ruff@sap.com\u003e\n- Arturo Reuschenbach Puncernau \u003creuschenbach@gmail.com\u003e\n- Petr Kotek \u003cpetr.kotek@bigcommerce.com\u003e\n- Stefan Majewsky \u003cstefan.majewsky@sap.com\u003e \u003cmajewsky@gmx.net\u003e\n- Cezar Sa Espinola \u003ccezarsa@gmail.com\u003e\n- Sam Gunaratne \u003csamgzeit@gmail.com\u003e\n- Richard Scothern \u003crichard.scothern@gmail.com\u003e\n- Michel Couillard \u003c!--\u003ccouillard.michel@voxlog.ca\u003e--\u003e \u003cmichel.couillard@gmail.com\u003e\n- Christopher Waldon \u003cckwaldon@us.ibm.com\u003e\n- dennis \u003cdai.haojun@gmail.com\u003e\n- hag \u003channes.georg@xing.com\u003e\n- Alexander Neumann \u003calexander@bumpern.de\u003e\n- eclipseo \u003c30413512+eclipseo@users.noreply.github.com\u003e\n- Yuri Per \u003cyuri@acronis.com\u003e\n- Falk Reimann \u003cfalk.reimann@sap.com\u003e\n- Arthur Paim Arnold \u003carthurpaimarnold@gmail.com\u003e\n- Bruno Michel \u003cbmichel@menfin.info\u003e\n- Charles Hsu \u003ccharles0126@gmail.com\u003e\n- Omar Ali \u003comarali@users.noreply.github.com\u003e\n- Andreas Andersen \u003candreas@softwaredesign.se\u003e\n- kayrus \u003ckay.diam@gmail.com\u003e\n- CodeLingo Bot \u003cbot@codelingo.io\u003e\n- Jérémy Clerc \u003cjeremy.clerc@tagpay.fr\u003e\n- 4xicom \u003c37339705+4xicom@users.noreply.github.com\u003e\n- Bo \u003cbo@4xi.com\u003e\n- Thiago da Silva \u003cthiagodasilva@users.noreply.github.com\u003e\n- Brandon WELSCH \u003cdev@brandon-welsch.eu\u003e\n- Damien Tournoud \u003cdamien@platform.sh\u003e\n- Pedro Kiefer \u003cpedro@kiefer.com.br\u003e\n- Martin Chodur \u003cm.chodur@seznam.cz\u003e\n- Devendra \u003cdevendranath.thadi3@gmail.com\u003e\n- timss \u003ctimsateroy@gmail.com\u003e\n- Jos Houtman \u003cjos@houtman.it\u003e\n- Paul Collins \u003cpaul.collins@canonical.com\u003e\n- Joe Cai \u003cjoe.cai@bigcommerce.com\u003e\n- fsantagostinobietti \u003c6057026+fsantagostinobietti@users.noreply.github.com\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fncw%2Fswift","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fncw%2Fswift","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fncw%2Fswift/lists"}