{"id":17051846,"url":"https://github.com/xtyxtyx/minio-dart","last_synced_at":"2025-05-16T07:07:57.330Z","repository":{"id":40415832,"uuid":"251036762","full_name":"xtyxtyx/minio-dart","owner":"xtyxtyx","description":"Unofficial MinIO Dart Client SDK that provides simple APIs to access any Amazon S3 compatible object storage server.","archived":false,"fork":false,"pushed_at":"2024-11-24T02:20:20.000Z","size":212,"stargazers_count":69,"open_issues_count":35,"forks_count":147,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-05-08T18:47:40.948Z","etag":null,"topics":["dart","minio","object-storage","s3"],"latest_commit_sha":null,"homepage":"https://pub.dev/packages/minio","language":"Dart","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/xtyxtyx.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":"2020-03-29T13:19:41.000Z","updated_at":"2025-04-23T10:03:07.000Z","dependencies_parsed_at":"2025-01-12T16:03:17.937Z","dependency_job_id":"ecff0fe4-44e8-4031-9afb-63d27e82925f","html_url":"https://github.com/xtyxtyx/minio-dart","commit_stats":{"total_commits":125,"total_committers":14,"mean_commits":8.928571428571429,"dds":"0.32799999999999996","last_synced_commit":"9f0db7c27a3fc0a3fff70c82153c26ac8c32f707"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xtyxtyx%2Fminio-dart","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xtyxtyx%2Fminio-dart/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xtyxtyx%2Fminio-dart/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xtyxtyx%2Fminio-dart/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xtyxtyx","download_url":"https://codeload.github.com/xtyxtyx/minio-dart/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254485063,"owners_count":22078767,"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":["dart","minio","object-storage","s3"],"created_at":"2024-10-14T10:07:41.033Z","updated_at":"2025-05-16T07:07:52.316Z","avatar_url":"https://github.com/xtyxtyx.png","language":"Dart","funding_links":["https://ko-fi.com/F1F61K6BL"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ch1 align=\"center\"\u003eMinIO Dart\u003c/h1\u003e\n\u003c/p\u003e\n\nThis is the _unofficial_ MinIO Dart Client SDK that provides simple APIs to access any Amazon S3 compatible object storage server.\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/xtyxtyx/minio-dart/actions/workflows/test.yml\"\u003e\n    \u003cimg src=\"https://github.com/xtyxtyx/minio-dart/workflows/test/badge.svg\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://pub.dev/packages/minio\"\u003e\n    \u003cimg src=\"https://img.shields.io/pub/v/minio\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://ko-fi.com/F1F61K6BL\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Buy%20Me%20a%20Coffee-F16061?style=flat\u0026logo=buy-me-a-coffee\u0026logoColor=white\u0026labelColor=555555\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## API\n\n| Bucket operations       | Object operations        | Presigned operations  | Bucket Policy \u0026 Notification operations |\n| ----------------------- | ------------------------ | --------------------- | --------------------------------------- |\n| [makeBucket]            | [getObject]              | [presignedUrl]        | [getBucketNotification]                 |\n| [listBuckets]           | [getPartialObject]       | [presignedGetObject]  | [setBucketNotification]                 |\n| [bucketExists]          | [fGetObject]             | [presignedPutObject]  | [removeAllBucketNotification]           |\n| [removeBucket]          | [putObject]              | [presignedPostPolicy] | [listenBucketNotification]              |\n| [listObjects]           | [fPutObject]             |                       | [getBucketPolicy]                       |\n| [listObjectsV2]         | [copyObject]             |                       | [setBucketPolicy]                       |\n| [listIncompleteUploads] | [statObject]             |                       |                                         |\n| [listAllObjects]        | [removeObject]           |                       |                                         |\n| [listAllObjectsV2]      | [removeObjects]          |                       |                                         |\n|                         | [removeIncompleteUpload] |                       |                                         |\n\n## Usage\n\n### Initialize MinIO Client\n\n**MinIO**\n\n```dart\nfinal minio = Minio(\n  endPoint: 'play.min.io',\n  accessKey: 'Q3AM3UQ867SPQQA43P2F',\n  secretKey: 'zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG',\n);\n```\n\n**AWS S3**\n\n```dart\nfinal minio = Minio(\n  endPoint: 's3.amazonaws.com',\n  accessKey: 'YOUR-ACCESSKEYID',\n  secretKey: 'YOUR-SECRETACCESSKEY',\n);\n```\n\n**Filebase**\n\n```dart\nfinal minio = Minio(\n  endPoint: 's3.filebase.com',\n  accessKey: 'YOUR-ACCESSKEYID',\n  secretKey: 'YOUR-SECRETACCESSKEY',\n  useSSL: true,\n);\n```\n\n**File upload**\n\n```dart\nimport 'package:minio/io.dart';\nimport 'package:minio/minio.dart';\n\nvoid main() async {\n  final minio = Minio(\n    endPoint: 'play.min.io',\n    accessKey: 'Q3AM3UQ867SPQQA43P2F',\n    secretKey: 'zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG',\n  );\n\n  await minio.fPutObject('mybucket', 'myobject', 'path/to/file');\n}\n```\n\nFor complete example, see: [example]\n\n\u003e To use `fPutObject()` and `fGetObject`, you have to `import 'package:minio/io.dart';`\n\n**Upload with progress**\n\n```dart\nimport 'package:minio/minio.dart';\n\nvoid main() async {\n  final minio = Minio(\n    endPoint: 'play.min.io',\n    accessKey: 'Q3AM3UQ867SPQQA43P2F',\n    secretKey: 'zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG',\n  );\n\n  await minio.putObject(\n    'mybucket',\n    'myobject',\n    Stream\u003cUint8List\u003e.value(Uint8List(1024)),\n    onProgress: (bytes) =\u003e print('$bytes uploaded'),\n  );\n}\n```\n\n**Get object**\n\n```dart\nimport 'dart:io';\nimport 'package:minio/minio.dart';\n\nvoid main() async {\n  final minio = Minio(\n    endPoint: 's3.amazonaws.com',\n    accessKey: 'YOUR-ACCESSKEYID',\n    secretKey: 'YOUR-SECRETACCESSKEY',\n  );\n\n  final stream = await minio.getObject('BUCKET-NAME', 'OBJECT-NAME');\n\n  // Get object length\n  print(stream.contentLength);\n\n  // Write object data stream to file\n  await stream.pipe(File('output.txt').openWrite());\n}\n```\n\n## Features and bugs\n\nPlease file feature requests and bugs at the [issue tracker][tracker].\n\nContributions to this repository are welcome.\n\n## License\n\n[MIT](./LICENSE)\n\n[tracker]: https://github.com/xtyxtyx/minio-dart/issues\n[example]: https://pub.dev/packages/minio/example\n\n[makeBucket]: https://pub.dev/documentation/minio/latest/minio/Minio/makeBucket.html\n[listBuckets]: https://pub.dev/documentation/minio/latest/minio/Minio/listBuckets.html\n[bucketExists]: https://pub.dev/documentation/minio/latest/minio/Minio/bucketExists.html\n[removeBucket]: https://pub.dev/documentation/minio/latest/minio/Minio/removeBucket.html\n[listObjects]: https://pub.dev/documentation/minio/latest/minio/Minio/listObjects.html\n[listObjectsV2]: https://pub.dev/documentation/minio/latest/minio/Minio/listObjectsV2.html\n[listIncompleteUploads]: https://pub.dev/documentation/minio/latest/minio/Minio/listIncompleteUploads.html\n[listAllObjects]: https://pub.dev/documentation/minio/latest/minio/Minio/listAllObjects.html\n[listAllObjectsV2]: https://pub.dev/documentation/minio/latest/minio/Minio/listAllObjectsV2.html\n\n[getObject]: https://pub.dev/documentation/minio/latest/minio/Minio/getObject.html\n[getPartialObject]: https://pub.dev/documentation/minio/latest/minio/Minio/getPartialObject.html\n[putObject]: https://pub.dev/documentation/minio/latest/minio/Minio/putObject.html\n[copyObject]: https://pub.dev/documentation/minio/latest/minio/Minio/copyObject.html\n[statObject]: https://pub.dev/documentation/minio/latest/minio/Minio/statObject.html\n[removeObject]: https://pub.dev/documentation/minio/latest/minio/Minio/removeObject.html\n[removeObjects]: https://pub.dev/documentation/minio/latest/minio/Minio/removeObjects.html\n[removeIncompleteUpload]: https://pub.dev/documentation/minio/latest/minio/Minio/removeIncompleteUpload.html\n\n[fGetObject]: https://pub.dev/documentation/minio/latest/io/MinioX/fGetObject.html\n[fPutObject]: https://pub.dev/documentation/minio/latest/io/MinioX/fPutObject.html\n\n[presignedUrl]: https://pub.dev/documentation/minio/latest/minio/Minio/presignedUrl.html\n[presignedGetObject]: https://pub.dev/documentation/minio/latest/minio/Minio/presignedGetObject.html\n[presignedPutObject]: https://pub.dev/documentation/minio/latest/minio/Minio/presignedPutObject.html\n[presignedPostPolicy]: https://pub.dev/documentation/minio/latest/minio/Minio/presignedPostPolicy.html\n\n[getBucketNotification]: https://pub.dev/documentation/minio/latest/minio/Minio/getBucketNotification.html\n[setBucketNotification]: https://pub.dev/documentation/minio/latest/minio/Minio/setBucketNotification.html\n[removeAllBucketNotification]: https://pub.dev/documentation/minio/latest/minio/Minio/removeAllBucketNotification.html\n[listenBucketNotification]: https://pub.dev/documentation/minio/latest/minio/Minio/listenBucketNotification.html\n\n[getBucketPolicy]: https://pub.dev/documentation/minio/latest/minio/Minio/getBucketPolicy.html\n[setBucketPolicy]: https://pub.dev/documentation/minio/latest/minio/Minio/setBucketPolicy.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxtyxtyx%2Fminio-dart","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxtyxtyx%2Fminio-dart","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxtyxtyx%2Fminio-dart/lists"}