%global _empty_manifest_terminate_build 0 Name: python-Flask-SQLAlchemy-Caching Version: 1.0.4 Release: 1 Summary: CachingQuery implementation to Flask using Flask-SQLAlchemy and Flask-Caching License: MIT URL: http://www.github.com/bbelyeu/Flask-SQLAlchemy-Caching Source0: https://mirrors.nju.edu.cn/pypi/web/packages/da/3d/20339dbe72c9acacd0191dfaf8af9e29aaf153fa8759a3a7ddaaaae9b03b/Flask-SQLAlchemy-Caching-1.0.4.tar.gz BuildArch: noarch %description This is a fork of [iurisilvio's Flask-SQLAlchemy-Cache](https://github.com/iurisilvio/Flask-SQLAlchemy-Cache) A CachingQuery implementation to Flask using Flask-SQLAlchemy and Flask-Caching. To start using caching queries, you just have to replace Flask-SQLAlchemy `Model.query_class`. ```python from flask_sqlalchemy import SQLAlchemy from flask_sqlalchemy_caching import CachingQuery from flask_caching import Cache db = SQLAlchemy(app, query_class=CachingQuery) cache = Cache(app) ``` After that, you can just make queries to a model `YourModel`: ```python from flask_sqlalchemy_caching import FromCache # cache is a Flask-Caching instance imported for your app init YourModel.query.options(FromCache(cache)).get() ``` You also have `RelationshipCache` to enable lazy loading relationships from cache. ```python from sqlalchemy.orm import lazyload from flask_sqlalchemy_caching import RelationshipCache rc = RelationshipCache(YourModel.some_relationship, cache) obj = YourModel.query.options(lazyload(YourModel.some_relationship), rc).get() # make the query and cache the results for future queries print(obj.some_relationship) ``` If there is a column in your table that is much more dynamic and you want to exclude it from being cached, try using a deferred query like: ```python YourModel.query.options(defer('crazy_column')).options(FromCache(cache)).get() ``` Take a look at [Dogpile Caching example][] to more details about how `CachingQuery` works. Most changes to their were made just to integrate it with Flask, Flask-SQLAlchemy and Flask-Caching instead of Dogpile. [Dogpile Caching example]: http://docs.sqlalchemy.org/en/latest/orm/examples.html?highlight=dogpile#module-examples.dogpile_caching %package -n python3-Flask-SQLAlchemy-Caching Summary: CachingQuery implementation to Flask using Flask-SQLAlchemy and Flask-Caching Provides: python-Flask-SQLAlchemy-Caching BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-Flask-SQLAlchemy-Caching This is a fork of [iurisilvio's Flask-SQLAlchemy-Cache](https://github.com/iurisilvio/Flask-SQLAlchemy-Cache) A CachingQuery implementation to Flask using Flask-SQLAlchemy and Flask-Caching. To start using caching queries, you just have to replace Flask-SQLAlchemy `Model.query_class`. ```python from flask_sqlalchemy import SQLAlchemy from flask_sqlalchemy_caching import CachingQuery from flask_caching import Cache db = SQLAlchemy(app, query_class=CachingQuery) cache = Cache(app) ``` After that, you can just make queries to a model `YourModel`: ```python from flask_sqlalchemy_caching import FromCache # cache is a Flask-Caching instance imported for your app init YourModel.query.options(FromCache(cache)).get() ``` You also have `RelationshipCache` to enable lazy loading relationships from cache. ```python from sqlalchemy.orm import lazyload from flask_sqlalchemy_caching import RelationshipCache rc = RelationshipCache(YourModel.some_relationship, cache) obj = YourModel.query.options(lazyload(YourModel.some_relationship), rc).get() # make the query and cache the results for future queries print(obj.some_relationship) ``` If there is a column in your table that is much more dynamic and you want to exclude it from being cached, try using a deferred query like: ```python YourModel.query.options(defer('crazy_column')).options(FromCache(cache)).get() ``` Take a look at [Dogpile Caching example][] to more details about how `CachingQuery` works. Most changes to their were made just to integrate it with Flask, Flask-SQLAlchemy and Flask-Caching instead of Dogpile. [Dogpile Caching example]: http://docs.sqlalchemy.org/en/latest/orm/examples.html?highlight=dogpile#module-examples.dogpile_caching %package help Summary: Development documents and examples for Flask-SQLAlchemy-Caching Provides: python3-Flask-SQLAlchemy-Caching-doc %description help This is a fork of [iurisilvio's Flask-SQLAlchemy-Cache](https://github.com/iurisilvio/Flask-SQLAlchemy-Cache) A CachingQuery implementation to Flask using Flask-SQLAlchemy and Flask-Caching. To start using caching queries, you just have to replace Flask-SQLAlchemy `Model.query_class`. ```python from flask_sqlalchemy import SQLAlchemy from flask_sqlalchemy_caching import CachingQuery from flask_caching import Cache db = SQLAlchemy(app, query_class=CachingQuery) cache = Cache(app) ``` After that, you can just make queries to a model `YourModel`: ```python from flask_sqlalchemy_caching import FromCache # cache is a Flask-Caching instance imported for your app init YourModel.query.options(FromCache(cache)).get() ``` You also have `RelationshipCache` to enable lazy loading relationships from cache. ```python from sqlalchemy.orm import lazyload from flask_sqlalchemy_caching import RelationshipCache rc = RelationshipCache(YourModel.some_relationship, cache) obj = YourModel.query.options(lazyload(YourModel.some_relationship), rc).get() # make the query and cache the results for future queries print(obj.some_relationship) ``` If there is a column in your table that is much more dynamic and you want to exclude it from being cached, try using a deferred query like: ```python YourModel.query.options(defer('crazy_column')).options(FromCache(cache)).get() ``` Take a look at [Dogpile Caching example][] to more details about how `CachingQuery` works. Most changes to their were made just to integrate it with Flask, Flask-SQLAlchemy and Flask-Caching instead of Dogpile. [Dogpile Caching example]: http://docs.sqlalchemy.org/en/latest/orm/examples.html?highlight=dogpile#module-examples.dogpile_caching %prep %autosetup -n Flask-SQLAlchemy-Caching-1.0.4 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-Flask-SQLAlchemy-Caching -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Tue May 30 2023 Python_Bot - 1.0.4-1 - Package Spec generated