14
0
Files
python-requests-cache/python-requests-cache.spec
Dirk Mueller 81288eb2bd - update to 1.2.0:
* Drop support for python 3.7
  * Remove methods deprecated in 1.0 from `CachedSession` and
    `BaseCache`
  * Add support for `X-HTTP-Method-Override` and other headers
    that can override request method
  * Add `CachedSession.wrap()` classmethod to add caching to an
    existing `requests.Session` object
  * Add `vacuum` parameter to `SQLiteCache.delete()` to
    optionally skip vacuuming after deletion (enabled by default
    to free up disk space)
  * Optimize `SQLiteCache.delete()` when deleting a single key
  * Add support for RFC 7159 JSON body with `decode_content=True`
    (root element with any type)
  * Use timezone-aware UTC datetimes for all internal expiration
    values
  * Add support for python 3.12
  * Note: There is a known bug with multiprocess/multithreaded
    usage of the SQLite backend on python 3.12.
  * Add support for cattrs 23.2
  * Fix `IncompleteRead` error that could sometimes occur with
    streaming requests due to mismatch with `Content-Length`
    header
  * Handle a corner case with streaming requests, conditional
    requests, and redirects
  * When redacting ignored parameters from a cached response,
    keep the rest of the original URL and headers without
    normalizing
  * Add `CachedHTTPResponse._request_url` property for
    compatibility with urllib3

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-requests-cache?expand=0&rev=20
2024-03-13 10:16:59 +00:00

97 lines
3.3 KiB
RPMSpec

#
# spec file for package python-requests-cache
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: python-requests-cache
Version: 1.2.0
Release: 0
Summary: Persistent cache for requests library
License: BSD-2-Clause
Group: Development/Languages/Python
URL: https://github.com/requests-cache/requests-cache
Source: https://github.com/requests-cache/requests-cache/archive/refs/tags/v%{version}.tar.gz#/requests-cache-%{version}.tar.gz
BuildRequires: %{python_module pip}
BuildRequires: %{python_module poetry-core}
BuildRequires: fdupes
BuildRequires: psmisc
BuildRequires: python-rpm-macros
Requires: python-itsdangerous
Requires: python-requests >= 2.0.0
Requires: python-url-normalize >= 1.4
Recommends: python-redis
Suggests: python-boto3
Suggests: python-mongodb
BuildArch: noarch
# SECTION test requirements
BuildRequires: %{python_module cattrs}
BuildRequires: %{python_module gunicorn}
BuildRequires: %{python_module httpbin}
BuildRequires: %{python_module itsdangerous}
BuildRequires: %{python_module platformdirs}
BuildRequires: %{python_module pymongo}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module redis}
BuildRequires: %{python_module requests >= 2.0.0}
BuildRequires: %{python_module requests-mock}
BuildRequires: %{python_module responses}
BuildRequires: %{python_module rich}
BuildRequires: %{python_module tenacity}
BuildRequires: %{python_module time-machine}
BuildRequires: %{python_module timeout-decorator}
BuildRequires: %{python_module url-normalize >= 1.4}
BuildRequires: redis
# /SECTION
%python_subpackages
%description
Requests-cache is a transparent persistent cache for requests_ library.
It can be useful when you are creating some simple data scraper with constantly
changing parsing logic or data format, and don't want to redownload pages or
write complex error handling and persistence.
Requests-cache ignores all cache headers, it just caches the data for the
time you specify.
If you need library which knows how to use HTTP headers and status codes,
take a look at `CacheControl <https://github.com/ionrock/cachecontrol>`_.
%prep
%setup -q -n requests-cache-%{version}
%build
%pyproject_wheel
%install
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
gunicorn -b 127.0.0.1:8080 httpbin:app -k gevent &
%{_sbindir}/redis-server &
export HTTPBIN_URL=http://localhost:8080/
%pytest -k 'not (dynamodb or gridfs or mongodb)'
killall -w redis-server
%files %{python_files}
%license LICENSE
%doc README.md HISTORY.md docs/*.rst
%{python_sitelib}/requests_cache
%{python_sitelib}/requests_cache-%{version}*-info
%changelog