Skip to main content

gzip middleware for ASGI applications, extracted from Starlette

Project description

asgi-gzip

PyPI Changelog License

gzip middleware for ASGI applications, extracted from Starlette

Installation

Install this library using pip:

pip install asgi-gzip

Usage

from asgi_gzip import GZipMiddleware
from my_asgi_app import app

gzip_app = GZipMiddleware(app)

Consult the Starlette GZipMiddleware documentation for full details.

Should you use this package?

This package exists purely for use by ASGI applications that want to add gzip support without adding the whole of Starlette as a dependency.

But... Starlette is actually a very light dependency! It's a small codebase and it only depends on two other small libraries - check its install_requires in the Starlette setup.py module.

So if you don't mind adding Starlette as a dependency, you should consider using that directly instead.

Tracking Starlette

Since this code is extracted from Starlette, it's important to keep watch for changes and bug fixes to the Starlette implementation that should be replicated here.

The GitHub repository for this library uses Git scraping to track changes to a copy of the Starlette gzip.py module, which is kept in the tracking/ folder.

Any time a change to that file is detected, an issue will be automatically created in the repository. This issue should be closed once the change to Starlette has been applied here, if necessary.

Development

To contribute to this library, first checkout the code. Then create a new virtual environment:

cd asgi-gzip
python -m venv venv
source venv/bin/activate

Now install the dependencies and test dependencies:

pip install -e '.[test]'

To run the tests:

pytest

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

asgi-gzip-0.1.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

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

asgi_gzip-0.1-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

Details for the file asgi-gzip-0.1.tar.gz.

File metadata

  • Download URL: asgi-gzip-0.1.tar.gz
  • Upload date:
  • Size: 5.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.4

File hashes

Hashes for asgi-gzip-0.1.tar.gz
Algorithm Hash digest
SHA256 e64e1965e147b201dcdc2bffeecc946d4cf862fb40c2d5609b1641466b87f15f
MD5 480982317580e73d4b12715f7f2deccb
BLAKE2b-256 4ecbb6c770f35a719c4f5568f8fb4db03b4e91776dc79a44994926bcfd66060d

See more details on using hashes here.

File details

Details for the file asgi_gzip-0.1-py3-none-any.whl.

File metadata

  • Download URL: asgi_gzip-0.1-py3-none-any.whl
  • Upload date:
  • Size: 5.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.4

File hashes

Hashes for asgi_gzip-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f097767d900198e7010471f3e0232d8b8376511f6721660e8c755ba3edc029d3
MD5 5e959129ac2a5b2033913da9d77d6eb8
BLAKE2b-256 79b5af82e29e7168b763a6bb4983935ed42f33c5cab4bd9b0fd1cfd755b4a0c3

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