Skip to main content

This is python implementation for for interacting with s3, with familier syntax

Project description

libs3

The purpose of this repo is to provide an easy to use interface to s3 for python developers, the code python libraries like os, shutil are easy to use and more familier to any python programmer.

The repo aims to mimic the functionality so that your code will interact with s3 in same way as it is interacting in linux or windows filesystem, with 1 or 2 line change

Installation

pip install libs3

Documentation

A list of functions have been exposed which are working as of now and more will be added later (contributions are welcome)

os

Function Availaible Comments
os.listdir(x) yes As s3 has no notion of directories, in order to list directories along with files we have to traverse entire bucket and filter the results.
For more quick results you can use os.listdir(x, filesonly=True) is much fast but will only returns files and not directory
os.mkdir(x) no As s3 has no concept of directory, we cannot create an empty directory
os.makedirs(x) no As s3 has no concept of directory, we cannot create an empty directory
os.remove(x) no will be added in later releases
os.removedirs(x) no will be added in later releases
os.rmdir(x) no will be added in later releases
os.rename(x) no will be added in later releases
os.renames(x) no will be added in later releases
os.replace(x) no will be added in later releases
os.scandir(x) no will be added in later releases
os.walk(x) no will be added in later releases

os.path

Function Availaible Comments
os.path.basename(x) yes
os.path.commonpath(x) no will be added in later releases
os.path.commonprefix(x) no will be added in later releases
os.path.dirname(x) yes
os.path.exists(x) yes
os.path.isfile(x) yes
os.path.isdir(x) yes
os.path.join(x) no will be added in later releases

shutil

Function Availaible Comments
shutil.copyfile no will be added in later releases
shutil.copy no will be added in later releases
shutil.copytree no will be added in later releases
shutil.rmtree no will be added in later releases
shutil.move no will be added in later releases
shutil.disk_usage no will be added in later releases

Example

Importing the module and authorizing using s3 credentials

from libs3 import os
os.authorize(bucket, aws_access_key_id, aws_secret_access_key)

After authorizing access the interface like normally accessing filesystem

print(os.listdir("/dir_1/dir_1"))
print(os.listdir("/dir_1/dir_1", filesonly=True))   # Much quicker

print(os.path.exists('/dir_1/file_2'))
print(os.path.isfile('/dir_1/file_2'))
print(os.path.isdir('/dir_1/file_2'))
print(os.path.basename('/dir_1/file_2'))
print(os.path.dirname('/dir_1/file_2'))

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

libs3-0.1.tar.gz (3.8 kB view details)

Uploaded Source

Built Distribution

libs3-0.1-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

Details for the file libs3-0.1.tar.gz.

File metadata

  • Download URL: libs3-0.1.tar.gz
  • Upload date:
  • Size: 3.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.4

File hashes

Hashes for libs3-0.1.tar.gz
Algorithm Hash digest
SHA256 f6c2b8ebc5a0b1fbe50cc929c68fb02d853ad41edc8482d6be5209c720e17298
MD5 b34521d8c7e62e10415a699710debfd8
BLAKE2b-256 740ae6b63bf192d4c0554db9216d8ef7083af527ed91a0e636962572d7c57241

See more details on using hashes here.

File details

Details for the file libs3-0.1-py3-none-any.whl.

File metadata

  • Download URL: libs3-0.1-py3-none-any.whl
  • Upload date:
  • Size: 4.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.4

File hashes

Hashes for libs3-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 22ffb35d3c64c8c2d4d89be88fa92641093d6346f73f1c252cad244335aa8945
MD5 342d61372e6acda63aed8d85b91291b3
BLAKE2b-256 c3d1961da6af4db8d72c39f17dd1e7605e18adbc3d21326bb1f5c715677f26e3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page