Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

asyncakinator

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

asyncakinator

An async API wrapper for Akinator, written in Python.

  • 1.7
  • PyPI
  • Socket score

Maintainers
1

asyncakinator

.. image:: https://discord.com/api/guilds/751490725555994716/embed.png :target: https://discord.gg/muTVFgDvKf :alt: Support Server Invite

An async API wrapper for the online game, Akinator, written in Python.

Akinator <https://en.akinator.com/>_ is a web-based game which tries to determine what character you are thinking of by asking a series of questions.

Installing

To install, just run the following command:

.. code-block:: shell

# MacOS/Linux
python3 -m pip install -U asyncakinator

# Windows
py -3 -m pip install -U asyncakinator

Requirements

- Python ≥3.9

- ``aiohttp``


Documentation
-------------
Documention can be found `here. <https://asyncakinator.readthedocs.io/en/latest/>`_


Quick Examples
--------------

Here's a quick little example of the library being used to make a simple, text-based Akinator game:

.. code-block:: python

    import asyncio

    from asyncakinator import (
        Akinator,
        Answer,
        CanNotGoBack,
        InvalidAnswer,
        Language,
        NoMoreQuestions,
        Theme
    )


    game = Akinator(
        language=Language.ENGLISH,
        theme=Theme.ANIMALS,
    )


    async def main():
        question = await game.start()

        while game.progression <= 80:
            print(question)
            user_input = input("Answer:  ")
            try:
                answer = Answer.from_str(user_input)
            except InvalidAnswer:
                print("Invalid answer")
                continue
            try:
                question = await game.answer(answer)
            except CanNotGoBack:
                print("This is the first question, you can't go back.")
                continue
            except NoMoreQuestions:
                break

        await game.win()

        correct = input(
            f"You are thinking of {game.first_guess.name} ({game.first_guess.description}). "
            f"Am I correct?\n{game.first_guess.absolute_picture_path}\n---\nAnswer:  "
        )
        if Answer.from_str(correct) == Answer.YES:
            print("Nice.")
        else:
            print("Maybe next time.")
        await game.close()


    asyncio.run(main())

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc