{"id":48860,"library":"openstack-swift-client","title":"openstack-swift-client","description":"A Node.js client library for connecting to OpenStack Swift object storage servers. Version 2.3.1 requires Node >=4 and ships TypeScript type definitions. Supports SwiftAuthenticator (Rackspace-style) and Keystone V3 authentication. Forked from the original swift-client package. Provides container and object CRUD operations with streaming support. Not actively maintained — last release in 2020.","status":"maintenance","version":"2.3.1","language":"javascript","source_language":"en","source_url":"https://github.com/stefanodefaria/swift-client","tags":["javascript","openstack","swift","storage","api","brightbox","orbit","rackspace","typescript"],"install":[{"cmd":"npm install openstack-swift-client","lang":"bash","label":"npm"},{"cmd":"yarn add openstack-swift-client","lang":"bash","label":"yarn"},{"cmd":"pnpm add openstack-swift-client","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"SwiftClient is the default export; named import does not work.","wrong":"import { SwiftClient } from 'openstack-swift-client'","symbol":"SwiftClient","correct":"import SwiftClient from 'openstack-swift-client'"},{"note":"SwiftAuthenticator is a static property on the SwiftClient default export.","wrong":"import { SwiftAuthenticator } from 'openstack-swift-client'","symbol":"SwiftAuthenticator","correct":"import SwiftClient from 'openstack-swift-client'; const { SwiftAuthenticator } = SwiftClient"},{"note":"KeystoneV3Authenticator is a static property on the SwiftClient default export.","wrong":"import { KeystoneV3Authenticator } from 'openstack-swift-client'","symbol":"KeystoneV3Authenticator","correct":"import SwiftClient from 'openstack-swift-client'; const { KeystoneV3Authenticator } = SwiftClient"}],"quickstart":{"code":"import SwiftClient from 'openstack-swift-client';\n\nconst authenticator = new SwiftClient.SwiftAuthenticator(\n  'https://orbit.brightbox.com/v1/acc-xxx',\n  'cli-xxx',\n  'my-password'\n);\n\nconst client = new SwiftClient(authenticator);\n\nasync function main() {\n  const containers = await client.list();\n  console.log('Containers:', containers);\n  const container = client.container('my-container');\n  const fileStream = require('fs').createReadStream('local-file.txt');\n  await container.put('remote-file.txt', fileStream);\n  console.log('Upload done!');\n}\n\nmain().catch(console.error);","lang":"typescript","description":"Shows how to create a SwiftClient with SwiftAuthenticator, list containers, and upload a file."},"warnings":[{"fix":"Always instantiate SwiftClient with an authenticator object: new SwiftClient(authenticator)","message":"SwiftClient constructor can also accept a URL, username, and password directly, but this pattern is deprecated and may be removed. Always use an authenticator instance.","severity":"gotcha","affected_versions":">=2.0"},{"fix":"Update imports: use `import SwiftClient from 'openstack-swift-client'` or `const SwiftClient = require('openstack-swift-client')` and instantiate with `new SwiftClient(...)`.","message":"In version 2.0, the default export changed from a factory function to the SwiftClient class. Using `require('openstack-swift-client')` now returns the class, not a factory.","severity":"breaking","affected_versions":"2.x"},{"fix":"Switch to container-scoped methods: `client.container(name).updateMeta(meta)`","message":"The `SwiftClient#update(name, meta, extra)` method may be deprecated in future versions. Use `container.updateMeta(meta)` instead.","severity":"deprecated","affected_versions":">=2.1"},{"fix":"Ensure consistent casing when creating and accessing containers.","message":"Container names are case-sensitive in OpenStack Swift. Creating a container named 'MyContainer' and 'mycontainer' results in two different containers.","severity":"gotcha","affected_versions":">=1.0"},{"fix":"First delete all objects in the container, then delete the container.","message":"The `SwiftClient#delete(name)` method does not delete non-empty containers. Attempting to delete a container with objects will throw an error.","severity":"gotcha","affected_versions":">=1.0"}],"env_vars":null,"search_vec":"'2.3.1':18 '2020':59 '4':21 'activ':54 'api':64 'authent':35 'brightbox':65 'client':4,7,42 'connect':10 'contain':45 'crud':48 'definit':26 'fork':36 'javascript':60 'keyston':33 'last':56 'librari':8 'maintain':55 'node':20 'node.js':6 'object':14,47 'openstack':2,12,61 'openstack-swift-cli':1 'oper':49 'orbit':66 'origin':39 'packag':43 'provid':44 'rackspac':30,67 'rackspace-styl':29 'releas':57 'requir':19 'server':16 'ship':23 'storag':15,63 'stream':51 'style':31 'support':27,52 'swift':3,13,41,62 'swift-client':40 'swiftauthent':28 'type':25 'typescript':24,68 'v3':34 'version':17","created_at":"2026-06-07T16:58:50.616090+00:00","updated_at":"2026-06-07T16:58:50.616090+00:00","problems":[{"fix":"Use default import: `import SwiftClient from 'openstack-swift-client'`","cause":"Using `import { SwiftClient } from 'openstack-swift-client'` (named import) instead of default import.","error":"TypeError: SwiftClient is not a constructor"},{"fix":"Delete all objects from the container first using `container.deleteAll()` or iterating over objects.","cause":"Attempting to delete a container that still contains objects.","error":"Error: Container not empty"},{"fix":"Verify username/password, check auth URL format (e.g., 'https://orbit.brightbox.com/v1/acc-xxx'), and ensure credentials are correct.","cause":"Invalid credentials, expired token, or incorrect auth URL.","error":"Authentication failed with status 401"},{"fix":"Run `npm install --save openstack-swift-client` and ensure import path matches package name.","cause":"Package not installed or incorrect import path.","error":"Cannot find module 'openstack-swift-client'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/stefanodefaria/swift-client#readme","github":"https://github.com/stefanodefaria/swift-client","docs":null,"changelog":null,"pypi":null,"npm":"openstack-swift-client","openapi_spec":null,"status_page":null,"smithery":null,"categories":["storage"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-07","next_check":"2026-09-05","install_tag":null}}