summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-03-09 16:24:34 +0000
committerCoprDistGit <infra@openeuler.org>2023-03-09 16:24:34 +0000
commitd8f4f92ee3570c4cb33053a9dfca1841e2d4d977 (patch)
tree6f0c9e0e3dcebb38077a9629788e8c008c5c5222
parent58eaeb254fb3381d0ab93376c28c2c2781c43893 (diff)
automatic import of python-requests-cache
-rw-r--r--.gitignore1
-rw-r--r--python-requests-cache.spec550
-rw-r--r--sources1
3 files changed, 552 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..7f5946a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/requests_cache-1.0.0.tar.gz
diff --git a/python-requests-cache.spec b/python-requests-cache.spec
new file mode 100644
index 0000000..7ca3e01
--- /dev/null
+++ b/python-requests-cache.spec
@@ -0,0 +1,550 @@
+%global _empty_manifest_terminate_build 0
+Name: python-requests-cache
+Version: 1.0.0
+Release: 1
+Summary: A persistent cache for python requests
+License: BSD-2-Clause
+URL: https://github.com/requests-cache/requests-cache
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/ae/36/2d19b9c2442cb73c4a9a3a9c2916cc1709077ed3f78d8c7270f9ae5273ca/requests_cache-1.0.0.tar.gz
+BuildArch: noarch
+
+Requires: python3-requests
+Requires: python3-urllib3
+Requires: python3-attrs
+Requires: python3-cattrs
+Requires: python3-platformdirs
+Requires: python3-url-normalize
+Requires: python3-boto3
+Requires: python3-botocore
+Requires: python3-pymongo
+Requires: python3-redis
+Requires: python3-bson
+Requires: python3-itsdangerous
+Requires: python3-pyyaml
+Requires: python3-ujson
+Requires: python3-furo
+Requires: python3-linkify-it-py
+Requires: python3-myst-parser
+Requires: python3-sphinx
+Requires: python3-sphinx-autodoc-typehints
+Requires: python3-sphinx-automodapi
+Requires: python3-sphinx-copybutton
+Requires: python3-sphinx-design
+Requires: python3-sphinx-notfound-page
+Requires: python3-sphinxcontrib-apidoc
+Requires: python3-sphinxext-opengraph
+
+%description
+[![](docs/_static/requests-cache-logo-header.png)](https://requests-cache.readthedocs.io)
+
+[![Build](https://github.com/requests-cache/requests-cache/actions/workflows/build.yml/badge.svg)](https://github.com/requests-cache/requests-cache/actions/workflows/build.yml)
+[![Codecov](https://codecov.io/gh/requests-cache/requests-cache/branch/main/graph/badge.svg?token=FnybzVWbt2)](https://codecov.io/gh/requests-cache/requests-cache)
+[![Documentation](https://img.shields.io/readthedocs/requests-cache/stable)](https://requests-cache.readthedocs.io/en/stable/)
+[![Code Shelter](https://www.codeshelter.co/static/badges/badge-flat.svg)](https://www.codeshelter.co/)
+
+[![PyPI](https://img.shields.io/pypi/v/requests-cache?color=blue)](https://pypi.org/project/requests-cache)
+[![Conda](https://img.shields.io/conda/vn/conda-forge/requests-cache?color=blue)](https://anaconda.org/conda-forge/requests-cache)
+[![PyPI - Python Versions](https://img.shields.io/pypi/pyversions/requests-cache)](https://pypi.org/project/requests-cache)
+[![PyPI - Downloads](https://img.shields.io/pypi/dm/requests-cache?color=blue)](https://pypi.org/project/requests-cache)
+
+## Summary
+**requests-cache** is a persistent HTTP cache that provides an easy way to get better
+performance with the python [requests](https://requests.readthedocs.io/) library.
+
+<!-- RTD-IGNORE -->
+Complete project documentation can be found at [requests-cache.readthedocs.io](https://requests-cache.readthedocs.io).
+<!-- END-RTD-IGNORE -->
+
+## Features
+* 🍰 **Ease of use:** Keep using the `requests` library you're already familiar with. Add caching
+ with a [drop-in replacement](https://requests-cache.readthedocs.io/en/stable/user_guide/general.html#sessions)
+ for `requests.Session`, or
+ [install globally](https://requests-cache.readthedocs.io/en/stable/user_guide/general.html#patching)
+ to add transparent caching to all `requests` functions.
+* 🚀 **Performance:** Get sub-millisecond response times for cached responses. When they expire, you
+ still save time with
+ [conditional requests](https://requests-cache.readthedocs.io/en/stable/user_guide/headers.html#conditional-requests).
+* 💾 **Persistence:** Works with several
+ [storage backends](https://requests-cache.readthedocs.io/en/stable/user_guide/backends.html)
+ including SQLite, Redis, MongoDB, and DynamoDB; or save responses as plain JSON files, YAML,
+ and more
+* 🕗 **Expiration:** Use
+ [Cache-Control](https://requests-cache.readthedocs.io/en/stable/user_guide/headers.html#cache-control)
+ and other standard HTTP headers, define your own expiration schedule, keep your cache clutter-free
+ with backends that natively support TTL, or any combination of strategies
+* ⚙️ **Customization:** Works out of the box with zero config, but with a robust set of features for
+ configuring and extending the library to suit your needs
+* 🧩 **Compatibility:** Can be combined with other
+ [popular libraries based on requests](https://requests-cache.readthedocs.io/en/stable/user_guide/compatibility.html)
+
+## Quickstart
+First, install with pip:
+```bash
+pip install requests-cache
+```
+
+Then, use [requests_cache.CachedSession](https://requests-cache.readthedocs.io/en/stable/session.html)
+to make your requests. It behaves like a normal
+[requests.Session](https://requests.readthedocs.io/en/latest/user/advanced/#session-objects),
+but with caching behavior.
+
+To illustrate, we'll call an endpoint that adds a delay of 1 second, simulating a slow or
+rate-limited website.
+
+**This takes 1 minute:**
+```python
+import requests
+
+session = requests.Session()
+for i in range(60):
+ session.get('https://httpbin.org/delay/1')
+```
+
+**This takes 1 second:**
+```python
+import requests_cache
+
+session = requests_cache.CachedSession('demo_cache')
+for i in range(60):
+ session.get('https://httpbin.org/delay/1')
+```
+
+With caching, the response will be fetched once, saved to `demo_cache.sqlite`, and subsequent
+requests will return the cached response near-instantly.
+
+### Patching
+If you don't want to manage a session object, or just want to quickly test it out in your
+application without modifying any code, requests-cache can also be installed globally, and all
+requests will be transparently cached:
+```python
+import requests
+import requests_cache
+
+requests_cache.install_cache('demo_cache')
+requests.get('https://httpbin.org/delay/1')
+```
+
+### Headers and Expiration
+By default, requests-cache will keep cached responses indefinitely. In most cases, you will want to
+use one of the two following strategies to balance cache freshness and performance:
+
+**Define exactly how long to keep responses:**
+
+Use the `expire_after` parameter to set a fixed expiration time for all responses:
+```python
+from requests_cache import CachedSession
+from datetime import timedelta
+
+# Keep responses for 360 seconds
+session = CachedSession('demo_cache', expire_after=360)
+
+# Or use timedelta objects to specify other units of time
+session = CachedSession('demo_cache', expire_after=timedelta(hours=1))
+```
+See [Expiration](https://requests-cache.readthedocs.io/en/stable/user_guide/expiration.html) for
+more features and settings.
+
+**Use Cache-Control headers:**
+
+Use the `cache_control` parameter to enable automatic expiration based on `Cache-Control` and other
+standard HTTP headers sent by the server:
+```python
+from requests_cache import CachedSession
+
+session = CachedSession('demo_cache', cache_control=True)
+```
+See [Cache Headers](https://requests-cache.readthedocs.io/en/stable/user_guide/headers.html)
+for more details.
+
+
+### Settings
+The default settings work well for most use cases, but there are plenty of ways to customize
+caching behavior when needed. Here is a quick example of some of the options available:
+```python
+from datetime import timedelta
+from requests_cache import CachedSession
+
+session = CachedSession(
+ 'demo_cache',
+ use_cache_dir=True, # Save files in the default user cache dir
+ cache_control=True, # Use Cache-Control response headers for expiration, if available
+ expire_after=timedelta(days=1), # Otherwise expire responses after one day
+ allowable_codes=[200, 400], # Cache 400 responses as a solemn reminder of your failures
+ allowable_methods=['GET', 'POST'], # Cache whatever HTTP methods you want
+ ignored_parameters=['api_key'], # Don't match this request param, and redact if from the cache
+ match_headers=['Accept-Language'], # Cache a different response per language
+ stale_if_error=True, # In case of request errors, use stale cache data if possible
+)
+```
+
+<!-- RTD-IGNORE -->
+## Next Steps
+To find out more about what you can do with requests-cache, see:
+
+* [User Guide](https://requests-cache.readthedocs.io/en/stable/user_guide.html)
+* [Examples](https://requests-cache.readthedocs.io/en/stable/examples.html)
+* [API Reference](https://requests-cache.readthedocs.io/en/stable/reference.html)
+* [Project Info](https://requests-cache.readthedocs.io/en/stable/project_info.html)
+<!-- END-RTD-IGNORE -->
+
+
+%package -n python3-requests-cache
+Summary: A persistent cache for python requests
+Provides: python-requests-cache
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-requests-cache
+[![](docs/_static/requests-cache-logo-header.png)](https://requests-cache.readthedocs.io)
+
+[![Build](https://github.com/requests-cache/requests-cache/actions/workflows/build.yml/badge.svg)](https://github.com/requests-cache/requests-cache/actions/workflows/build.yml)
+[![Codecov](https://codecov.io/gh/requests-cache/requests-cache/branch/main/graph/badge.svg?token=FnybzVWbt2)](https://codecov.io/gh/requests-cache/requests-cache)
+[![Documentation](https://img.shields.io/readthedocs/requests-cache/stable)](https://requests-cache.readthedocs.io/en/stable/)
+[![Code Shelter](https://www.codeshelter.co/static/badges/badge-flat.svg)](https://www.codeshelter.co/)
+
+[![PyPI](https://img.shields.io/pypi/v/requests-cache?color=blue)](https://pypi.org/project/requests-cache)
+[![Conda](https://img.shields.io/conda/vn/conda-forge/requests-cache?color=blue)](https://anaconda.org/conda-forge/requests-cache)
+[![PyPI - Python Versions](https://img.shields.io/pypi/pyversions/requests-cache)](https://pypi.org/project/requests-cache)
+[![PyPI - Downloads](https://img.shields.io/pypi/dm/requests-cache?color=blue)](https://pypi.org/project/requests-cache)
+
+## Summary
+**requests-cache** is a persistent HTTP cache that provides an easy way to get better
+performance with the python [requests](https://requests.readthedocs.io/) library.
+
+<!-- RTD-IGNORE -->
+Complete project documentation can be found at [requests-cache.readthedocs.io](https://requests-cache.readthedocs.io).
+<!-- END-RTD-IGNORE -->
+
+## Features
+* 🍰 **Ease of use:** Keep using the `requests` library you're already familiar with. Add caching
+ with a [drop-in replacement](https://requests-cache.readthedocs.io/en/stable/user_guide/general.html#sessions)
+ for `requests.Session`, or
+ [install globally](https://requests-cache.readthedocs.io/en/stable/user_guide/general.html#patching)
+ to add transparent caching to all `requests` functions.
+* 🚀 **Performance:** Get sub-millisecond response times for cached responses. When they expire, you
+ still save time with
+ [conditional requests](https://requests-cache.readthedocs.io/en/stable/user_guide/headers.html#conditional-requests).
+* 💾 **Persistence:** Works with several
+ [storage backends](https://requests-cache.readthedocs.io/en/stable/user_guide/backends.html)
+ including SQLite, Redis, MongoDB, and DynamoDB; or save responses as plain JSON files, YAML,
+ and more
+* 🕗 **Expiration:** Use
+ [Cache-Control](https://requests-cache.readthedocs.io/en/stable/user_guide/headers.html#cache-control)
+ and other standard HTTP headers, define your own expiration schedule, keep your cache clutter-free
+ with backends that natively support TTL, or any combination of strategies
+* ⚙️ **Customization:** Works out of the box with zero config, but with a robust set of features for
+ configuring and extending the library to suit your needs
+* 🧩 **Compatibility:** Can be combined with other
+ [popular libraries based on requests](https://requests-cache.readthedocs.io/en/stable/user_guide/compatibility.html)
+
+## Quickstart
+First, install with pip:
+```bash
+pip install requests-cache
+```
+
+Then, use [requests_cache.CachedSession](https://requests-cache.readthedocs.io/en/stable/session.html)
+to make your requests. It behaves like a normal
+[requests.Session](https://requests.readthedocs.io/en/latest/user/advanced/#session-objects),
+but with caching behavior.
+
+To illustrate, we'll call an endpoint that adds a delay of 1 second, simulating a slow or
+rate-limited website.
+
+**This takes 1 minute:**
+```python
+import requests
+
+session = requests.Session()
+for i in range(60):
+ session.get('https://httpbin.org/delay/1')
+```
+
+**This takes 1 second:**
+```python
+import requests_cache
+
+session = requests_cache.CachedSession('demo_cache')
+for i in range(60):
+ session.get('https://httpbin.org/delay/1')
+```
+
+With caching, the response will be fetched once, saved to `demo_cache.sqlite`, and subsequent
+requests will return the cached response near-instantly.
+
+### Patching
+If you don't want to manage a session object, or just want to quickly test it out in your
+application without modifying any code, requests-cache can also be installed globally, and all
+requests will be transparently cached:
+```python
+import requests
+import requests_cache
+
+requests_cache.install_cache('demo_cache')
+requests.get('https://httpbin.org/delay/1')
+```
+
+### Headers and Expiration
+By default, requests-cache will keep cached responses indefinitely. In most cases, you will want to
+use one of the two following strategies to balance cache freshness and performance:
+
+**Define exactly how long to keep responses:**
+
+Use the `expire_after` parameter to set a fixed expiration time for all responses:
+```python
+from requests_cache import CachedSession
+from datetime import timedelta
+
+# Keep responses for 360 seconds
+session = CachedSession('demo_cache', expire_after=360)
+
+# Or use timedelta objects to specify other units of time
+session = CachedSession('demo_cache', expire_after=timedelta(hours=1))
+```
+See [Expiration](https://requests-cache.readthedocs.io/en/stable/user_guide/expiration.html) for
+more features and settings.
+
+**Use Cache-Control headers:**
+
+Use the `cache_control` parameter to enable automatic expiration based on `Cache-Control` and other
+standard HTTP headers sent by the server:
+```python
+from requests_cache import CachedSession
+
+session = CachedSession('demo_cache', cache_control=True)
+```
+See [Cache Headers](https://requests-cache.readthedocs.io/en/stable/user_guide/headers.html)
+for more details.
+
+
+### Settings
+The default settings work well for most use cases, but there are plenty of ways to customize
+caching behavior when needed. Here is a quick example of some of the options available:
+```python
+from datetime import timedelta
+from requests_cache import CachedSession
+
+session = CachedSession(
+ 'demo_cache',
+ use_cache_dir=True, # Save files in the default user cache dir
+ cache_control=True, # Use Cache-Control response headers for expiration, if available
+ expire_after=timedelta(days=1), # Otherwise expire responses after one day
+ allowable_codes=[200, 400], # Cache 400 responses as a solemn reminder of your failures
+ allowable_methods=['GET', 'POST'], # Cache whatever HTTP methods you want
+ ignored_parameters=['api_key'], # Don't match this request param, and redact if from the cache
+ match_headers=['Accept-Language'], # Cache a different response per language
+ stale_if_error=True, # In case of request errors, use stale cache data if possible
+)
+```
+
+<!-- RTD-IGNORE -->
+## Next Steps
+To find out more about what you can do with requests-cache, see:
+
+* [User Guide](https://requests-cache.readthedocs.io/en/stable/user_guide.html)
+* [Examples](https://requests-cache.readthedocs.io/en/stable/examples.html)
+* [API Reference](https://requests-cache.readthedocs.io/en/stable/reference.html)
+* [Project Info](https://requests-cache.readthedocs.io/en/stable/project_info.html)
+<!-- END-RTD-IGNORE -->
+
+
+%package help
+Summary: Development documents and examples for requests-cache
+Provides: python3-requests-cache-doc
+%description help
+[![](docs/_static/requests-cache-logo-header.png)](https://requests-cache.readthedocs.io)
+
+[![Build](https://github.com/requests-cache/requests-cache/actions/workflows/build.yml/badge.svg)](https://github.com/requests-cache/requests-cache/actions/workflows/build.yml)
+[![Codecov](https://codecov.io/gh/requests-cache/requests-cache/branch/main/graph/badge.svg?token=FnybzVWbt2)](https://codecov.io/gh/requests-cache/requests-cache)
+[![Documentation](https://img.shields.io/readthedocs/requests-cache/stable)](https://requests-cache.readthedocs.io/en/stable/)
+[![Code Shelter](https://www.codeshelter.co/static/badges/badge-flat.svg)](https://www.codeshelter.co/)
+
+[![PyPI](https://img.shields.io/pypi/v/requests-cache?color=blue)](https://pypi.org/project/requests-cache)
+[![Conda](https://img.shields.io/conda/vn/conda-forge/requests-cache?color=blue)](https://anaconda.org/conda-forge/requests-cache)
+[![PyPI - Python Versions](https://img.shields.io/pypi/pyversions/requests-cache)](https://pypi.org/project/requests-cache)
+[![PyPI - Downloads](https://img.shields.io/pypi/dm/requests-cache?color=blue)](https://pypi.org/project/requests-cache)
+
+## Summary
+**requests-cache** is a persistent HTTP cache that provides an easy way to get better
+performance with the python [requests](https://requests.readthedocs.io/) library.
+
+<!-- RTD-IGNORE -->
+Complete project documentation can be found at [requests-cache.readthedocs.io](https://requests-cache.readthedocs.io).
+<!-- END-RTD-IGNORE -->
+
+## Features
+* 🍰 **Ease of use:** Keep using the `requests` library you're already familiar with. Add caching
+ with a [drop-in replacement](https://requests-cache.readthedocs.io/en/stable/user_guide/general.html#sessions)
+ for `requests.Session`, or
+ [install globally](https://requests-cache.readthedocs.io/en/stable/user_guide/general.html#patching)
+ to add transparent caching to all `requests` functions.
+* 🚀 **Performance:** Get sub-millisecond response times for cached responses. When they expire, you
+ still save time with
+ [conditional requests](https://requests-cache.readthedocs.io/en/stable/user_guide/headers.html#conditional-requests).
+* 💾 **Persistence:** Works with several
+ [storage backends](https://requests-cache.readthedocs.io/en/stable/user_guide/backends.html)
+ including SQLite, Redis, MongoDB, and DynamoDB; or save responses as plain JSON files, YAML,
+ and more
+* 🕗 **Expiration:** Use
+ [Cache-Control](https://requests-cache.readthedocs.io/en/stable/user_guide/headers.html#cache-control)
+ and other standard HTTP headers, define your own expiration schedule, keep your cache clutter-free
+ with backends that natively support TTL, or any combination of strategies
+* ⚙️ **Customization:** Works out of the box with zero config, but with a robust set of features for
+ configuring and extending the library to suit your needs
+* 🧩 **Compatibility:** Can be combined with other
+ [popular libraries based on requests](https://requests-cache.readthedocs.io/en/stable/user_guide/compatibility.html)
+
+## Quickstart
+First, install with pip:
+```bash
+pip install requests-cache
+```
+
+Then, use [requests_cache.CachedSession](https://requests-cache.readthedocs.io/en/stable/session.html)
+to make your requests. It behaves like a normal
+[requests.Session](https://requests.readthedocs.io/en/latest/user/advanced/#session-objects),
+but with caching behavior.
+
+To illustrate, we'll call an endpoint that adds a delay of 1 second, simulating a slow or
+rate-limited website.
+
+**This takes 1 minute:**
+```python
+import requests
+
+session = requests.Session()
+for i in range(60):
+ session.get('https://httpbin.org/delay/1')
+```
+
+**This takes 1 second:**
+```python
+import requests_cache
+
+session = requests_cache.CachedSession('demo_cache')
+for i in range(60):
+ session.get('https://httpbin.org/delay/1')
+```
+
+With caching, the response will be fetched once, saved to `demo_cache.sqlite`, and subsequent
+requests will return the cached response near-instantly.
+
+### Patching
+If you don't want to manage a session object, or just want to quickly test it out in your
+application without modifying any code, requests-cache can also be installed globally, and all
+requests will be transparently cached:
+```python
+import requests
+import requests_cache
+
+requests_cache.install_cache('demo_cache')
+requests.get('https://httpbin.org/delay/1')
+```
+
+### Headers and Expiration
+By default, requests-cache will keep cached responses indefinitely. In most cases, you will want to
+use one of the two following strategies to balance cache freshness and performance:
+
+**Define exactly how long to keep responses:**
+
+Use the `expire_after` parameter to set a fixed expiration time for all responses:
+```python
+from requests_cache import CachedSession
+from datetime import timedelta
+
+# Keep responses for 360 seconds
+session = CachedSession('demo_cache', expire_after=360)
+
+# Or use timedelta objects to specify other units of time
+session = CachedSession('demo_cache', expire_after=timedelta(hours=1))
+```
+See [Expiration](https://requests-cache.readthedocs.io/en/stable/user_guide/expiration.html) for
+more features and settings.
+
+**Use Cache-Control headers:**
+
+Use the `cache_control` parameter to enable automatic expiration based on `Cache-Control` and other
+standard HTTP headers sent by the server:
+```python
+from requests_cache import CachedSession
+
+session = CachedSession('demo_cache', cache_control=True)
+```
+See [Cache Headers](https://requests-cache.readthedocs.io/en/stable/user_guide/headers.html)
+for more details.
+
+
+### Settings
+The default settings work well for most use cases, but there are plenty of ways to customize
+caching behavior when needed. Here is a quick example of some of the options available:
+```python
+from datetime import timedelta
+from requests_cache import CachedSession
+
+session = CachedSession(
+ 'demo_cache',
+ use_cache_dir=True, # Save files in the default user cache dir
+ cache_control=True, # Use Cache-Control response headers for expiration, if available
+ expire_after=timedelta(days=1), # Otherwise expire responses after one day
+ allowable_codes=[200, 400], # Cache 400 responses as a solemn reminder of your failures
+ allowable_methods=['GET', 'POST'], # Cache whatever HTTP methods you want
+ ignored_parameters=['api_key'], # Don't match this request param, and redact if from the cache
+ match_headers=['Accept-Language'], # Cache a different response per language
+ stale_if_error=True, # In case of request errors, use stale cache data if possible
+)
+```
+
+<!-- RTD-IGNORE -->
+## Next Steps
+To find out more about what you can do with requests-cache, see:
+
+* [User Guide](https://requests-cache.readthedocs.io/en/stable/user_guide.html)
+* [Examples](https://requests-cache.readthedocs.io/en/stable/examples.html)
+* [API Reference](https://requests-cache.readthedocs.io/en/stable/reference.html)
+* [Project Info](https://requests-cache.readthedocs.io/en/stable/project_info.html)
+<!-- END-RTD-IGNORE -->
+
+
+%prep
+%autosetup -n requests-cache-1.0.0
+
+%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-requests-cache -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Thu Mar 09 2023 Python_Bot <Python_Bot@openeuler.org> - 1.0.0-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..c383f7c
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+0f20a10212e48b303d520d28709d9da5 requests_cache-1.0.0.tar.gz