# -*- coding: utf-8 -*-
from setuptools import setup

package_dir = \
{'': '.'}

packages = \
['deepwordle', 'deepwordle.components']

package_data = \
{'': ['*'], 'deepwordle.components': ['data/*']}

install_requires = \
['PyAudio>=0.2.11,<0.3.0',
 'deepgram-sdk>=0.2.5,<0.3.0',
 'nest-asyncio>=1.5.5,<2.0.0',
 'pyfiglet>=0.8.post1,<0.9',
 'rich>=12.2.0,<13.0.0',
 'textual>=0.1.17,<0.2.0',
 'tweepy>=4.8.0,<5.0.0']

entry_points = \
{'console_scripts': ['deepwordle = deepwordle.app:main']}

setup_kwargs = {
    'name': 'deepwordle',
    'version': '0.1.0',
    'description': 'deepwordle is a wordle clone game powered by deepgram, textual, tweepy, and friends.',
    'long_description': 'deepwordle\n==========\n\n.. image:: https://drive.google.com/uc?export=view&id=1iZvpFYx6DNt8BW3pv9RyXRdqiXX5SdLS\n   :target: https://drive.google.com/uc?export=view&id=1iZvpFYx6DNt8BW3pv9RyXRdqiXX5SdLS\n   :alt: Deepwordle Console\n\n**deepwordle** is a TUI clone of the famous wordle game powered by Python, Deepgram, Textual, Tweepy, and friends.\n\n\n1. Configurations\n-----------------\n\n1.1. Tweepy:\n~~~~~~~~~~~~\n\n1.1.1. Twitter Developer Account:\n+++++++++++++++++++++++++++++++++\n\n* Create an account on https://developer.twitter.com/, and click on ``Sign Up``\n\n.. image:: https://drive.google.com/uc?export=view&id=1pgGcVv-YuFZmsjU7KabiM0lQ7kMgQBMe\n   :target: https://drive.google.com/uc?export=view&id=1pgGcVv-YuFZmsjU7KabiM0lQ7kMgQBMe\n   :alt: Developer Account SignUp\n\n* Fill out the required information and submit your request.\n\n.. image:: https://drive.google.com/uc?export=view&id=1W_x9n7_VXpfV_dskY-7D8UMpJAPtn0r5\n   :target: https://drive.google.com/uc?export=view&id=1W_x9n7_VXpfV_dskY-7D8UMpJAPtn0r5\n   :alt: Developer Portal\n\n* Once approved, you can continue with the app setup.\n\n.. image:: https://drive.google.com/uc?export=view&id=14d9g_83joI0QoUmU25ZBSdt5Yh7mGzYY\n   :target: https://drive.google.com/uc?export=view&id=14d9g_83joI0QoUmU25ZBSdt5Yh7mGzYY\n   :alt: Verify Email\n\n\nNote that you need to provide detailed information about your use case for the API in order to speed up the process of reviewing your request.\n\n1.1.2. Create an App:\n+++++++++++++++++++++\n\nOnce your request gets approved, you will be prompted to create an app as shown in the image below:\n\n.. image:: https://drive.google.com/uc?export=view&id=17wsWPWNAZqhuALieMOO2SLnOFp6u_hP6\n   :target: https://drive.google.com/uc?export=view&id=17wsWPWNAZqhuALieMOO2SLnOFp6u_hP6\n   :alt: Create App\n\nAlternatively, you can go to: https://developer.twitter.com/en\n\n* click on the ``developer portal`` panel. By doing so, you will be redirected to your dashboard.\n\n\n\n* Navigate to the ``Projects & Apps`` --> ``Overview``, Scroll to the bottom of the page and click on ``Create App``.\n\n.. image:: https://drive.google.com/uc?export=view&id=1U8gb7WDR_BYaA7jVNhKBHMqdlSYVSzrP\n   :target: https://drive.google.com/uc?export=view&id=1U8gb7WDR_BYaA7jVNhKBHMqdlSYVSzrP\n   :alt: Apps Overview\n\n* Choose an app name and click ``Complete``. By default, the app will be created in read-only mode.\n\n.. image:: https://drive.google.com/uc?export=view&id=1HEz8QpsU-zaK9L2o4bhvPfVTQbcJeK0Q\n   :target: https://drive.google.com/uc?export=view&id=1HEz8QpsU-zaK9L2o4bhvPfVTQbcJeK0Q\n   :alt: Read only mode\n\n* Add write permissions to the app in order to be able to publish tweets. Navigate to App Settings and scroll down to ``User authentication settings``, then click ``set up``.\n\n.. image:: https://drive.google.com/uc?export=view&id=1SrP1-6U0XiyJVD0ecu6QK3YLgHMBriM8\n   :target: https://drive.google.com/uc?export=view&id=1SrP1-6U0XiyJVD0ecu6QK3YLgHMBriM8\n   :alt: User authentication settings\n\n* Toggle the ``OAuth 1.0a`` button and change app permissions to ``Read and Write``.\n\n.. image:: https://drive.google.com/uc?export=view&id=1IrWtgMmILPKMxjfAFDgr6wpDB_Z2_U_g\n   :target: https://drive.google.com/uc?export=view&id=1IrWtgMmILPKMxjfAFDgr6wpDB_Z2_U_g\n   :alt: Read and Write permissions\n\n* Now your app will get its permissions elevated to ``Read and Write``.\n\n.. image:: https://drive.google.com/uc?export=view&id=1LQpDI1zxP5tftPek9FELane4W9bqEs_c\n   :target: https://drive.google.com/uc?export=view&id=1LQpDI1zxP5tftPek9FELane4W9bqEs_c\n   :alt: Read and Write permissions\n\nEach app is associated with three sets of keys: an API Key, an API Key Secret, and a Bearer Token.\n\n1.1.3. Store secrets:\n+++++++++++++++++++++\n\nYou need to store keys and secrets of the app as environment variables in order to authenticate and\npublish tweets. To do so, open your terminal, and type the following(change each ``XXXXXXXXXX``\nvalue accordingly):\n\n.. code-block:: bash\n\n   export CONSUMER_KEY="XXXXXXXXXX"\n   export CONSUMER_SECRET="XXXXXXXXXX"\n   export ACCESS_TOKEN="XXXXXXXXXX-XXXXXXXXXX"\n   export ACCESS_TOKEN_SECRET="XXXXXXXXXX"\n\n\n1.2. Deepgram:\n~~~~~~~~~~~~~~\n\n1.2.1. Create an API Key:\n+++++++++++++++++++++++++\n\nIn order to interact with the Deepgram API, you need to grab some keys. To do so, follow along the\n`deepgram official docs`_ to create an ``API Key``.\n\nNow, you need to store your ``API Key`` as environment variable in order to authenticate and\ntranscribe audio data. To do so, open your terminal, and type the following(change the ``XXXXXXXXXX``\nvalue accordingly):\n\n.. code-block:: bash\n\n   export DEEPGRAM_API_KEY="XXXXXXXXXX"\n\n\n2. Requirements\n---------------\n\n2.1. Python Interpreter:\n~~~~~~~~~~~~~~~~~~~~~~~~\n\n**deepwordle** was tested and built with Python 3.10.1.\n\nTo install Python 3.10.1, I recommend using `pyenv`_.\n\n.. code-block:: bash\n\n   git clone https://github.com/pyenv/pyenv ~/.pyenv\n\nConfigure `pyenv` on zsh:\n\n.. code-block:: bash\n\n   cat << EOF >> ~/.zshrc\n   # pyenv config\n   export PATH="${HOME}/.pyenv/bin:${PATH}"\n   export PYENV_ROOT="${HOME}/.pyenv"\n   eval "$(pyenv init -)"\n   EOF\n\nOr if you are using the default bash shell, run the following command instead:\n\n.. code-block:: bash\n\n   cat << EOF >> ~/.bashrc\n   # pyenv config\n   export PATH="${HOME}/.pyenv/bin:${PATH}"\n   export PYENV_ROOT="${HOME}/.pyenv"\n   eval "$(pyenv init -)"\n   EOF\n\nClose your terminal and open a new shell session. Now, you can install `Python3.10.1`.\n\n.. code-block:: bash\n\n   pyenv install 3.10.1\n\nMake the interpreter available globally:\n\n.. code-block:: bash\n\n   pyenv global system 3.10.1\n\n\n2.2. Virtual Environment:\n~~~~~~~~~~~~~~~~~~~~~~~~~\n\nTo manage and set up Python 3.10.1 in a virtual environment, I recommend using `poetry`_.\n\nYou can install poetry by running the following command:\n\n.. code-block:: bash\n\n   curl -sSL https://install.python-poetry.org | python3 -\n\nTo test if everything was installed correctly, run the following:\n\n.. code-block:: bash\n\n   poetry env use 3.10.1\n\nHowever, if you are using virtualenv installed via apt, you are most likely to run into\nthe following:\n\n.. code-block:: bash\n\n   Creating virtualenv deepwordle-dxc671ba-py3.10 in ~/.cache/pypoetry/virtualenvs\n\n   ModuleNotFoundError\n\n   No module named \'virtualenv.seed.via_app_data\'\n\n   at <frozen importlib._bootstrap>:973 in _find_and_load_unlocked\n\nTo resolve this issue, you need to reinstall virtualenv through pip:\n\n.. code-block:: bash\n\n   sudo apt remove --purge python3-virtualenv virtualenv\n   python3 -m pip install -U virtualenv\n\nHaving virtualenv set up, you can use poetry to create a new project along with a virtual environment:\n\n.. code-block:: bash\n\n   poetry new deepwordle && cd deeepwordle\n\nNow, you need to let poetry know which version of python to run:\n\n.. code-block:: bash\n\n   poetry env use 3.10.1\n\nThen, you can create and activate a virtual environment to use for this project:\n\n.. code-block:: bash\n\n   poetry shell\n\nNow, at any point in the future, you want to use a virtual environment created by poetry, you can look up\nfor installed virtual environments under :code:`~/.cache/pypoetry/virtualenvs`:\n\n.. code-block:: bash\n\n   ls ~/.cache/pypoetry/virtualenvs\n\nTo activate a virtual environment, run the following:\n\n.. code-block:: bash\n\n   source ~/.cache/pypoetry/virtualenvs/<your_virtual_environment_name>/bin/activate\n\n\n2.3. PortAudio:\n~~~~~~~~~~~~~~~\n\ndeepwordle depends on :code:`PyAudio` which in turn depends on another library called :code:`portaudio`.\nTo install portaudio on Linux, run the following:\n\n.. code-block:: bash\n\n   sudo apt-get install portaudio19-dev\n\n\n3. Installation\n---------------\n\ndeepwordle is currently available for Linux os. There are two main methods you can use to install and run the game\n\nWith :code:`pip`:\n\n.. code-block:: console\n\n   python3 -m pip install deepwordle\n\nWith `pipx`_:\n\n.. code-block:: console\n\n   python3 -m pip install --user pipx\n   pipx install --python python3 deepwordle\n\npipx will install and run deepwordle in your terminal, kind of similar to `npx`_ if you are familiar with it.\n\n\n3. Quickstart\n-------------\n\nHaving deepwordle installed on your machine, you can run it as a CLI from your terminal:\n\n.. code-block:: console\n\n   deepwordle\n\nor you can use poetry to run the game:\n\n.. code-block:: console\n\n   poetry run deepwordle\n\n4. Components Overview\n----------------------\n\nThere are four main textual components that build up this game:\n\n* ``rich_text``: a module to create customized text with different fonts and sizes.\n\n.. image:: https://drive.google.com/uc?export=view&id=1AjW91cwX5qlly3erSWQZZSuJSx2FR3Qu\n   :target: https://drive.google.com/uc?export=view&id=1AjW91cwX5qlly3erSWQZZSuJSx2FR3Qu\n   :alt: rich_text\n\n* ``message``: a widget to display rich text within a textual panel.\n\n.. image:: https://drive.google.com/uc?export=view&id=1c59bdmimQsBdr3okiPGDgugcJLRmV5Pf\n   :target: https://drive.google.com/uc?export=view&id=1c59bdmimQsBdr3okiPGDgugcJLRmV5Pf\n   :alt: message\n\n* ``letter``: a module to build customized buttons with different fonts, sizes, and styles.\n\n.. image:: https://drive.google.com/uc?export=view&id=1xdkxHZQAvU3JVaFFDr2U2DAmWoMkNHwn\n   :target: https://drive.google.com/uc?export=view&id=1xdkxHZQAvU3JVaFFDr2U2DAmWoMkNHwn\n   :alt: letter\n\n* ``letters_grid``: the main letters grid of the wordle game.\n\n.. image:: https://drive.google.com/uc?export=view&id=1w5-AuKZVeHrfqtUTzj8NsX8SGZVuBcbQ\n   :target: https://drive.google.com/uc?export=view&id=1w5-AuKZVeHrfqtUTzj8NsX8SGZVuBcbQ\n   :alt: letters_grid\n\n\n5. Game Workflow\n----------------\n\na- Enter the game by simply typing ``deepwordle`` on your terminal.\n\n.. image:: https://drive.google.com/uc?export=view&id=1-Xaz1SrlMB0ZKvV8eEjd02xLbLly-kfp\n   :target: https://drive.google.com/uc?export=view&id=1-Xaz1SrlMB0ZKvV8eEjd02xLbLly-kfp\n   :alt: start game\n\nb- Press ``r`` to record a word for two seconds.\n\nc- You will be prompted to either submit the word by pressing enter or remove the letters by pressing backspace.\n\n.. image:: https://drive.google.com/uc?export=view&id=1UZ06LqL286-8PNq5yQtnNGSEnQAk6CsX\n   :target: https://drive.google.com/uc?export=view&id=1UZ06LqL286-8PNq5yQtnNGSEnQAk6CsX\n   :alt: enter or backspace\n\nd- Repeat steps ``b`` and ``c`` until you complete the game.\n\n.. image:: https://drive.google.com/uc?export=view&id=17EQGC6mPJ3bYX8ZrRm7CF8xeufhVHMsY\n   :target: https://drive.google.com/uc?export=view&id=17EQGC6mPJ3bYX8ZrRm7CF8xeufhVHMsY\n   :alt: guesses\n\ne- If you guessed the secret word, you will be asked to press ``t`` to tweet your results.\n\n.. image:: https://drive.google.com/uc?export=view&id=1Mm5ZHPEPBH0ACJWO_aDQ7nrh3jIYFfvo\n   :target: https://drive.google.com/uc?export=view&id=1Mm5ZHPEPBH0ACJWO_aDQ7nrh3jIYFfvo\n   :alt: tweet\n\n\n👋 Contribute\n-------------\n\nIf you are looking for a way to contribute to the project, please refer to the `Guideline`_.\n\n📝 License:\n-----------\n\nMIT licensed. See the bundled `licence`_ file for more details.\n\n.. _pipx: https://github.com/pypa/pipx\n.. _npx: https://docs.npmjs.com/cli/v7/commands/npx\n.. _pyenv: https://github.com/pyenv/pyenv\n.. _poetry: https://github.com/python-poetry/poetry\n.. _licence: https://github.com/Harmouch101/deepwordle/blob/main/LICENSE\n.. _deepgram official docs: https://developers.deepgram.com/documentation/getting-started/authentication/#create-an-api-key\n.. _Guideline: https://github.com/Harmouch101/deepwordle/blob/main/CONTRIBUTING.rst\n',
    'author': 'Harmouch101',
    'author_email': 'eng.mahmoudharmouch@gmail.com',
    'maintainer': None,
    'maintainer_email': None,
    'url': 'https://github.com/Harmouch101/deepwordle',
    'package_dir': package_dir,
    'packages': packages,
    'package_data': package_data,
    'install_requires': install_requires,
    'entry_points': entry_points,
    'python_requires': '>=3.10,<4.0',
}


setup(**setup_kwargs)
