Metadata-Version: 2.1
Name: aioqzone
Version: 0.9.4a3.dev1
Summary: Python wrapper for Qzone web login and Qzone http api.
Home-page: https://github.com/aioqzone/aioqzone
License: AGPL-3.0
Keywords: qzone-api,autologin,asyncio-spider
Author: aioqzone
Author-email: zzzzss990315@gmail.com
Requires-Python: >=3.7,<4.0
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Provides-Extra: dev
Provides-Extra: doc
Requires-Dist: Sphinx (>=5.0.1,<6.0.0); extra == "doc"
Requires-Dist: autodoc-pydantic (>=1.7.1,<2.0.0); extra == "doc"
Requires-Dist: black (>=22.1.0,<23.0.0); extra == "dev"
Requires-Dist: cssselect (>=1.1.0,<2.0.0)
Requires-Dist: httpx (>=0.23.0,<0.24.0)
Requires-Dist: isort (>=5.10.1,<6.0.0); extra == "dev"
Requires-Dist: lxml (>=4.9.1,<5.0.0)
Requires-Dist: numpy (>=1.21.6,<1.22.0); python_version >= "3.7" and python_version < "3.8"
Requires-Dist: numpy (>=1.22.3,<2.0.0); python_version >= "3.8" and python_version < "4.0"
Requires-Dist: opencv-python-headless (>=4.5.5,<5.0.0)
Requires-Dist: pre-commit (>=2.17.0,<3.0.0); extra == "dev"
Requires-Dist: pydantic (>=1.9.0,<2.0.0)
Requires-Dist: pytz (>=2022.1,<2023.0)
Requires-Dist: rsa (>=4.8,<5.0)
Requires-Dist: sphinx-autodoc-typehints (<1.16.0); extra == "doc"
Requires-Dist: sphinx-rtd-theme (>=1.0.0,<2.0.0); extra == "doc"
Project-URL: Bug Tracker, https://github.com/aioqzone/aioqzone/issues
Project-URL: Documentation, https://aioqzone.github.io/aioqzone
Project-URL: Repository, https://github.com/aioqzone/aioqzone
Description-Content-Type: text/markdown

# aioqzone

aioqzone is a python package handling Qzone web login and wrapping some common Qzone Http apis.

[![python](https://img.shields.io/pypi/pyversions/aioqzone?logo=python&logoColor=white)][home]
[![QQQR](https://github.com/aioqzone/aioqzone/actions/workflows/qqqr.yml/badge.svg?branch=beta&event=schedule)](https://github.com/aioqzone/aioqzone/actions/workflows/qqqr.yml)
[![version](https://img.shields.io/pypi/v/aioqzone?logo=python)][pypi]
[![black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)

[简体中文](https://github.com/aioqzone/aioqzone/blob/beta/README_zh-cn.md)

## Features

### Qzone Feature

- [x] QR login
- [x] password login (limited)
- [x] solve captcha
- [ ] pass network environment verification
- [x] get complete html feeds
- [x] get feed details
- [x] get Qzone album
- [x] like/unlike app
- [x] publish/update/delete text feeds
- [ ] comment

### Why using this package?

- [x] full ide typing support (typing)
- [x] api response validation (pydantic)
- [x] async design
- [x] complete infrastructure to ease your own develop
- [x] [doc support](https://aioqzone.github.io/aioqzone)

__Working On:__

- [ ] test coverage

## Node Dependencies

- `jssupport.jsjson.AstLoader` needn't outside processes.
- To use `jssupport.execjs` and `jssupport.jsjson.NodeLoader`, you need to have `Node.js` >= v14 installed.
- To use  `jssupport.jsdom`, you need to have npm packages `jsdom` and `canvas` to be installed.
- Since `canvas` is used during passing captcha, you may need to config your font config properly. See [#45](https://github.com/aioqzone/aioqzone/issues/45) for details.

## Description

|package    |brief description  |
|-----------|-------------------|
|aioqzone   |qzone api wrapper  |
|jssupport  |communicate with node|
|qqqr       |qzone web login    |

## Examples

You can look for these repos for examples in practice.

### aioqzone plugins

- [aioqzone-feed][aioqzone-feed]: aioqzone plugin providing higher level api for processing feed


## License

```
Copyright (C) 2022 aioqzone.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.
```

- [AGPL-3.0](LICENSE)


[home]: https://github.com/aioqzone/aioqzone "Python wrapper for Qzone web login and Qzone http api"
[aioqzone-feed]: https://github.com/aioqzone/aioqzone-feed "aioqzone plugin providing higher level api for processing feed"
[pypi]: https://pypi.org/project/aioqzone

