Skip to main content

Key versioning caching for pyramid.

Project description

https://travis-ci.org/hadrien/pyramid_caching.png?branch=master https://coveralls.io/repos/hadrien/pyramid_caching/badge.png https://pypip.in/d/pyramid_caching/badge.png

Key versioning caching for pyramid.

Changelog

TODO

  • DOCUMENTATION.

  • Introspectables

  • Content negociation: we should add content type in cache key.

0.2.3

  • New release to fix packaging issue

0.2.2

  • Add the HTTP scheme to the cache key (mostly for generated links in response)

0.2.1

  • Bypass cache when an error occurs while getting the cache key version or the cached data.

0.2.0

  • ext.sqlalchemy: Increment new and deleted entities and table identities.

  • Simple dependency resolution for location-aware resources.

  • ext.royal: New extension for caching pyramid_royal resources.

  • Allow key identity generators to define resources that don’t need to be invalidated.

0.1.2

  • Breaking changes: cache_factory keyword arguments depends_on is a list of callables which receiving request as positional argument. Callables return the dependency to be identified by cache manager.

  • Add arguments predicates to cache_factory which permits to add predicates to cache key used for the view (useful for query strings).

0.1.1

  • Switch back to d2to1.

0.1

  • First draft of interfaces

  • Add a highly not efficient implementation of a key versioner

  • Add a model versioner which depends on key versioner and model identity inspector

  • Add an example application with dummy sqla model to run tests against

  • Add an sqla specific extention with hook on session events to get model modifications.

  • Add and remove cache_basic decorator to cache basic function with primitive typed argument. Let’s focus at view level. We’ll do basic decoraor later.

  • Add cache_factory to construct a decorator to pass to config.add_view method.

  • Add a cache manager which plug all components.

  • Add serializers to adapt objects to store on cache. Serializer objects follow a standard loads/dumps interface.

  • Add Redis client for caching and versioning

  • Implement master-version in redis version-store

  • The cache manager emits CacheHit and CacheMiss events. These events can be forwarded to a statistics aggregator by using the pyramid_metrics extension.

  • Sets the reponse ETag and custom X-View-Cache HTTP headers based on the versioned key of the resource.

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

pyramid_caching-0.2.3.tar.gz (12.9 kB view details)

Uploaded Source

File details

Details for the file pyramid_caching-0.2.3.tar.gz.

File metadata

File hashes

Hashes for pyramid_caching-0.2.3.tar.gz
Algorithm Hash digest
SHA256 034a1d0d50fd72ea5b86d16478a594f92e8262e126ed4b8833c6f6a56b39cd2b
MD5 0fc5a0af73ff5dd633c152f2400d3085
BLAKE2b-256 7be1cc88a5b9cf5ba6efde1b1d09478ce2f7f7168a956a7baca6af75e1f463fe

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page