Skip to main content

A simple way to interact with local and remote files / folders through an easy-to-use and highly extendable API.

Project description

Copyright (c) 2025 Sean Yeatts, Inc. All rights reserved.

A simple way to interact with local and remote file systems. Easily extendable to support custom endpoints.

Key Features

  • High level methods provide intuitive ways to move, copy, and delete files / folders with minimal code.

  • Low level methods provide injection points for middleman services ( ex. data encryption ).

  • Hook into data streams to monitor progress; useful for GUI apps that incorporate progress bars.

Quickstart

Key import statements :

from swiftstorage import Storage

Example - a simple script that transfers a file between two directories on the user’s local machine :

# IMPORTS
from swiftstorage import Storage


# MOCKUP FUNCTIONS
def monitor_download(percent: float) -> None:
    print(f"downloaded: {percent}%")

def monitor_upload(percent: float) -> None:
    print(f"uploaded: {percent}%")


# MAIN DEFINITION
def main() -> None:

    # [1] Prepare datastores using basic paths
    source      = Storage(fr"cache\folder-1")
    destination = Storage(fr"cache\folder-2")

    # [2] ( OPTIONAL ) Hook into data streams to monitor transfer progress
    source.stream.connect(monitor_download)
    destination.stream.connect(monitor_upload)

    # [3] Perform a simple copy ( + rename ) operation
    file    = "test-file.jpg"
    renamed = "test-file-copy.jpg"
    source.copy(file, destination, renamed, overwrite=True)


# ENTRY POINT
if __name__ == "__main__":
    main()

Installation

Prerequisites:

  • Python 3.8 or higher is recommended

  • pip 24.0 or higher is recommended

For a pip installation:

Open a new Command Prompt. Run the following command:

py -m pip install swiftstorage

For a local installation:

Extract the contents of this module to a safe location. Open a new terminal and navigate to the top level directory of your project. Run the following command:

py -m pip install "DIRECTORY_HERE\swiftstorage\dist\swiftstorage-1.0.0.tar.gz"
  • DIRECTORY_HERE should be replaced with the complete filepath to the folder where you saved the SwiftStorage module contents.

  • Depending on the release of SwiftStorage you’ve chosen, you may have to change 1.0.0 to reflect your specific version.

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

swiftstorage-0.2.1.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

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

swiftstorage-0.2.1-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

Details for the file swiftstorage-0.2.1.tar.gz.

File metadata

  • Download URL: swiftstorage-0.2.1.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.0

File hashes

Hashes for swiftstorage-0.2.1.tar.gz
Algorithm Hash digest
SHA256 19ae6eaca83f17cf7a3b13dd82d9bbd2bf277cf9aa1f769f15d2b124167d79f0
MD5 841be4ae9518b5fa5d16ba2342f3d134
BLAKE2b-256 766d7eb46a2ed29e4181f0acd3c2676439348d03cf7bd66913f58d8b4bb8aef3

See more details on using hashes here.

File details

Details for the file swiftstorage-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: swiftstorage-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 7.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.0

File hashes

Hashes for swiftstorage-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 92dbdd529970ef8273dcbc67ae84a0b2badd0df4a1897023e32e7c8e961bfe3d
MD5 fcd226826279bd8002f1c246ae921124
BLAKE2b-256 bca5ada41584eaa3a7ef2931e463b32da8ebe6475addbb26e4825695eb594ce8

See more details on using hashes here.

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