| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186 |
- Metadata-Version: 2.1
- Name: minio
- Version: 7.2.20
- Summary: MinIO Python SDK for Amazon S3 Compatible Cloud Storage
- Home-page: https://github.com/minio/minio-py
- Download-URL: https://github.com/minio/minio-py/releases
- Author: MinIO, Inc.
- Author-email: dev@min.io
- License: Apache-2.0
- Classifier: Development Status :: 5 - Production/Stable
- Classifier: Intended Audience :: Developers
- Classifier: License :: OSI Approved :: Apache Software License
- Classifier: Natural Language :: English
- Classifier: Operating System :: OS Independent
- Classifier: Programming Language :: Python
- Classifier: Programming Language :: Python :: 3.9
- Classifier: Programming Language :: Python :: 3.10
- Classifier: Programming Language :: Python :: 3.11
- Classifier: Programming Language :: Python :: 3.12
- Classifier: Programming Language :: Python :: 3.13
- Classifier: Topic :: Software Development :: Libraries :: Python Modules
- Requires-Python: >=3.9
- Description-Content-Type: text/markdown
- License-File: LICENSE
- License-File: NOTICE
- Requires-Dist: argon2-cffi
- Requires-Dist: certifi
- Requires-Dist: pycryptodome
- Requires-Dist: typing-extensions
- Requires-Dist: urllib3
- # MinIO Python Client SDK for Amazon S3 Compatible Cloud Storage [](https://slack.min.io) [](https://github.com/minio/minio-py/blob/master/LICENSE)
- The MinIO Python Client SDK provides high level APIs to access any MinIO Object Storage or other Amazon S3 compatible service.
- This Quickstart Guide covers how to install the MinIO client SDK, connect to the object storage service, and create a sample file uploader.
- The example below uses:
- - [Python version 3.7+](https://www.python.org/downloads/)
- - The [MinIO `mc` command line tool](https://min.io/docs/minio/linux/reference/minio-mc.html)
- - The MinIO `play` test server
- The `play` server is a public MinIO cluster located at [https://play.min.io](https://play.min.io).
- This cluster runs the latest stable version of MinIO and may be used for testing and development.
- The access credentials in the example are open to the public and all data uploaded to `play` should be considered public and world-readable.
- For a complete list of APIs and examples, see the [Python Client API Reference](https://min.io/docs/minio/linux/developers/python/API.html)
- ## Install the MinIO Python SDK
- The Python SDK requires Python version 3.7+.
- You can install the SDK with `pip` or from the [`minio/minio-py` GitHub repository](https://github.com/minio/minio-py):
- ### Using `pip`
- ```sh
- pip3 install minio
- ```
- ### Using Source From GitHub
- ```sh
- git clone https://github.com/minio/minio-py
- cd minio-py
- python setup.py install
- ```
- ## Create a MinIO Client
- To connect to the target service, create a MinIO client using the `Minio()` method with the following required parameters:
- | Parameter | Description |
- |--------------|--------------------------------------------------------|
- | `endpoint` | URL of the target service. |
- | `access_key` | Access key (user ID) of a user account in the service. |
- | `secret_key` | Secret key (password) for the user account. |
- For example:
- ```py
- from minio import Minio
- client = Minio("play.min.io",
- access_key="Q3AM3UQ867SPQQA43P2F",
- secret_key="zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG",
- )
- ```
- ## Example - File Uploader
- This example does the following:
- - Connects to the MinIO `play` server using the provided credentials.
- - Creates a bucket named `python-test-bucket` if it does not already exist.
- - Uploads a file named `test-file.txt` from `/tmp`, renaming it `my-test-file.txt`.
- - Verifies the file was created using [`mc ls`](https://min.io/docs/minio/linux/reference/minio-mc/mc-ls.html).
- ### `file_uploader.py`
- ```py
- # file_uploader.py MinIO Python SDK example
- from minio import Minio
- from minio.error import S3Error
- def main():
- # Create a client with the MinIO server playground, its access key
- # and secret key.
- client = Minio("play.min.io",
- access_key="Q3AM3UQ867SPQQA43P2F",
- secret_key="zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG",
- )
- # The file to upload, change this path if needed
- source_file = "/tmp/test-file.txt"
- # The destination bucket and filename on the MinIO server
- bucket_name = "python-test-bucket"
- destination_file = "my-test-file.txt"
-
- # Make the bucket if it doesn't exist.
- found = client.bucket_exists(bucket_name)
- if not found:
- client.make_bucket(bucket_name)
- print("Created bucket", bucket_name)
- else:
- print("Bucket", bucket_name, "already exists")
- # Upload the file, renaming it in the process
- client.fput_object(
- bucket_name, destination_file, source_file,
- )
- print(
- source_file, "successfully uploaded as object",
- destination_file, "to bucket", bucket_name,
- )
- if __name__ == "__main__":
- try:
- main()
- except S3Error as exc:
- print("error occurred.", exc)
- ```
- To run this example:
- 1. Create a file in `/tmp` named `test-file.txt`.
- To use a different path or filename, modify the value of `source_file`.
- 2. Run `file_uploader.py` with the following command:
- ```sh
- python file_uploader.py
- ```
- If the bucket does not exist on the server, the output resembles the following:
- ```sh
- Created bucket python-test-bucket
- /tmp/test-file.txt successfully uploaded as object my-test-file.txt to bucket python-test-bucket
- ```
- 3. Verify the uploaded file with `mc ls`:
- ```sh
- mc ls play/python-test-bucket
- [2023-11-03 22:18:54 UTC] 20KiB STANDARD my-test-file.txt
- ```
- ## More References
- * [Python Client API Reference](https://min.io/docs/minio/linux/developers/python/API.html)
- * [Examples](https://github.com/minio/minio-py/tree/master/examples)
- ## Explore Further
- * [Complete Documentation](https://min.io/docs/minio/kubernetes/upstream/index.html)
- ## Contribute
- [Contributors Guide](https://github.com/minio/minio-py/blob/master/CONTRIBUTING.md)
- ## License
- This SDK is distributed under the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0), see [LICENSE](https://github.com/minio/minio-py/blob/master/LICENSE) and [NOTICE](https://github.com/minio/minio-go/blob/master/NOTICE) for more information.
- [](https://pypi.python.org/pypi/minio)
|