Metadata-Version: 2.1
Name: airfs
Version: 1.5.0
Summary: A Python library for cloud and remote file Systems
Home-page: https://github.com/JGoutin/airfs
Author: J.Goutin
License: Apache License, Version 2.0
Project-URL: Documentation, https://airfs.readthedocs.io
Project-URL: Download, https://pypi.org/project/airfs
Keywords: file-system storage io stream cloud cloud-storage blob bucket alibaba aws azure github http openstack oss s3 swift
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Topic :: System :: Filesystems
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown; charset=UTF-8
Requires-Dist: requests (>=2.20.0)
Requires-Dist: python-dateutil (>=2.6.0importlib_resources>=2.0.0) ; python_version < "3.7"
Provides-Extra: all
Requires-Dist: python-swiftclient[keystone] (>=3.3.0) ; extra == 'all'
Requires-Dist: boto3 (>=1.5.0) ; extra == 'all'
Requires-Dist: azure-storage-file (<=2.1.0,>=1.3.0) ; extra == 'all'
Requires-Dist: azure-storage-blob (<=2.1.0,>=1.3.0) ; extra == 'all'
Requires-Dist: oss2 (>=2.3.0) ; extra == 'all'
Provides-Extra: azure_blob
Requires-Dist: azure-storage-blob (<=2.1.0,>=1.3.0) ; extra == 'azure_blob'
Provides-Extra: azure_file
Requires-Dist: azure-storage-file (<=2.1.0,>=1.3.0) ; extra == 'azure_file'
Provides-Extra: oss
Requires-Dist: oss2 (>=2.3.0) ; extra == 'oss'
Provides-Extra: s3
Requires-Dist: boto3 (>=1.5.0) ; extra == 's3'
Provides-Extra: swift
Requires-Dist: python-swiftclient[keystone] (>=3.3.0) ; extra == 'swift'

![Tests](https://github.com/JGoutin/airfs/workflows/tests/badge.svg)
[![codecov](https://codecov.io/gh/JGoutin/airfs/branch/master/graph/badge.svg)](https://codecov.io/gh/JGoutin/airfs)
[![Documentation Status](https://readthedocs.org/projects/airfs/badge/?version=latest)](https://airfs.readthedocs.io/en/latest/?badge=latest)
[![PyPI](https://img.shields.io/pypi/v/airfs.svg)](https://pypi.org/project/airfs)

airfs: A Python library for cloud and remote file Systems
=========================================================

airfs brings standard Python I/O to various storage (like cloud objects storage, remote
file-systems, ...) by providing:

* Abstract classes of Cloud objects with the complete ``io.RawIOBase`` and
  ``io.BufferedIOBase`` standard interfaces.
* Features equivalent to the standard library (``io``, ``os``, ``os.path``, ``shutil``)
  for seamlessly managing storage objects and local files.

These functions are source agnostic and always provide the same interface for all files
from storage or local file systems.

Buffered storage objects also support the following features:

* Buffered asynchronous writing of any object size.
* Buffered asynchronous preloading in reading mode.
* Write or read lock depending on memory usage limitation.
* Maximization of bandwidth using parallels connections.

For more information, refer to the [documentation](https://airfs.readthedocs.io).

Supported storage
-----------------

airfs is compatible with the following storage services:

* Alibaba Cloud OSS
* Amazon Web Services S3 (and compatible)
* GitHub (Read Only)
* Microsoft Azure Blobs Storage
* Microsoft Azure Files Storage
* OpenStack Swift / Object Store

airfs can also access any publicly accessible file via HTTP/HTTPS (Read only).

About airfs and Pycosio
-----------------------

"airfs" is a fork of the Accelize's 
"[Pycosio](https://github.com/Accelize/pycosio)" project.

The "Pycosio" project was started in 2018 to complement the products of the Accelize 
company. Over time and as Accelize products evolved, the library was no longer needed in
the company's products and was maintained less and less. Since mid 2019, Accelize no
longer has an interest in continuing to develop the library and no one is working on it.

As creator and sole developer of the library at Accelize, I decided to create a fork of
the project so that it is now maintained by the open source community under the name
"airfs" (the name "Pycosio" being the property of Accelize).


