Metadata-Version: 2.4
Name: pookie-storage
Version: 0.1.2
Summary: A Django storage field that works everywhere. One import. Any backend. Zero plumbing.
Author: Grace Peter Mutiibwa
License: MIT
Project-URL: Homepage, https://github.com/GracePeterMutiibwa/pookieStorage
Project-URL: Repository, https://github.com/GracePeterMutiibwa/pookieStorage
Keywords: django,storage,filefield,r2,s3,cloudflare,file upload
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Framework :: Django
Classifier: Framework :: Django :: 3.2
Classifier: Framework :: Django :: 4.0
Classifier: Framework :: Django :: 4.1
Classifier: Framework :: Django :: 4.2
Classifier: Framework :: Django :: 5.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Internet :: WWW/HTTP
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: Django>=3.2
Provides-Extra: dev
Requires-Dist: pytest>=7.4; extra == "dev"
Requires-Dist: pytest-django; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: black; extra == "dev"
Requires-Dist: ruff; extra == "dev"

# pookieStorage

[![Python Version](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://python.org)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Documentation Status](https://readthedocs.org/projects/pookie-storage/badge/?version=latest)](https://pookie-storage.readthedocs.io/en/latest/?badge=latest)
[![PyPI version](https://img.shields.io/pypi/v/pookie-storage.svg)](https://pypi.org/project/pookie-storage/)

A Django storage field that works everywhere. One import. Any backend. Zero plumbing.

## Installation

pip install pookie-storage

## Quick start

Add to INSTALLED_APPS:

    INSTALLED_APPS = [
        ...
        "pookieStorage",
    ]

Configure your backends in settings.py:

    POOKIE_STORAGE = {
        "local": "core.storage.LocalStorage",
        "cloud": "core.storage.MediaStorage",
    }

    POOKIE_STORAGE_BACKEND = "cloud"

Swap the import in your models:

    from pookieStorage.fields import FileField

That is it. Your models, views, and business logic stay exactly the same.

See the [Backend setup guide](https://pookie-storage.readthedocs.io/en/latest/backends/) for full examples including Cloudflare R2 and AWS S3 configuration.

## Documentation

Full documentation is available at https://pookie-storage.readthedocs.io

## License

MIT
