summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-04-10 10:05:18 +0000
committerCoprDistGit <infra@openeuler.org>2023-04-10 10:05:18 +0000
commitdd9961dad4056a814b897986395bc28bb7e45637 (patch)
tree1c297fea6c1db0afd82b16fba199781de8d9d14b
parent538f19752201d6419699a20b886236d043f80358 (diff)
automatic import of python-jikanpy
-rw-r--r--.gitignore1
-rw-r--r--python-jikanpy.spec1512
-rw-r--r--sources1
3 files changed, 1514 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..0298340 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/jikanpy-4.3.2.tar.gz
diff --git a/python-jikanpy.spec b/python-jikanpy.spec
new file mode 100644
index 0000000..ae80af6
--- /dev/null
+++ b/python-jikanpy.spec
@@ -0,0 +1,1512 @@
+%global _empty_manifest_terminate_build 0
+Name: python-jikanpy
+Version: 4.3.2
+Release: 1
+Summary: Python wrapper for the Jikan API
+License: MIT
+URL: https://github.com/abhinavk99/jikanpy
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/83/e8/209046fb69080845d4f891602e65b803b2516df5e15dd822ff62de105fc6/jikanpy-4.3.2.tar.gz
+BuildArch: noarch
+
+Requires: python3-requests
+Requires: python3-aiohttp
+Requires: python3-simplejson
+
+%description
+# JikanPy
+
+[![Travis (.com)](https://img.shields.io/travis/com/abhinavk99/jikanpy?style=flat-square)](https://travis-ci.com/abhinavk99/jikanpy)
+[![Codecov](https://img.shields.io/codecov/c/github/abhinavk99/jikanpy.svg?style=flat-square)](https://codecov.io/gh/abhinavk99/jikanpy/)
+[![pypi Version](https://img.shields.io/pypi/v/jikanpy.svg?style=flat-square)](https://pypi.org/project/jikanpy/)
+[![PyPi downloads](https://img.shields.io/pypi/dm/jikanpy?style=flat-square)](https://pypi.org/project/jikanpy/)
+[![Documentation](https://readthedocs.org/projects/jikanpy/badge/?version=latest&style=flat-square)](https://jikanpy.readthedocs.io/en/latest/)
+[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg?style=flat-square)](https://github.com/ambv/black)
+[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
+
+JikanPy is a Python wrapper for [Jikan](https://github.com/jikan-me/jikan),
+providing bindings for all API functionality, and supports Python 3.6+. Because
+it is intended to be pretty much identical, please consult [Jikan's
+documentation](https://jikan.docs.apiary.io/#) for thornier details on how it is
+meant to be used. Perhaps most importantly, JikanPy does not make any attempts
+to rate limit itself, so use it as responsibly as you would use the API
+primitively and remember that Jikan API has limitations, check out
+[this section](https://jikan.docs.apiary.io/#introduction/information/rate-limiting)
+of documentation in order to see to what extent the API is limited or throttled.
+
+You can use either Jikan or AioJikan depending on whether you want a synchronous
+wrapper class or an asynchronous wrapper class respectively. More usage examples
+are below.
+
+In addition to the typical response from the Jikan API, each response contains
+two additional fields:
+
+- `jikan_url`: The URL that was requested; for example: `https://api.jikan.moe/v3/anime/1`.
+- `headers`: The response headers from Jikan, detailed [here](https://jikan.docs.apiary.io/#introduction/information/caching).
+
+## Installation
+
+```shell
+$ pip install jikanpy
+```
+
+## Usage Examples
+
+Below are some basic examples of how to use Jikan and AioJikan. Please read the
+[documentation below](https://github.com/abhinavk99/jikanpy#documentation) to see all the methods and more examples.
+
+### Usage Examples with Jikan
+
+```python
+from jikanpy import Jikan
+jikan = Jikan()
+
+mushishi = jikan.anime(457)
+mushishi_with_eps = jikan.anime(457, extension='episodes')
+
+search_result = jikan.search('anime', 'Mushishi', page=2)
+
+winter_2018_anime = jikan.season(year=2018, season='winter')
+
+archive = jikan.season_archive()
+```
+
+### Async Usage Examples with AioJikan
+
+```python
+import asyncio
+from jikanpy import AioJikan
+
+async def main():
+ async with AioJikan() as aio_jikan:
+ mushishi = await aio_jikan.anime(457)
+ fma = await aio_jikan.manga(25)
+ ginko = await aio_jikan.character(425)
+ kana_hanazawa = await aio_jikan.person(185)
+ naruto = await aio_jikan.search(search_type='anime', query='naruto')
+
+ # You can also construct AioJikan like below, but make sure to close the object
+ aio_jikan_2 = AioJikan()
+ mushishi = await aio_jikan.anime(457)
+ await aio_jikan_2.close()
+
+asyncio.run(main())
+```
+
+## Documentation
+
+Check out the documentation [here](https://jikanpy.readthedocs.io).
+
+## Overriding default settings in Jikan and AioJikan with constructor arguments
+
+If you're running an instance of [jikan-rest](https://github.com/jikan-me/jikan-rest)
+on your system, and want to use that instead of [api.jikan.moe](https://jikan.moe/),
+you can pass that to Jikan:
+
+```python
+from jikanpy import Jikan
+jikan = Jikan(selected_base='http://localhost:8000/v3')
+```
+
+If you want to use your own Requests session, you can do that too.
+
+```python
+import requests
+from jikanpy import Jikan
+
+session = requests.Session()
+# Set custom persistent headers that will be used with all HTTP requests with your session
+session.headers.update({'x-test': 'true'})
+
+jikan = Jikan(session=session)
+```
+
+You can use any or all of these constructor arguments when creating an instance
+of Jikan.
+
+AioJikan also has `selected_base` and `session` (although AioJikan uses AioHTTP
+session, not Requests).
+
+```python
+import aiohttp
+import asyncio
+
+from jikanpy import AioJikan
+
+async def main():
+ # Construct AioJikan with own base URL and custom AioHTTP session with custom persistent headers
+ session = aiohttp.ClientSession(headers={'x-test': 'true'})
+ aio_jikan = AioJikan(selected_base='http://localhost:8000/v3', session=session)
+ await session.close()
+
+asyncio.run(main())
+```
+
+## Testing
+
+```shell
+# In root of repository
+$ pytest
+```
+# Changelog for Jikanpy
+
+## [4.3.2] - 2021-04-15
+
+### Fixed
+
+- Don't include the CHANGELOG.md as a `data_file`, just read it while building releases. Previously this could cause CHANGELOG.md to be installed into the users data dir (`/usr/` or `~/.local/` depending on how its installed). See [#90](https://github.com/abhinavk99/jikanpy/issues/90)
+
+## [4.3.1] - 2021-02-27
+
+### Changed
+
+- Updated aiohttp to 3.7.4
+
+## [4.3.0] - 2021-02-15
+
+### Added
+
+- Calling season method with no arguments defaults to current season
+
+## [4.2.2] - 2020-07-24
+
+### Fixed
+
+- Bug where downloading jikanpy from the distribution would fail because CHANGELOG.md wasn't included and setup.py uses it
+
+## [4.2.1] - 2020-06-11
+
+### Fixed
+
+- Bug where simplejson wasn't being installed as a dependency
+
+## [4.2.0] - 2020-06-10
+
+### Added
+
+- Revamped how APIException works so it displays more information whether or not the HTTP response is JSON
+
+### Changed
+
+- Some refactoring to fix typing and linting errors from mypy, flake8, and pylint
+- Updated some unit tests and commented out ones that don't work because of Jikan 503 errors
+
+### Fixed
+
+- Bug where jikanpy would crash when the JSON response can't be decoded with the simplejson JSON parser
+- Bug where jikanpy would crash when the JSON response is a list instead of a dict
+
+## [4.1.0] - 2020-05-23
+
+### Fixed
+
+- Bug where selected_base wasn't being used
+- Bug where trailing slash or whitespace in selected_base argument wouldn't work
+
+## [4.0.0] - 2020-05-20
+
+### Added
+
+- Documentation at https://jikanpy.readthedocs.io
+- AioJikan can be constructed using 'async with' technique
+- Optional page argument to club method
+
+### Changed
+
+- AbstractJikan rewritten as utility methods
+- Docstrings rewritten to follow Google style guide
+- Updated all requirements to current versions
+
+### Removed
+
+- Removed checking arguments and throwing ClientException from invalid arguments
+- Removed ClientException because it isn't being raised anymore
+- Removed use_ssl argument so only HTTPS Jikan URL is available
+- Removed loop argument for AioJikan
+- Unnecessary type hints for variable instantiations
+
+### Fixed
+
+- Lazy construct aiohttp session in AioJikan to stop DeprecationWarning
+- Issue where page couldn't be added to user method URL when argument not passed in
+
+## [3.4.2] - 2019-11-29
+
+### Added
+
+- Added extension forum/episodes for anime endpoint
+
+## [3.4.1] - 2019-10-02
+
+### Added
+
+- Added MIT license to Jikanpy
+
+## [3.4.0] - 2019-09-15
+
+### Added
+
+- Added Jikanpy to PyPI
+
+## [3.3.0] - 2019-09-07
+
+### Added
+
+- Ability to pass in own Requests session to Jikan in constructor
+
+### Fixed
+
+- Made type hints for session and loop in constructors more accurate
+
+## [3.2.0] - 2019-09-07
+
+### Added
+
+- Jikan URL and response headers to Jikanpy response
+
+### Fixed
+
+- Error handling when type or period argument is None for meta method
+- Bug in which letter argument for search method didn't allow the character .
+
+## [3.1.2] - 2019-07-23
+
+### Added
+
+- This changelog
+
+## [3.1.1] - 2019-07-22
+
+### Fixed
+
+- Bug when passing in genre_exclude as boolean
+
+## [3.1.0] - 2019-05-18
+
+### Added
+
+- selected_base constructor arg to aio_jikan
+
+### Changed
+
+- search and user methods to adhere with REST 3.3
+
+## [3.0.2] - 2019-05-07
+
+### Fixed
+
+- Bug where search method didn't check genre parameter correctly
+
+## [3.0.1] - 2019-04-28
+
+### Fixed
+
+- Bug where check_response didn't handle when there was no error in the response json
+
+## [3.0.0] - 2019-03-30
+
+### Added
+
+- Type hints (only works in Python 3.6+)
+- Options `other` and `unknown` for the parameter `day` in schedule method
+- Errors thrown when `status` request is called with arguments in meta method
+- `page` parameter to manga endpoint
+
+### Removed
+
+- No more support for Python versions before 3.6
+
+### Fixed
+
+- Bug where parameters weren't being added to search url correctly
+- Argument checks for user method
+- meta not implemented test
+
+## [2.4.1] - 2019-03-12
+
+### Added
+
+- Tests to reach 100% coverage
+
+### Changed
+
+- Abstract methods raise `NotImplementedError`
+
+## [2.4.0] - 2019-03-05
+
+### Added
+
+- Option to provide base url to Jikanpy to use for endpoint
+
+### Changed
+
+- README examples for user method
+
+## [2.3.2] - 2019-01-19
+
+### Added
+
+- Codecov integration
+- Error if top method if subtype is provided without page
+- async/await examples in examples.py
+
+## [2.3.1] - 2019-01-05
+
+### Added
+
+- Tests and examples for person method
+
+## [2.3.0] - 2019-01-04
+
+### Added
+
+- club and season later methods (for REST v3.2)
+- reviews, recommendations, and user updates extensions (for REST v3.2)
+
+### Fixed
+
+- Bug where page wasn't added to url correctly for extension `episodes`
+
+## [2.2.0] - 2018-12-05
+
+### Added
+
+- Travis integration
+- Support for multiple query parameters in search method
+
+### Removed
+
+- No more support for Python versions before 3.5
+
+## [2.1.3] - 2018-11-28
+
+### Fixed
+
+- Subtypes checking for top endpoint
+
+## [2.1.2] - 2018-11-20
+
+### Fixed
+
+- Bug when adding query parameter to url before converting it to a string in search method
+
+## [2.1.1] - 2018-11-18
+
+### Fixed
+
+- Checking key and value in search method
+
+## [2.1.0] - 2018-10-18
+
+### Added
+
+- animelist and mangalist support in user endpoint (REST v3.1)
+- search archive method (REST v3.1)
+
+## [2.0.0] - 2018-09-05
+
+### Added
+
+- genre, producer, magazine, and user methods (REST v3)
+
+### Changed
+
+- Base endpoint url to `api.jikan.moe/v3`
+
+## [1.0.1] - 2018-09-03
+
+### Fixed
+
+- Bug where page was added to url before converting it to a string
+
+## [1.0.0] - 2018-06-17
+
+### Added
+
+- semver for versioning
+- setup.py
+
+## 2018-06-07
+
+### Added
+
+- AioJikan async wrapper for Jikan
+
+## 2018-05-25
+
+### Added
+
+- season, schedule, top, and meta methods (REST v2.2)
+
+### Changed
+
+- Generalized error checking
+
+## 2018-05-18
+
+### Added
+
+- page support to anime, manga, character, and person methods (REST v2.2)
+- query parameter to search method (REST v2.2)
+
+## 2018-04-12
+
+### Added
+
+- search method (REST v2.1)
+- examples.py for example usage
+
+### Changed
+
+- Base endpoint url to `api.jikan.moe`
+- Extensions for anime, manga, character, and person methods (REST v2.1)
+- Limit warning in docstring to the new limit, 5000
+- Link to Jikan docs in README
+
+### Deprecated
+
+- user list method
+
+## 2017-10-20
+
+### Changed
+
+- DeprecationWarning to DeprecatedEndpoint
+
+### Fixed
+
+- ID typos in README usage
+
+## 2017-10-19
+
+### Added
+
+- character, person, and user list methods
+- Tests for anime and manga methods
+- DeprecationWarning exception
+- Usage info in README
+
+## 2017-10-18
+
+### Added
+
+- Initial version with anime and manga methods and exceptions
+
+
+
+
+%package -n python3-jikanpy
+Summary: Python wrapper for the Jikan API
+Provides: python-jikanpy
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-jikanpy
+# JikanPy
+
+[![Travis (.com)](https://img.shields.io/travis/com/abhinavk99/jikanpy?style=flat-square)](https://travis-ci.com/abhinavk99/jikanpy)
+[![Codecov](https://img.shields.io/codecov/c/github/abhinavk99/jikanpy.svg?style=flat-square)](https://codecov.io/gh/abhinavk99/jikanpy/)
+[![pypi Version](https://img.shields.io/pypi/v/jikanpy.svg?style=flat-square)](https://pypi.org/project/jikanpy/)
+[![PyPi downloads](https://img.shields.io/pypi/dm/jikanpy?style=flat-square)](https://pypi.org/project/jikanpy/)
+[![Documentation](https://readthedocs.org/projects/jikanpy/badge/?version=latest&style=flat-square)](https://jikanpy.readthedocs.io/en/latest/)
+[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg?style=flat-square)](https://github.com/ambv/black)
+[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
+
+JikanPy is a Python wrapper for [Jikan](https://github.com/jikan-me/jikan),
+providing bindings for all API functionality, and supports Python 3.6+. Because
+it is intended to be pretty much identical, please consult [Jikan's
+documentation](https://jikan.docs.apiary.io/#) for thornier details on how it is
+meant to be used. Perhaps most importantly, JikanPy does not make any attempts
+to rate limit itself, so use it as responsibly as you would use the API
+primitively and remember that Jikan API has limitations, check out
+[this section](https://jikan.docs.apiary.io/#introduction/information/rate-limiting)
+of documentation in order to see to what extent the API is limited or throttled.
+
+You can use either Jikan or AioJikan depending on whether you want a synchronous
+wrapper class or an asynchronous wrapper class respectively. More usage examples
+are below.
+
+In addition to the typical response from the Jikan API, each response contains
+two additional fields:
+
+- `jikan_url`: The URL that was requested; for example: `https://api.jikan.moe/v3/anime/1`.
+- `headers`: The response headers from Jikan, detailed [here](https://jikan.docs.apiary.io/#introduction/information/caching).
+
+## Installation
+
+```shell
+$ pip install jikanpy
+```
+
+## Usage Examples
+
+Below are some basic examples of how to use Jikan and AioJikan. Please read the
+[documentation below](https://github.com/abhinavk99/jikanpy#documentation) to see all the methods and more examples.
+
+### Usage Examples with Jikan
+
+```python
+from jikanpy import Jikan
+jikan = Jikan()
+
+mushishi = jikan.anime(457)
+mushishi_with_eps = jikan.anime(457, extension='episodes')
+
+search_result = jikan.search('anime', 'Mushishi', page=2)
+
+winter_2018_anime = jikan.season(year=2018, season='winter')
+
+archive = jikan.season_archive()
+```
+
+### Async Usage Examples with AioJikan
+
+```python
+import asyncio
+from jikanpy import AioJikan
+
+async def main():
+ async with AioJikan() as aio_jikan:
+ mushishi = await aio_jikan.anime(457)
+ fma = await aio_jikan.manga(25)
+ ginko = await aio_jikan.character(425)
+ kana_hanazawa = await aio_jikan.person(185)
+ naruto = await aio_jikan.search(search_type='anime', query='naruto')
+
+ # You can also construct AioJikan like below, but make sure to close the object
+ aio_jikan_2 = AioJikan()
+ mushishi = await aio_jikan.anime(457)
+ await aio_jikan_2.close()
+
+asyncio.run(main())
+```
+
+## Documentation
+
+Check out the documentation [here](https://jikanpy.readthedocs.io).
+
+## Overriding default settings in Jikan and AioJikan with constructor arguments
+
+If you're running an instance of [jikan-rest](https://github.com/jikan-me/jikan-rest)
+on your system, and want to use that instead of [api.jikan.moe](https://jikan.moe/),
+you can pass that to Jikan:
+
+```python
+from jikanpy import Jikan
+jikan = Jikan(selected_base='http://localhost:8000/v3')
+```
+
+If you want to use your own Requests session, you can do that too.
+
+```python
+import requests
+from jikanpy import Jikan
+
+session = requests.Session()
+# Set custom persistent headers that will be used with all HTTP requests with your session
+session.headers.update({'x-test': 'true'})
+
+jikan = Jikan(session=session)
+```
+
+You can use any or all of these constructor arguments when creating an instance
+of Jikan.
+
+AioJikan also has `selected_base` and `session` (although AioJikan uses AioHTTP
+session, not Requests).
+
+```python
+import aiohttp
+import asyncio
+
+from jikanpy import AioJikan
+
+async def main():
+ # Construct AioJikan with own base URL and custom AioHTTP session with custom persistent headers
+ session = aiohttp.ClientSession(headers={'x-test': 'true'})
+ aio_jikan = AioJikan(selected_base='http://localhost:8000/v3', session=session)
+ await session.close()
+
+asyncio.run(main())
+```
+
+## Testing
+
+```shell
+# In root of repository
+$ pytest
+```
+# Changelog for Jikanpy
+
+## [4.3.2] - 2021-04-15
+
+### Fixed
+
+- Don't include the CHANGELOG.md as a `data_file`, just read it while building releases. Previously this could cause CHANGELOG.md to be installed into the users data dir (`/usr/` or `~/.local/` depending on how its installed). See [#90](https://github.com/abhinavk99/jikanpy/issues/90)
+
+## [4.3.1] - 2021-02-27
+
+### Changed
+
+- Updated aiohttp to 3.7.4
+
+## [4.3.0] - 2021-02-15
+
+### Added
+
+- Calling season method with no arguments defaults to current season
+
+## [4.2.2] - 2020-07-24
+
+### Fixed
+
+- Bug where downloading jikanpy from the distribution would fail because CHANGELOG.md wasn't included and setup.py uses it
+
+## [4.2.1] - 2020-06-11
+
+### Fixed
+
+- Bug where simplejson wasn't being installed as a dependency
+
+## [4.2.0] - 2020-06-10
+
+### Added
+
+- Revamped how APIException works so it displays more information whether or not the HTTP response is JSON
+
+### Changed
+
+- Some refactoring to fix typing and linting errors from mypy, flake8, and pylint
+- Updated some unit tests and commented out ones that don't work because of Jikan 503 errors
+
+### Fixed
+
+- Bug where jikanpy would crash when the JSON response can't be decoded with the simplejson JSON parser
+- Bug where jikanpy would crash when the JSON response is a list instead of a dict
+
+## [4.1.0] - 2020-05-23
+
+### Fixed
+
+- Bug where selected_base wasn't being used
+- Bug where trailing slash or whitespace in selected_base argument wouldn't work
+
+## [4.0.0] - 2020-05-20
+
+### Added
+
+- Documentation at https://jikanpy.readthedocs.io
+- AioJikan can be constructed using 'async with' technique
+- Optional page argument to club method
+
+### Changed
+
+- AbstractJikan rewritten as utility methods
+- Docstrings rewritten to follow Google style guide
+- Updated all requirements to current versions
+
+### Removed
+
+- Removed checking arguments and throwing ClientException from invalid arguments
+- Removed ClientException because it isn't being raised anymore
+- Removed use_ssl argument so only HTTPS Jikan URL is available
+- Removed loop argument for AioJikan
+- Unnecessary type hints for variable instantiations
+
+### Fixed
+
+- Lazy construct aiohttp session in AioJikan to stop DeprecationWarning
+- Issue where page couldn't be added to user method URL when argument not passed in
+
+## [3.4.2] - 2019-11-29
+
+### Added
+
+- Added extension forum/episodes for anime endpoint
+
+## [3.4.1] - 2019-10-02
+
+### Added
+
+- Added MIT license to Jikanpy
+
+## [3.4.0] - 2019-09-15
+
+### Added
+
+- Added Jikanpy to PyPI
+
+## [3.3.0] - 2019-09-07
+
+### Added
+
+- Ability to pass in own Requests session to Jikan in constructor
+
+### Fixed
+
+- Made type hints for session and loop in constructors more accurate
+
+## [3.2.0] - 2019-09-07
+
+### Added
+
+- Jikan URL and response headers to Jikanpy response
+
+### Fixed
+
+- Error handling when type or period argument is None for meta method
+- Bug in which letter argument for search method didn't allow the character .
+
+## [3.1.2] - 2019-07-23
+
+### Added
+
+- This changelog
+
+## [3.1.1] - 2019-07-22
+
+### Fixed
+
+- Bug when passing in genre_exclude as boolean
+
+## [3.1.0] - 2019-05-18
+
+### Added
+
+- selected_base constructor arg to aio_jikan
+
+### Changed
+
+- search and user methods to adhere with REST 3.3
+
+## [3.0.2] - 2019-05-07
+
+### Fixed
+
+- Bug where search method didn't check genre parameter correctly
+
+## [3.0.1] - 2019-04-28
+
+### Fixed
+
+- Bug where check_response didn't handle when there was no error in the response json
+
+## [3.0.0] - 2019-03-30
+
+### Added
+
+- Type hints (only works in Python 3.6+)
+- Options `other` and `unknown` for the parameter `day` in schedule method
+- Errors thrown when `status` request is called with arguments in meta method
+- `page` parameter to manga endpoint
+
+### Removed
+
+- No more support for Python versions before 3.6
+
+### Fixed
+
+- Bug where parameters weren't being added to search url correctly
+- Argument checks for user method
+- meta not implemented test
+
+## [2.4.1] - 2019-03-12
+
+### Added
+
+- Tests to reach 100% coverage
+
+### Changed
+
+- Abstract methods raise `NotImplementedError`
+
+## [2.4.0] - 2019-03-05
+
+### Added
+
+- Option to provide base url to Jikanpy to use for endpoint
+
+### Changed
+
+- README examples for user method
+
+## [2.3.2] - 2019-01-19
+
+### Added
+
+- Codecov integration
+- Error if top method if subtype is provided without page
+- async/await examples in examples.py
+
+## [2.3.1] - 2019-01-05
+
+### Added
+
+- Tests and examples for person method
+
+## [2.3.0] - 2019-01-04
+
+### Added
+
+- club and season later methods (for REST v3.2)
+- reviews, recommendations, and user updates extensions (for REST v3.2)
+
+### Fixed
+
+- Bug where page wasn't added to url correctly for extension `episodes`
+
+## [2.2.0] - 2018-12-05
+
+### Added
+
+- Travis integration
+- Support for multiple query parameters in search method
+
+### Removed
+
+- No more support for Python versions before 3.5
+
+## [2.1.3] - 2018-11-28
+
+### Fixed
+
+- Subtypes checking for top endpoint
+
+## [2.1.2] - 2018-11-20
+
+### Fixed
+
+- Bug when adding query parameter to url before converting it to a string in search method
+
+## [2.1.1] - 2018-11-18
+
+### Fixed
+
+- Checking key and value in search method
+
+## [2.1.0] - 2018-10-18
+
+### Added
+
+- animelist and mangalist support in user endpoint (REST v3.1)
+- search archive method (REST v3.1)
+
+## [2.0.0] - 2018-09-05
+
+### Added
+
+- genre, producer, magazine, and user methods (REST v3)
+
+### Changed
+
+- Base endpoint url to `api.jikan.moe/v3`
+
+## [1.0.1] - 2018-09-03
+
+### Fixed
+
+- Bug where page was added to url before converting it to a string
+
+## [1.0.0] - 2018-06-17
+
+### Added
+
+- semver for versioning
+- setup.py
+
+## 2018-06-07
+
+### Added
+
+- AioJikan async wrapper for Jikan
+
+## 2018-05-25
+
+### Added
+
+- season, schedule, top, and meta methods (REST v2.2)
+
+### Changed
+
+- Generalized error checking
+
+## 2018-05-18
+
+### Added
+
+- page support to anime, manga, character, and person methods (REST v2.2)
+- query parameter to search method (REST v2.2)
+
+## 2018-04-12
+
+### Added
+
+- search method (REST v2.1)
+- examples.py for example usage
+
+### Changed
+
+- Base endpoint url to `api.jikan.moe`
+- Extensions for anime, manga, character, and person methods (REST v2.1)
+- Limit warning in docstring to the new limit, 5000
+- Link to Jikan docs in README
+
+### Deprecated
+
+- user list method
+
+## 2017-10-20
+
+### Changed
+
+- DeprecationWarning to DeprecatedEndpoint
+
+### Fixed
+
+- ID typos in README usage
+
+## 2017-10-19
+
+### Added
+
+- character, person, and user list methods
+- Tests for anime and manga methods
+- DeprecationWarning exception
+- Usage info in README
+
+## 2017-10-18
+
+### Added
+
+- Initial version with anime and manga methods and exceptions
+
+
+
+
+%package help
+Summary: Development documents and examples for jikanpy
+Provides: python3-jikanpy-doc
+%description help
+# JikanPy
+
+[![Travis (.com)](https://img.shields.io/travis/com/abhinavk99/jikanpy?style=flat-square)](https://travis-ci.com/abhinavk99/jikanpy)
+[![Codecov](https://img.shields.io/codecov/c/github/abhinavk99/jikanpy.svg?style=flat-square)](https://codecov.io/gh/abhinavk99/jikanpy/)
+[![pypi Version](https://img.shields.io/pypi/v/jikanpy.svg?style=flat-square)](https://pypi.org/project/jikanpy/)
+[![PyPi downloads](https://img.shields.io/pypi/dm/jikanpy?style=flat-square)](https://pypi.org/project/jikanpy/)
+[![Documentation](https://readthedocs.org/projects/jikanpy/badge/?version=latest&style=flat-square)](https://jikanpy.readthedocs.io/en/latest/)
+[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg?style=flat-square)](https://github.com/ambv/black)
+[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
+
+JikanPy is a Python wrapper for [Jikan](https://github.com/jikan-me/jikan),
+providing bindings for all API functionality, and supports Python 3.6+. Because
+it is intended to be pretty much identical, please consult [Jikan's
+documentation](https://jikan.docs.apiary.io/#) for thornier details on how it is
+meant to be used. Perhaps most importantly, JikanPy does not make any attempts
+to rate limit itself, so use it as responsibly as you would use the API
+primitively and remember that Jikan API has limitations, check out
+[this section](https://jikan.docs.apiary.io/#introduction/information/rate-limiting)
+of documentation in order to see to what extent the API is limited or throttled.
+
+You can use either Jikan or AioJikan depending on whether you want a synchronous
+wrapper class or an asynchronous wrapper class respectively. More usage examples
+are below.
+
+In addition to the typical response from the Jikan API, each response contains
+two additional fields:
+
+- `jikan_url`: The URL that was requested; for example: `https://api.jikan.moe/v3/anime/1`.
+- `headers`: The response headers from Jikan, detailed [here](https://jikan.docs.apiary.io/#introduction/information/caching).
+
+## Installation
+
+```shell
+$ pip install jikanpy
+```
+
+## Usage Examples
+
+Below are some basic examples of how to use Jikan and AioJikan. Please read the
+[documentation below](https://github.com/abhinavk99/jikanpy#documentation) to see all the methods and more examples.
+
+### Usage Examples with Jikan
+
+```python
+from jikanpy import Jikan
+jikan = Jikan()
+
+mushishi = jikan.anime(457)
+mushishi_with_eps = jikan.anime(457, extension='episodes')
+
+search_result = jikan.search('anime', 'Mushishi', page=2)
+
+winter_2018_anime = jikan.season(year=2018, season='winter')
+
+archive = jikan.season_archive()
+```
+
+### Async Usage Examples with AioJikan
+
+```python
+import asyncio
+from jikanpy import AioJikan
+
+async def main():
+ async with AioJikan() as aio_jikan:
+ mushishi = await aio_jikan.anime(457)
+ fma = await aio_jikan.manga(25)
+ ginko = await aio_jikan.character(425)
+ kana_hanazawa = await aio_jikan.person(185)
+ naruto = await aio_jikan.search(search_type='anime', query='naruto')
+
+ # You can also construct AioJikan like below, but make sure to close the object
+ aio_jikan_2 = AioJikan()
+ mushishi = await aio_jikan.anime(457)
+ await aio_jikan_2.close()
+
+asyncio.run(main())
+```
+
+## Documentation
+
+Check out the documentation [here](https://jikanpy.readthedocs.io).
+
+## Overriding default settings in Jikan and AioJikan with constructor arguments
+
+If you're running an instance of [jikan-rest](https://github.com/jikan-me/jikan-rest)
+on your system, and want to use that instead of [api.jikan.moe](https://jikan.moe/),
+you can pass that to Jikan:
+
+```python
+from jikanpy import Jikan
+jikan = Jikan(selected_base='http://localhost:8000/v3')
+```
+
+If you want to use your own Requests session, you can do that too.
+
+```python
+import requests
+from jikanpy import Jikan
+
+session = requests.Session()
+# Set custom persistent headers that will be used with all HTTP requests with your session
+session.headers.update({'x-test': 'true'})
+
+jikan = Jikan(session=session)
+```
+
+You can use any or all of these constructor arguments when creating an instance
+of Jikan.
+
+AioJikan also has `selected_base` and `session` (although AioJikan uses AioHTTP
+session, not Requests).
+
+```python
+import aiohttp
+import asyncio
+
+from jikanpy import AioJikan
+
+async def main():
+ # Construct AioJikan with own base URL and custom AioHTTP session with custom persistent headers
+ session = aiohttp.ClientSession(headers={'x-test': 'true'})
+ aio_jikan = AioJikan(selected_base='http://localhost:8000/v3', session=session)
+ await session.close()
+
+asyncio.run(main())
+```
+
+## Testing
+
+```shell
+# In root of repository
+$ pytest
+```
+# Changelog for Jikanpy
+
+## [4.3.2] - 2021-04-15
+
+### Fixed
+
+- Don't include the CHANGELOG.md as a `data_file`, just read it while building releases. Previously this could cause CHANGELOG.md to be installed into the users data dir (`/usr/` or `~/.local/` depending on how its installed). See [#90](https://github.com/abhinavk99/jikanpy/issues/90)
+
+## [4.3.1] - 2021-02-27
+
+### Changed
+
+- Updated aiohttp to 3.7.4
+
+## [4.3.0] - 2021-02-15
+
+### Added
+
+- Calling season method with no arguments defaults to current season
+
+## [4.2.2] - 2020-07-24
+
+### Fixed
+
+- Bug where downloading jikanpy from the distribution would fail because CHANGELOG.md wasn't included and setup.py uses it
+
+## [4.2.1] - 2020-06-11
+
+### Fixed
+
+- Bug where simplejson wasn't being installed as a dependency
+
+## [4.2.0] - 2020-06-10
+
+### Added
+
+- Revamped how APIException works so it displays more information whether or not the HTTP response is JSON
+
+### Changed
+
+- Some refactoring to fix typing and linting errors from mypy, flake8, and pylint
+- Updated some unit tests and commented out ones that don't work because of Jikan 503 errors
+
+### Fixed
+
+- Bug where jikanpy would crash when the JSON response can't be decoded with the simplejson JSON parser
+- Bug where jikanpy would crash when the JSON response is a list instead of a dict
+
+## [4.1.0] - 2020-05-23
+
+### Fixed
+
+- Bug where selected_base wasn't being used
+- Bug where trailing slash or whitespace in selected_base argument wouldn't work
+
+## [4.0.0] - 2020-05-20
+
+### Added
+
+- Documentation at https://jikanpy.readthedocs.io
+- AioJikan can be constructed using 'async with' technique
+- Optional page argument to club method
+
+### Changed
+
+- AbstractJikan rewritten as utility methods
+- Docstrings rewritten to follow Google style guide
+- Updated all requirements to current versions
+
+### Removed
+
+- Removed checking arguments and throwing ClientException from invalid arguments
+- Removed ClientException because it isn't being raised anymore
+- Removed use_ssl argument so only HTTPS Jikan URL is available
+- Removed loop argument for AioJikan
+- Unnecessary type hints for variable instantiations
+
+### Fixed
+
+- Lazy construct aiohttp session in AioJikan to stop DeprecationWarning
+- Issue where page couldn't be added to user method URL when argument not passed in
+
+## [3.4.2] - 2019-11-29
+
+### Added
+
+- Added extension forum/episodes for anime endpoint
+
+## [3.4.1] - 2019-10-02
+
+### Added
+
+- Added MIT license to Jikanpy
+
+## [3.4.0] - 2019-09-15
+
+### Added
+
+- Added Jikanpy to PyPI
+
+## [3.3.0] - 2019-09-07
+
+### Added
+
+- Ability to pass in own Requests session to Jikan in constructor
+
+### Fixed
+
+- Made type hints for session and loop in constructors more accurate
+
+## [3.2.0] - 2019-09-07
+
+### Added
+
+- Jikan URL and response headers to Jikanpy response
+
+### Fixed
+
+- Error handling when type or period argument is None for meta method
+- Bug in which letter argument for search method didn't allow the character .
+
+## [3.1.2] - 2019-07-23
+
+### Added
+
+- This changelog
+
+## [3.1.1] - 2019-07-22
+
+### Fixed
+
+- Bug when passing in genre_exclude as boolean
+
+## [3.1.0] - 2019-05-18
+
+### Added
+
+- selected_base constructor arg to aio_jikan
+
+### Changed
+
+- search and user methods to adhere with REST 3.3
+
+## [3.0.2] - 2019-05-07
+
+### Fixed
+
+- Bug where search method didn't check genre parameter correctly
+
+## [3.0.1] - 2019-04-28
+
+### Fixed
+
+- Bug where check_response didn't handle when there was no error in the response json
+
+## [3.0.0] - 2019-03-30
+
+### Added
+
+- Type hints (only works in Python 3.6+)
+- Options `other` and `unknown` for the parameter `day` in schedule method
+- Errors thrown when `status` request is called with arguments in meta method
+- `page` parameter to manga endpoint
+
+### Removed
+
+- No more support for Python versions before 3.6
+
+### Fixed
+
+- Bug where parameters weren't being added to search url correctly
+- Argument checks for user method
+- meta not implemented test
+
+## [2.4.1] - 2019-03-12
+
+### Added
+
+- Tests to reach 100% coverage
+
+### Changed
+
+- Abstract methods raise `NotImplementedError`
+
+## [2.4.0] - 2019-03-05
+
+### Added
+
+- Option to provide base url to Jikanpy to use for endpoint
+
+### Changed
+
+- README examples for user method
+
+## [2.3.2] - 2019-01-19
+
+### Added
+
+- Codecov integration
+- Error if top method if subtype is provided without page
+- async/await examples in examples.py
+
+## [2.3.1] - 2019-01-05
+
+### Added
+
+- Tests and examples for person method
+
+## [2.3.0] - 2019-01-04
+
+### Added
+
+- club and season later methods (for REST v3.2)
+- reviews, recommendations, and user updates extensions (for REST v3.2)
+
+### Fixed
+
+- Bug where page wasn't added to url correctly for extension `episodes`
+
+## [2.2.0] - 2018-12-05
+
+### Added
+
+- Travis integration
+- Support for multiple query parameters in search method
+
+### Removed
+
+- No more support for Python versions before 3.5
+
+## [2.1.3] - 2018-11-28
+
+### Fixed
+
+- Subtypes checking for top endpoint
+
+## [2.1.2] - 2018-11-20
+
+### Fixed
+
+- Bug when adding query parameter to url before converting it to a string in search method
+
+## [2.1.1] - 2018-11-18
+
+### Fixed
+
+- Checking key and value in search method
+
+## [2.1.0] - 2018-10-18
+
+### Added
+
+- animelist and mangalist support in user endpoint (REST v3.1)
+- search archive method (REST v3.1)
+
+## [2.0.0] - 2018-09-05
+
+### Added
+
+- genre, producer, magazine, and user methods (REST v3)
+
+### Changed
+
+- Base endpoint url to `api.jikan.moe/v3`
+
+## [1.0.1] - 2018-09-03
+
+### Fixed
+
+- Bug where page was added to url before converting it to a string
+
+## [1.0.0] - 2018-06-17
+
+### Added
+
+- semver for versioning
+- setup.py
+
+## 2018-06-07
+
+### Added
+
+- AioJikan async wrapper for Jikan
+
+## 2018-05-25
+
+### Added
+
+- season, schedule, top, and meta methods (REST v2.2)
+
+### Changed
+
+- Generalized error checking
+
+## 2018-05-18
+
+### Added
+
+- page support to anime, manga, character, and person methods (REST v2.2)
+- query parameter to search method (REST v2.2)
+
+## 2018-04-12
+
+### Added
+
+- search method (REST v2.1)
+- examples.py for example usage
+
+### Changed
+
+- Base endpoint url to `api.jikan.moe`
+- Extensions for anime, manga, character, and person methods (REST v2.1)
+- Limit warning in docstring to the new limit, 5000
+- Link to Jikan docs in README
+
+### Deprecated
+
+- user list method
+
+## 2017-10-20
+
+### Changed
+
+- DeprecationWarning to DeprecatedEndpoint
+
+### Fixed
+
+- ID typos in README usage
+
+## 2017-10-19
+
+### Added
+
+- character, person, and user list methods
+- Tests for anime and manga methods
+- DeprecationWarning exception
+- Usage info in README
+
+## 2017-10-18
+
+### Added
+
+- Initial version with anime and manga methods and exceptions
+
+
+
+
+%prep
+%autosetup -n jikanpy-4.3.2
+
+%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-jikanpy -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon Apr 10 2023 Python_Bot <Python_Bot@openeuler.org> - 4.3.2-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..4b54dd6
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+b01f3974c970a5759ee99cecd1196840 jikanpy-4.3.2.tar.gz