Metadata-Version: 1.0
Name: aio_anticaptcha
Version: 0.1.0
Summary: Real-time captcha-to-text decodings
Home-page: https://github.com/nibrag/aio_anticaptcha
Author: Nail Ibragimov
Author-email: ibragwork@gmail.com
License: Apache 2
Description: Real-time captcha-to-text decodings for asyncio
        ===============================================
        .. image:: https://travis-ci.org/nibrag/aio_anticaptcha.svg?branch=master
           :target: https://travis-ci.org/nibrag/aio_anticaptcha
           :align: right
        
        .. image:: https://coveralls.io/repos/github/nibrag/aio_anticaptcha/badge.svg?branch=master
           :target: https://coveralls.io/github/nibrag/aio_anticaptcha?branch=master
           :align: right
        
        API documentation
        -----------------
        - https://anti-captcha.com/apidoc
        - http://antigate.com/?action=api#algo
        
        Installation
        ------------
        You can install it using Pip:
        
        .. code-block::
        
            pip install aio_anticaptcha
        
        If you want the latest development version, you can install it from source:
        
        .. code-block::
        
            git clone git@github.com:nibrag/aio_anticaptcha.git
            cd aio_anticaptcha
            python setup.py install
        
        **Requirements:**
        
        .. code-block::
        
            python 3.4+
            aiohttp
        
        Usage
        -----
        With context manager
        
        .. code-block:: python
        
            import asyncio
            from aio_anticaptcha import AntiCaptcha, ServiceError
        
            async def run(loop):
                try:
                    with AntiCaptcha('API-KEY', loop=loop) as ac:
                        # io.IOBase
                        fh = open('captcha.jpg')
                        resolved, captcha_id = await ac.resolve(fh)
        
                        # or bytes, bytearray
                        bytes_buff = open('captcha.jpg', 'rb').read()
                        resolved, captcha_id = await ac.resolved(bytes_buff)
                except ZeroBalanceError:
                    print('Zero balance')
                except UserKeyError:
                    print('Invalid api key...')
                except ServiceError as e:
                    print('Something else', str(e))
        
            if __name__ == '__main__':
                loop = asyncio.get_event_loop()
                loop.run_until_complete(run(loop))
                loop.close()
        
        Without context manager
        
        .. code-block:: python
        
            import asyncio
            from aio_anticaptcha import AntiCaptcha, ServiceError
        
            async def run(loop):
                ac = AntiCaptcha('API-KEY', loop=loop)
                try:
                    # io.IOBase
                    resolved, captcha_id = await ac.resolve(open('captcha.jpg'))
        
                    # or bytes, bytearray
                    bytes_buff = open('captcha.jpg', 'rb').read()
                    resolved, captcha_id = await ac.resolved(bytes_buff)
                except ServiceError as e:
                    print(e)
                finally:
                    # do'nt forget call close method
                    ac.close()
        
            if __name__ == '__main__':
                loop = asyncio.get_event_loop()
                loop.run_until_complete(run(loop))
                loop.close()
        
        If you wish to complain about a mismatch results, use ``abuse`` method:
        
        .. code-block:: python
        
            import asyncio
            from aio_anticaptcha import AntiCaptcha
        
            async def run(loop):
                with AntiCaptcha('API-KEY', loop=loop) as ac:
                    resolved, captcha_id = await ac.resolve(open('captcha.jpg'))
                    await ac.abuse(captcha_id)
        
            if __name__ == '__main__':
                loop = asyncio.get_event_loop()
                loop.run_until_complete(run(loop))
                loop.close()
        
        After all manipulations, you can get your account balance:
        
        .. code-block:: python
        
            import asyncio
            from aio_anticaptcha import AntiCaptcha
        
            async def run(loop):
                with AntiCaptcha('API-KEY', loop=loop) as ac:
                    balance = await ac.get_balance()
        
            if __name__ == '__main__':
                loop = asyncio.get_event_loop()
                loop.run_until_complete(run(loop))
                loop.close()
        
        Additional options for sending Captcha:
        ---------------------------------------
        
        Read documentation about all available options:
        https://anti-captcha.com/apidoc
        
        .. code-block:: python
        
            import asyncio
            from aio_anticaptcha import AntiCaptcha
        
            async def run(loop):
                with AntiCaptcha('API-KEY', loop=loop) as ac:
                    resolved, captcha_id = await ac.resolve(open('captcha.jpg'), max_len=5, is_russian=True)
        
            if __name__ == '__main__':
                loop = asyncio.get_event_loop()
                loop.run_until_complete(run(loop))
                loop.close()
        
        Customizing anticaptcha service
        -------------------------------
        
        .. code-block:: python
        
            import asyncio
            from aio_anticaptcha import AntiCaptcha
        
            async def run(loop):
                with AntiCaptcha('API-KEY', loop=loop, domain='antigate.com', port=80) as ac:
                    balance = await ac.get_balance()
        
            if __name__ == '__main__':
                loop = asyncio.get_event_loop()
                loop.run_until_complete(run(loop))
                loop.close()
        
        AntiGate.com supported
        ----------------------
        
        .. code-block:: python
        
            import asyncio
            from aio_anticaptcha import AntiGate
        
            async def run(loop):
                with AntiGate('API-KEY', loop=loop) as ag:
                    balance = await ag.get_balance()
        
            if __name__ == '__main__':
                loop = asyncio.get_event_loop()
                loop.run_until_complete(run(loop))
                loop.close()
        
Keywords: antigate captcha anticaptcha
Platform: UNKNOWN
