Skip to main content

A Python client library for django-s3-file-field.

Project description

django-s3-file-field-client

PyPI

A Python client library for django-s3-file-field.

Installation

pip install django-s3-file-field-client

Usage

import mimetypes
import pathlib
import requests
from s3_file_field_client import S3FileFieldClient

api_client = requests.Session()  # This can be used to set authentication headers, etc.

s3ff_client = S3FileFieldClient(
    'http://localhost:8000/api/v1/s3-upload/',  # The path mounted in urlpatterns
    api_client,  # This argument is optional
)

file_to_upload = pathlib.Path('/path/to/my_file.txt')
with file_to_upload.open('rb') as file_stream:  # Open in binary mode
    field_value = s3ff_client.upload_file(
        file_stream=file_stream,  # This can be any file-like object
        file_name=file_to_upload.name,
        file_content_type=mimetypes.guess_type(file_to_upload)[0],
        field_id='core.File.blob',  # The "<app>.<model>.<field>" to upload to
    )

api_client.post(
    'http://localhost:8000/api/v1/file/',  # This is particular to the application
    json={
        'blob': field_value,  # This should match the field uploaded to (e.g. 'core.File.blob')
        ...: ...,   # Other fields for the POST request
    }
)

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

django_s3_file_field_client-1.1.0.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

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

django_s3_file_field_client-1.1.0-py3-none-any.whl (3.2 kB view details)

Uploaded Python 3

File details

Details for the file django_s3_file_field_client-1.1.0.tar.gz.

File metadata

File hashes

Hashes for django_s3_file_field_client-1.1.0.tar.gz
Algorithm Hash digest
SHA256 7313b1e5147b3aa199916586daf07c82ef93dc3aef44e539c311efa2b1edd518
MD5 670552f9572779624774e052ea2296e0
BLAKE2b-256 6f0051a13a70b0fde0b58b0bf3ca53adc23a7e4fc179791aa56856bd3244a34c

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_s3_file_field_client-1.1.0.tar.gz:

Publisher: release.yml on kitware-resonant/django-s3-file-field

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file django_s3_file_field_client-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for django_s3_file_field_client-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a44512995ff69c2f687d31bed3d92f340123b56930de32e78f9db671b39faf64
MD5 47768fa30b4cdad0f83d4dcfa78f011f
BLAKE2b-256 608819b97746251647fd1287d58a013647a3ed03ab6c6e2d7bf26fd13c2a287a

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_s3_file_field_client-1.1.0-py3-none-any.whl:

Publisher: release.yml on kitware-resonant/django-s3-file-field

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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