diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-29 09:50:46 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-29 09:50:46 +0000 |
commit | d21eb2210ee126676230b39ef4208b508a195e27 (patch) | |
tree | 2f2b2bcfd834658183ea3c18719ad8aeb24285d1 | |
parent | 6af0918a6cd98088b412b8b9179550f54c2f0498 (diff) |
automatic import of python-django-kck
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-django-kck.spec | 314 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 316 insertions, 0 deletions
@@ -0,0 +1 @@ +/django-kck-0.0.56.tar.gz diff --git a/python-django-kck.spec b/python-django-kck.spec new file mode 100644 index 0000000..361c748 --- /dev/null +++ b/python-django-kck.spec @@ -0,0 +1,314 @@ +%global _empty_manifest_terminate_build 0 +Name: python-django-kck +Version: 0.0.56 +Release: 1 +Summary: Data orchestration for Django +License: BSD +URL: https://gitlab.com/frameworklabs/django-kck +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/25/c4/9b22b22d197fe6fd4fa2936fdc9820559c2a578a2d4ace90187930ac59f7/django-kck-0.0.56.tar.gz +BuildArch: noarch + +Requires: python3-Django +Requires: python3-dateutil +Requires: python3-django-postgres-extensions +Requires: python3-psycopg2-binary +Requires: python3-django-picklefield + +%description +# Django KCK +Django KCK is data orchestration for Django. It can be used for: +* scheduled data imports from remote sources +* ensuring each data product kept fresh, either by updating at a regular + interval or when there is a change in source data on upon which it + depends +* preparing complex data products in advance of a likely request +* simplifying and optimizing complex data flows + +The development pattern Django KCK encourages for data products +emphasizes compartmentalization and simplification over complexity, +cached data with configurable refresh routines over real-time +computation, and common-sense optimizations over sprawling distributed +parallelism. + +## History +Django KCK is a simplified version of KCK that targets the Django +environment exclusively. It also uses PostgreSQL as the cache backend, +instead of Cassandra. + +## Quick Install + +## Basic Usage + +``` +# myapp/primers.py + +from kck import Primer + + +class TitleListPrimer(Primer): + key = 'title_list' + parameters = [ + {"name": "id", "from_str": int} + ] + + def compute(self, key): + param_dict = self.key_to_param_dict(key) + results = [{ 'title': lkp_title(id) } for id in param_dict['id_list']] + return results +``` + +``` +# myapp/views.py + +from kck import Cache +from django.http import JsonResponse + +def first_data_product_view(request, author_id): + cache = Cache.get_instance() + title_list = cache.get(f'title_list/{author_id}') + return JsonResponse(title_list) + +``` + +## Theory +Essentially, Django KCK is a lazy-loading cache. Instead of warming the +cache in advance, Django KCK lets a developer tell the cache how to +prime itself in the event of a cache miss. + +If we don't warm the cache in advance and we ask the cache for a data +product that depends on a hundred other data products in the cache, each +of which either gathers or computes data from other sources, then this +design will only generate or request the data that is absolutely +necessary for the computation. In this way, Django KCK is able to do +the last amount of work possible to accomplish the task. + +To further expedite the process or building derivative data products, +Django KCK includes mechanisms that allow for periodic or triggered +updates of data upon which a data product depends, such that it will be +immediately available when a request is made. + +It also makes it possible to "augment" derivative data products with +new information so that, for workloads that can take advantage of the +optimization, a data product can be updated in place, without +regenerating the product in its entirety. Where it works, this approach +can turn minutes of computation into milliseconds. + + + + +%package -n python3-django-kck +Summary: Data orchestration for Django +Provides: python-django-kck +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-django-kck +# Django KCK +Django KCK is data orchestration for Django. It can be used for: +* scheduled data imports from remote sources +* ensuring each data product kept fresh, either by updating at a regular + interval or when there is a change in source data on upon which it + depends +* preparing complex data products in advance of a likely request +* simplifying and optimizing complex data flows + +The development pattern Django KCK encourages for data products +emphasizes compartmentalization and simplification over complexity, +cached data with configurable refresh routines over real-time +computation, and common-sense optimizations over sprawling distributed +parallelism. + +## History +Django KCK is a simplified version of KCK that targets the Django +environment exclusively. It also uses PostgreSQL as the cache backend, +instead of Cassandra. + +## Quick Install + +## Basic Usage + +``` +# myapp/primers.py + +from kck import Primer + + +class TitleListPrimer(Primer): + key = 'title_list' + parameters = [ + {"name": "id", "from_str": int} + ] + + def compute(self, key): + param_dict = self.key_to_param_dict(key) + results = [{ 'title': lkp_title(id) } for id in param_dict['id_list']] + return results +``` + +``` +# myapp/views.py + +from kck import Cache +from django.http import JsonResponse + +def first_data_product_view(request, author_id): + cache = Cache.get_instance() + title_list = cache.get(f'title_list/{author_id}') + return JsonResponse(title_list) + +``` + +## Theory +Essentially, Django KCK is a lazy-loading cache. Instead of warming the +cache in advance, Django KCK lets a developer tell the cache how to +prime itself in the event of a cache miss. + +If we don't warm the cache in advance and we ask the cache for a data +product that depends on a hundred other data products in the cache, each +of which either gathers or computes data from other sources, then this +design will only generate or request the data that is absolutely +necessary for the computation. In this way, Django KCK is able to do +the last amount of work possible to accomplish the task. + +To further expedite the process or building derivative data products, +Django KCK includes mechanisms that allow for periodic or triggered +updates of data upon which a data product depends, such that it will be +immediately available when a request is made. + +It also makes it possible to "augment" derivative data products with +new information so that, for workloads that can take advantage of the +optimization, a data product can be updated in place, without +regenerating the product in its entirety. Where it works, this approach +can turn minutes of computation into milliseconds. + + + + +%package help +Summary: Development documents and examples for django-kck +Provides: python3-django-kck-doc +%description help +# Django KCK +Django KCK is data orchestration for Django. It can be used for: +* scheduled data imports from remote sources +* ensuring each data product kept fresh, either by updating at a regular + interval or when there is a change in source data on upon which it + depends +* preparing complex data products in advance of a likely request +* simplifying and optimizing complex data flows + +The development pattern Django KCK encourages for data products +emphasizes compartmentalization and simplification over complexity, +cached data with configurable refresh routines over real-time +computation, and common-sense optimizations over sprawling distributed +parallelism. + +## History +Django KCK is a simplified version of KCK that targets the Django +environment exclusively. It also uses PostgreSQL as the cache backend, +instead of Cassandra. + +## Quick Install + +## Basic Usage + +``` +# myapp/primers.py + +from kck import Primer + + +class TitleListPrimer(Primer): + key = 'title_list' + parameters = [ + {"name": "id", "from_str": int} + ] + + def compute(self, key): + param_dict = self.key_to_param_dict(key) + results = [{ 'title': lkp_title(id) } for id in param_dict['id_list']] + return results +``` + +``` +# myapp/views.py + +from kck import Cache +from django.http import JsonResponse + +def first_data_product_view(request, author_id): + cache = Cache.get_instance() + title_list = cache.get(f'title_list/{author_id}') + return JsonResponse(title_list) + +``` + +## Theory +Essentially, Django KCK is a lazy-loading cache. Instead of warming the +cache in advance, Django KCK lets a developer tell the cache how to +prime itself in the event of a cache miss. + +If we don't warm the cache in advance and we ask the cache for a data +product that depends on a hundred other data products in the cache, each +of which either gathers or computes data from other sources, then this +design will only generate or request the data that is absolutely +necessary for the computation. In this way, Django KCK is able to do +the last amount of work possible to accomplish the task. + +To further expedite the process or building derivative data products, +Django KCK includes mechanisms that allow for periodic or triggered +updates of data upon which a data product depends, such that it will be +immediately available when a request is made. + +It also makes it possible to "augment" derivative data products with +new information so that, for workloads that can take advantage of the +optimization, a data product can be updated in place, without +regenerating the product in its entirety. Where it works, this approach +can turn minutes of computation into milliseconds. + + + + +%prep +%autosetup -n django-kck-0.0.56 + +%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-django-kck -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 29 2023 Python_Bot <Python_Bot@openeuler.org> - 0.0.56-1 +- Package Spec generated @@ -0,0 +1 @@ +29aa1a3bbb313a3ff69f9d2c9d033eae django-kck-0.0.56.tar.gz |