Skip to main content

MINIOFS is a PyFilesystem interface to Amazon S3 cloud storage.

As a PyFilesystem concrete class, MINIOFS allows you to work with S3 in the same way as any other supported filesystem.

Installing

You can install MINIOFS from pip as follows:

pip install fs-miniofs

Opening a MINIOFS

Open an MINIOFS by explicitly using the constructor:

from fs_miniofs import MINIOFS
miniofs = MINIOFS('mybucket')

Or with a FS URL:

from fs import open_fs
miniofs = open_fs('minio://mybucket')

Downloading Files

To download files from an S3 bucket, open a file on the S3 filesystem for reading, then write the data to a file on the local filesystem. Here’s an example that copies a file example.mov from S3 to your HD:

from fs.tools import copy_file_data
with miniofs.open('example.mov', 'rb') as remote_file:
    with open('example.mov', 'wb') as local_file:
        copy_file_data(remote_file, local_file)

Although it is preferable to use the higher-level functionality in the fs.copy module. Here’s an example:

from fs.copy import copy_file
copy_file(miniofs, 'example.mov', './', 'example.mov')

Uploading Files

You can upload files in the same way. Simply copy a file from a source filesystem to the S3 filesystem. See Moving and Copying for more information.

ExtraArgs

S3 objects have additional properties, beyond a traditional filesystem. These options can be set using the upload_args and download_args properties. which are handed to upload and download methods, as appropriate, for the lifetime of the filesystem instance.

For example, to set the cache-control header of all objects uploaded to a bucket:

import fs, fs.mirror
miniofs = MINIOFS('example', upload_args={"CacheControl": "max-age=2592000", "ACL": "public-read"})
fs.mirror.mirror('/path/to/mirror', miniofs)

see the Boto3 docs for more information.

acl and cache_control are exposed explicitly for convenience, and can be used in URLs. It is important to URL-Escape the cache_control value in a URL, as it may contain special characters.

import fs, fs.mirror
with open fs.open_fs('s3://example?acl=public-read&cache_control=max-age%3D2592000%2Cpublic') as miniofs
    fs.mirror.mirror('/path/to/mirror', miniofs)

S3 URLs

You can get a public URL to a file on a S3 bucket as follows:

movie_url = miniofs.geturl('example.mov')

Documentation

Metadata

Release files for fs-miniofs 1.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fs-miniofs 1.1.2
File Size Uploaded Provenance Actions
fs-miniofs-1.1.2.tar.gz 10.4 kB Without provenance Details for fs-miniofs-1.1.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for fs-miniofs 1.1.2
File Interpreter ABI Platform Actions
fs_miniofs-1.1.2-py2.py3-none-any.whl Python 2, Python 3 none any Details for fs_miniofs-1.1.2-py2.py3-none-any.whl

Total release size: 21.1 kB

Release files / fs-miniofs-1.1.2.tar.gz

Download URL fs-miniofs-1.1.2.tar.gz
Size 10.4 kB
Tags Source
SHA-256 checksum
How to use checksums
726ed3ec950c62aae2e2de64f4aefcfc6835ee00e3a3e5678054aa552f77d465
BLAKE2b-256 checksum
How to use checksums
3536ae666c05f929876aed87cbac395e342fa3fc0a57c3115a2026fa5eaa40c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.6

Release files / fs_miniofs-1.1.2-py2.py3-none-any.whl

Download URL fs_miniofs-1.1.2-py2.py3-none-any.whl
Size 10.6 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
3ceae023ad9cd67bf30517f6514ea95c543497c274e7966c385219431e180c9b
BLAKE2b-256 checksum
How to use checksums
37069801f6e13bd07f7c523784e9aa39ef4926d7fb9953ded36e1a3bf71cd7cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.6

Security for fs-miniofs 1.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.1.2 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page