Skip to main content

Upload manager

Project description

bbuploadmanager

bbuploadmanager is an easy python library which manages all uploading, downloading, state management functionality and multiple scenarios of our Uploads & Processing of you project.

Features

  • Uploading file to AWS S3
  • Reading uploaded file content from AWS S3
  • Upload Processing state management
  • Upload Manager Dashboard
  • Upload tracking

Installation

pip install https://github.com/Bigbasket/bbuploadmanager

OR

pip install upload-manager

Prerequisite

  • Python 3 and above
  • Django 2.1 and above

Environment

AWS_STORAGE_BUCKET_NAME

  • variable need to be set in environment to specify aws bucket.

AWS_ACCESS_KEY_ID & AWS_SECRET_ACCESS_KEY

  • variable need to be set in environment, Only if I Am Role is not enabled on the machine.

Sample Code

# Library Plugin code to be added in settings.py
INSTALLED_APPS = ["upload_manager.apps.UploadManagerConfig"]

# Below code to be implementation in your application.py\
# imports
from upload_manager.service import UploadManagerService

# file upload example
upload_service = UploadManagerService(<upload_name>, <username>, <S3_bucket_path>, files=[<file_obj>,])
upload_obj = upload_service.start_upload()

# reading uploaded file data in async thread
file_data = UploadManagerService.get_upload_content_for_id(upload_obj.id)

# writing response file example
upload_service.file_content = [("OrderId", "Status", "Message"),(11020304, "Success", "")]
upload_service.update_response_for_upload(upload_obj_id)

# updating upload status example
UploadManagerService.change_upload_status_to_inprocess(upload_obj.id)
UploadManagerService.change_upload_status_to_complete(upload_obj.id)
UploadManagerService.change_upload_status_to_failed(upload_obj.id)`

Dashboard View

Above image shows dashboard view, how the uploads can be viewed and tracked in django Admin.

  • Request File - Column contains a hyperlink to the uploaded file which was uploaded as part of start upload
  • Response File - Column contains a hyperlink to the uploaded response file was uploaded after the processing.

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

upload_manager-1.3.0.tar.gz (147.3 kB view details)

Uploaded Source

Built Distribution

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

upload_manager-1.3.0-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

Details for the file upload_manager-1.3.0.tar.gz.

File metadata

  • Download URL: upload_manager-1.3.0.tar.gz
  • Upload date:
  • Size: 147.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for upload_manager-1.3.0.tar.gz
Algorithm Hash digest
SHA256 559246af3f280aa71c92e4ee5dc20fc0fb2192fcd287111845bd3894a172343d
MD5 9ff25c8dcbfe01bd0a2b4bb0325d9d93
BLAKE2b-256 1ba06c77cf5266456c8747a9d2bb2349cea55922037859fbc89f83b8f34c5b5b

See more details on using hashes here.

File details

Details for the file upload_manager-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: upload_manager-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 11.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for upload_manager-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ce26f0c6f94880ae2388b893cb80127323b832bab3d3b96d96f0aa9253169908
MD5 201123df9648008e3b346f8698779f83
BLAKE2b-256 a234228d0b7ce253d2df44ba005311b17593bbce8405ca0f6eabb7d787c7391a

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