Skip to main content

Publish Python Package

softwrdwrangler

softwrdwrangler is a Python package designed to simplify and streamline operations on various AWS resources, primarily focusing on S3. It offers utilities for reading and writing different file formats and managing S3 objects efficiently.

Pre-requisites

You need to have AWS CLI installed and configured with the necessary permissions to interact with AWS services.

Install AWS CLI

Follow the installation guide here: AWS CLI Installation

Once installed, configure it by running:

aws configure

Installation

Install the package via pip:

pip install softwrdwrangler

Usage

S3 Operations

S3 Read and Write Pickle

import softwrdwrangler as swr

# Reading a pickle file from S3
data = swr.read_pickle('s3://bucket-name/path/to/file.pkl')

# Writing a DataFrame to a pickle file in S3
swr.write_pickle(data, 's3://bucket-name/path/to/file.pkl')

S3 Read and Write JSON

import softwrdwrangler as swr

# Writing a dictionary to a JSON file in S3
data = {'a': 1, 'b': 2}
swr.write_json(data, 's3://bucket-name/path/to/file.json')

# Reading a JSON file from S3
print(swr.read_json('s3://bucket-name/path/to/file.json'))

S3 Read and Write CSV

import softwrdwrangler as swr

# Reading a CSV file from S3
data = swr.read_csv('s3://bucket-name/path/to/file.csv')

# Writing a DataFrame to a CSV file in S3
swr.write_csv(data, 's3://bucket-name/path/to/file.csv')

S3 Read and Write GeoJSON

import softwrdwrangler as swr

# Reading a GeoJSON file from S3
data = swr.read_geojson('s3://bucket-name/path/to/file.geojson')

# Writing a dictionary to a GeoJSON file in S3
swr.write_geojson(data, 's3://bucket-name/path/to/file.geojson')

Additional S3 Utilities

List Files

List all files in a specified S3 bucket and prefix.

import softwrdwrangler as swr

files = swr.list_files('s3://bucket-name/path/to/folder/')
print(files)

Delete File

Delete a specific file from S3.

import softwrdwrangler as swr

swr.delete_file('s3://bucket-name/path/to/file')

Upload Local File to S3

Upload a file from local storage to S3.

import softwrdwrangler as swr

swr.upload_file('/local/path/to/file', 's3://bucket-name/path/to/file')

Download S3 File to Local Storage

Download a file from S3 to local storage.

import softwrdwrangler as swr

swr.download_file('s3://bucket-name/path/to/file', '/local/path/to/file')

Copy File within S3

Copy a file from one S3 location to another.

import softwrdwrangler as swr

swr.copy_file('s3://source-bucket/path/to/file', 's3://destination-bucket/path/to/file')

Generate Pre-signed URL

Generate a pre-signed URL to grant temporary access to an S3 object.

import softwrdwrangler as swr

url = swr.generate_presigned_url('s3://bucket-name/path/to/file', expiration=3600)
print(url)

Advanced Operations

Get Latest Date-stamped Folder (ds_nodash)

Retrieve the latest date-stamped folder (e.g., 20221201) from a given S3 prefix, with an optional skip count.

import softwrdwrangler as swr

latest_date = swr.get_latest_ds_nodash('s3://bucket-name/path', skip=1)
if latest_date:
    print(f"Latest ds_nodash after skipping 1: {latest_date}")
else:
    print("No valid date folders found or error occurred.")

License

softwrdwrangler is licensed under the Apache Software License.

Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/

Metadata

Release files for softwrdwrangler 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for softwrdwrangler 0.1.3
File Size Uploaded
softwrdwrangler-0.1.3.tar.gz 7.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for softwrdwrangler 0.1.3
File Interpreter ABI Platform
softwrdwrangler-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 17.4 kB

Release files / softwrdwrangler-0.1.3.tar.gz

Download URL softwrdwrangler-0.1.3.tar.gz
Size 7.7 kB
Tags Source
SHA-256 checksum
How to use checksums
995b0226ce7af94a01e676a135cc9860d43dcbcac41cb5eed5d8b7eff562f1cf
BLAKE2b-256 checksum
How to use checksums
0f5251dab9deba78b6b25464fb5e0c79994aa07a41b4e3b291cc0bcbcfdf0484
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / softwrdwrangler-0.1.3-py3-none-any.whl

Download URL softwrdwrangler-0.1.3-py3-none-any.whl
Size 9.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
57dbba0bf20a71d324fea3ea777f47a1198cab8696937a8c9f0b72774218d44b
BLAKE2b-256 checksum
How to use checksums
085797239a3c02d056e517a3f62f657461290f7a7bcb983390e02a7b23d403a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.15

2 release files

0.0.14

2 release files

0.0.11

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page