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.
Release files for upload-manager 1.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| upload_manager-1.3.0.tar.gz | 147.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| upload_manager-1.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 159.2 kB
Release files / upload_manager-1.3.0.tar.gz
| Download URL | upload_manager-1.3.0.tar.gz |
|---|---|
| Size | 147.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
559246af3f280aa71c92e4ee5dc20fc0fb2192fcd287111845bd3894a172343d
|
|
BLAKE2b-256 checksum How to use checksums |
1ba06c77cf5266456c8747a9d2bb2349cea55922037859fbc89f83b8f34c5b5b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.4
|
Release files / upload_manager-1.3.0-py3-none-any.whl
| Download URL | upload_manager-1.3.0-py3-none-any.whl |
|---|---|
| Size | 11.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ce26f0c6f94880ae2388b893cb80127323b832bab3d3b96d96f0aa9253169908
|
|
BLAKE2b-256 checksum How to use checksums |
a234228d0b7ce253d2df44ba005311b17593bbce8405ca0f6eabb7d787c7391a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.4
|