Skip to main content

Manage files in bulk quantity using a friendly dict-like interface

Project description

File-Storehouse

Test and build Code style: black python PyPI Version

Main Features

File-Storehouse is a lightweight Python package that aims to facilitate the management of files in bulk quantity.

There are four key points that are combined to achieving such a goal:

  • Mapping Interface - The file managers are leveraged by the Mapping and MutableMapping interfaces, which means that everything can be done using a friendly dict-like interface. For instance:

    # Store data to a file:
    file_manager[id] = file_content
    # Retrine data from a file
    file_content = file_manager[id]
    # Delete a file
    del file_manager[id]
    # Loop through all files
    for id, content in file_manager.items():
        pass
    # and many more...
    
  • Engine - Choose the engine (or back-end) your file managers are connected to:

    • S3 buckets, powered by boto3;
    • Local filesystem and more are planned.
  • Key Mapping - Customize a two-way key mapping between the dict-like keys and the files' location at the engines according to the business rules of your application.

  • Transformations - Configure a chained operation to convert the files back and forward between your Python code and the storage. The supported operations are:

    • Encode/decode bytes and strings;
    • Dump/load Json files;
    • Compress/decompress tarballs and more transformations are planned.

Example

Please, take a look at the user story used for testing.

Copyright and License

© 2022 Felipe N. Schuch. All content is under MIT License.

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

file-storehouse-0.5.0.tar.gz (8.3 kB view details)

Uploaded Source

Built Distribution

file_storehouse-0.5.0-py3-none-any.whl (13.5 kB view details)

Uploaded Python 3

File details

Details for the file file-storehouse-0.5.0.tar.gz.

File metadata

  • Download URL: file-storehouse-0.5.0.tar.gz
  • Upload date:
  • Size: 8.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.14 CPython/3.8.10 Linux/5.15.0-1017-azure

File hashes

Hashes for file-storehouse-0.5.0.tar.gz
Algorithm Hash digest
SHA256 78e535862d8b852412e94d5014a31a18289bbcd1f34b570a3a53307b70d69ac8
MD5 da7ae65d82aa1ed37760242c2be0a12b
BLAKE2b-256 7469f8f7621f5b9fc43f2b9373b571c43d69d09c9342d5748892ce1de3ff6155

See more details on using hashes here.

File details

Details for the file file_storehouse-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: file_storehouse-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 13.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.14 CPython/3.8.10 Linux/5.15.0-1017-azure

File hashes

Hashes for file_storehouse-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e5e395aefa4553f29bed4d30dcc7051bf92faa742005bb6320340874b3526083
MD5 1c9ff79436780cb4ab5d5509ee71279d
BLAKE2b-256 a02167565ea6f22aaf91bbabe48140704fe04990dd8f17cb65472dab6bcab92c

See more details on using hashes here.

Supported by

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