Skip to main content

OSSFS is a PyFilesystem interface to AliCloud OSS cloud storage.

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

Installing

You can install OSSFS from pip as follows:

pip install fs-ossfs

Opening a OSSFS

Open an OSSFS by explicitly using the constructor:

from fs_ossfs import OSSFS
ossfs = OSSFS('mybucket')

Or with a FS URL:

from fs import open_fs
ossfs = open_fs('oss://mybucket')

Downloading Files

To download files from an OSS bucket, open a file on the OSS 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 OSS to your HD:

from fs.tools import copy_file_data
with ossfs.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(ossfs, 'example.mov', './', 'example.mov')

Uploading Files

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

ExtraArgs

OSS 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
ossfs = OSSFS('example', upload_args={"CacheControl": "max-age=2592000", "ACL": "public-read"})
fs.mirror.mirror('/path/to/mirror', ossfs)

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('oss://example?acl=public-read&cache_control=max-age%3D2592000%2Cpublic') as ossfs
    fs.mirror.mirror('/path/to/mirror', ossfs)

OSS URLs

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

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

Documentation

Release files for fs-ossfs 1.1.1

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-ossfs 1.1.1
File Size Uploaded
fs-ossfs-1.1.1.tar.gz 11.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fs-ossfs 1.1.1
File Interpreter ABI Platform
fs_ossfs-1.1.1-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 22.5 kB

Release files / fs-ossfs-1.1.1.tar.gz

Download URL fs-ossfs-1.1.1.tar.gz
Size 11.2 kB
Tags Source
SHA-256 checksum
How to use checksums
a9f02aa48e902bd5dfff1924c1092071b72961e128dd4dfed9ed33b0052a4a36
BLAKE2b-256 checksum
How to use checksums
0df6b27afa3edac3ce4e9c9bba17f5787e76a07c9db0454d72202207a51b1817
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Python-urllib/3.7

Release files / fs_ossfs-1.1.1-py2.py3-none-any.whl

Download URL fs_ossfs-1.1.1-py2.py3-none-any.whl
Size 11.4 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
98bfab0e011d7f8b4bd389a38edbac6f19ac445f28c4dbbb7f88014d3148acab
BLAKE2b-256 checksum
How to use checksums
be67393239bdc58a54f34c2e819461bd42437e26e86ed645a8c8711cc17cfff8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Python-urllib/3.7

Release history Release notifications | RSS feed

This release

1.1.1 This release

2 release files

1.1.0

2 release files

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