Skip to main content

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

Project description

File-Storehouse

File Storehouse logo

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


  • QA: CI CodeQL pre-commit.ci status Coverage Quality Gate Status CodeFactor

  • Docs: Docs

  • Meta: Wizard Template Checked with mypy Hatch project Ruff GitHub License EffVer Versioning


Overview

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.1.tar.gz (215.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

file_storehouse-0.5.1-py3-none-any.whl (14.7 kB view details)

Uploaded Python 3

File details

Details for the file file_storehouse-0.5.1.tar.gz.

File metadata

  • Download URL: file_storehouse-0.5.1.tar.gz
  • Upload date:
  • Size: 215.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for file_storehouse-0.5.1.tar.gz
Algorithm Hash digest
SHA256 9c31135da912b4b33f707831f738def249de9eda2de4900cd0e79078cc0854fe
MD5 6964ec3acb26801eb2cabd8e576ebc42
BLAKE2b-256 5fec08ab2fbd79c37d3090dc9d201e830d6e84ce2422fd095cc1b4fdab8764e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for file_storehouse-0.5.1.tar.gz:

Publisher: ci.yaml on fschuch/file_storehouse

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for file_storehouse-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 dbc9b1283121f55c5caf320450e8c392854ef9feffb579d81f26d369d09b80c3
MD5 66f130de7f0d0155dd0185ce57fa26c8
BLAKE2b-256 b9e568dd4f66cc38476948c37671de45b1c3d8c6a86d28f7ed61ba3a8cbcc00d

See more details on using hashes here.

Provenance

The following attestation bundles were made for file_storehouse-0.5.1-py3-none-any.whl:

Publisher: ci.yaml on fschuch/file_storehouse

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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