Metadata-Version: 1.2
Name: aio2ch
Version: 2.0.3
Summary: Fully asynchronous read-only API wrapper for 2ch.hk (dvach)
Home-page: https://github.com/wkpn/aio2ch
Author: wkpn
License: MIT
Description: |Logo|
        
        |License|
        |Downloads|
        |PyPi|
        |Python|
        
        Fully asynchronous read-only API wrapper for 2ch.hk (dvach, Двач)
        
        Requirements
        ------------
        
        -  httpx_
        -  aiofiles_
        
        Install with pip
        ----------------
        .. code-block:: bash
        
            $ pip3 install aio2ch
        
        
        Build from source
        -----------------
        .. code-block:: bash
        
            $ git clone https://github.com/wkpn/aio2ch
            $ cd ./aio2ch
            $ python3 setup.py install
        
        Usage
        -----
        
        Simple usage (in this case ``client.close()`` must be called when client is no longer needed)
        
        .. code-block:: python
        
            >>> from aio2ch import Api
            >>> client = Api()
            >>> ...
            >>> await client.close()
        
        Or you can use it as a context manager
        
        .. code-block:: python
        
            >>> async with Api() as client:
            ...     boards = await client.get_boards()
        
        Get all boards
        
        .. code-block:: python
        
            >>> boards = await client.get_boards()
        
            >>> boards
            [<Board name: Фагготрия, id: fag>, ... ]
        
        In addition we can get ``status`` for each method. This is useful for debug purposes or if retries are needed
        
        .. code-block:: python
        
            >>> status, boards = await client.get_boards(return_status=True)
        
            >>> status
            200
        
            >>> boards
            [<Board name: Фагготрия, id: fag>, ... ]
        
        Get all threads from a board
        
        .. code-block:: python
        
            >>> threads = await client.get_board_threads(board='b')
        
            >>> threads
            [<Thread 180981319>, ... ]
        
        Get top threads from a board sorted by method (*views*, *score* or *posts_count*)
        
        .. code-block:: python
        
            >>> top_threads = await client.get_top_board_threads(board='b', method='views', num=3)
        
            >>> top_threads
            [<Thread 180894312>, <Thread 180946622>, <Thread 180963318>]
        
        Get all thread's posts (``thread`` is an instance of ``Thread``)
        
        .. code-block:: python
        
            >>> thread_posts = await client.get_thread_posts(thread=thread)
        
            >>> thread_posts
            [<Post 180894312>, ... ]
        
        Get all thread's posts  by url
        
        .. code-block:: python
        
            >>> thread_posts = await client.get_thread_posts(thread='https://2ch.hk/test/res/30972.html')
        
            >>> thread_posts
            [<Post 30972>, ... ]
        
        Get all media in all thread's posts (images, webm and so on)
        
        .. code-block:: python
        
            >>> thread_media = await client.get_thread_media(thread=thread)
        
            >>> thread_media
            [<File name: 15336559148500.jpg, path: /b/src/180979032/15336559148500.jpg, size: 19>, ... ]
        
        Download all thread media
        
        .. code-block:: python
        
            >>> await client.download_thread_media(files=thread_media, save_to='./downloads')
        
        .. |License| image:: https://img.shields.io/pypi/l/aio2ch.svg
            :target: https://pypi.python.org/pypi/aio2ch
        .. |Downloads| image:: https://pepy.tech/badge/aio2ch
            :target: https://pepy.tech/project/aio2ch
        .. |PyPi| image:: https://img.shields.io/pypi/v/aio2ch.svg
            :target: https://pypi.python.org/pypi/aio2ch
        .. |Python| image:: https://img.shields.io/pypi/pyversions/aio2ch.svg
            :target: https://pypi.python.org/pypi/aio2ch
        .. |Logo| image:: https://raw.githubusercontent.com/wkpn/aio2ch/master/docs/img/banner.jpg
        .. _httpx: https://github.com/encode/httpx
        .. _aiofiles: https://github.com/Tinche/aiofiles
Keywords: 2ch,Двач,Dvach,api,wrapper,async
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Framework :: AsyncIO
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Requires-Python: >=3.6
