Skip to main content

Lightweight S3 client with backblaze support

Project description

from ctypes import pythonapi

        ___       __    __                _       __    __         _____
       / (_)___ _/ /_  / /__      _____  (_)___ _/ /_  / /_   ____|__  /
      / / / __ `/ __ \/ __/ | /| / / _ \/ / __ `/ __ \/ __/  / ___//_ < 
     / / / /_/ / / / / /_ | |/ |/ /  __/ / /_/ / / / / /_   (__  )__/ / 
    /_/_/\__, /_/ /_/\__/ |__/|__/\___/_/\__, /_/ /_/\__/  /____/____/  
        /____/                          /____/                          

lightweight-s3

Ultra-lightweight S3 client. Memory leakage not implemented yet (unlike boto3)

pip install lightweight-s3

Supports:

  • sending existing files
  • sending string as zipped json (data sinks)
  • Operates within a session refreshed every four hours; be sure to shut down the client when you’re done.
Usage Create StorageConnectionParameters:
from lightweight_s3 import StorageConnectionParameters

storage_connection_parameters = StorageConnectionParameters(
    backblaze_access_key_id='access_key_id',
    backblaze_secret_access_key='secret_access_key',
    backblaze_endpoint_url='endpoint_url',
    backblaze_bucket_name='bucket_name'
)

Or just put em into the .env file. Load the .env using load_dotenv()
StorageConnectionParameters() will read all of parameters in format:

BACKBLAZE_ACCESS_KEY_ID=  
BACKBLAZE_SECRET_ACCESS_KEY=  
BACKBLAZE_ENDPOINT_URL=  
BACKBLAZE_BUCKET_NAME=  

or

AZURE_BLOB_PARAMETERS_WITH_KEY=  
AZURE_CONTAINER_NAME=

then:

load_dotenv(env_path)
storage_connection_parameters = StorageConnectionParameters()
s3_client = S3Client(storage_connection_parameters)

s3_client.upload_existing_file(file_path='C:/JohnnySins/Documents/SomeFile.csv')

s3_client.upload_zipped_jsoned_string(
    data='{some_sophisticated_data....}',
    file_name='some_csv_name.csv'
)

s3_client.shutdown()
Sample Main And the final sample main.py would look like:
from lightweight_s3 import S3Client, StorageConnectionParameters


if __name__ == '__main__ ':

    storage_connection_parameters = StorageConnectionParameters(
        backblaze_access_key_id='access_key_id',
        backblaze_secret_access_key='secret_access_key',
        backblaze_endpoint_url='endpoint_url',
        backblaze_bucket_name='bucket_name'
    )

    """
    Or just put em into the .env file. Load the .env using:
    
            load_dotenv(env_path)
    
    and then read it using:
    
            storage_connection_parameters = StorageConnectionParameters()
    """

    s3_client = S3Client(storage_connection_parameters)

    s3_client.upload_existing_file(file_path='C:/JohnnySins/Documents/SomeFile.csv')

    s3_client.upload_zipped_jsoned_string(
        data='some_sophisticated_data....',
        file_name='some_csv_name.csv'
    )

    s3_client.shutdown()

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

lightweight_s3-0.0.4.tar.gz (6.2 kB view details)

Uploaded Source

Built Distribution

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

lightweight_s3-0.0.4-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

Details for the file lightweight_s3-0.0.4.tar.gz.

File metadata

  • Download URL: lightweight_s3-0.0.4.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.4

File hashes

Hashes for lightweight_s3-0.0.4.tar.gz
Algorithm Hash digest
SHA256 d0496bc7eb41157ff40f3be6c989b53ee8d708d7f6ae0c6a5af9e140eb71afcc
MD5 37822a94b8ab31715d46721d859cbb48
BLAKE2b-256 f538e602616d38db1b645be763219cb762563bc764fadbc1e30e17679103c51b

See more details on using hashes here.

File details

Details for the file lightweight_s3-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: lightweight_s3-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 7.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.4

File hashes

Hashes for lightweight_s3-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 d5d1a19f7a4579719283bd41a1d4ddf8d4bf714a8158d0a62ca95c122b715fd9
MD5 aa1e5f232bd04c44c72d088df7c241db
BLAKE2b-256 2909edc9c4f5e8e7f50d5ac55fc810740ec212687f126daa58fbf2795e828d2a

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