Metadata-Version: 2.3
Name: ai-plays-jackbox
Version: 0.0.1
Summary: Bringing the dead internet theory to life. Have AI play JackBox with you; no friends required!
License: MIT
Author: Daniel S. Thompson
Author-email: dthomp92@gmail.com
Requires-Python: >=3.11,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Dist: google-genai (>=1.19.0,<2.0.0)
Requires-Dist: html2text (>=2024.2.26,<2025.0.0)
Requires-Dist: loguru (>=0.7.3,<1.0.0)
Requires-Dist: nicegui (>=2.18.0,<3.0.0)
Requires-Dist: ollama (>=0.4.4,<1.0.0)
Requires-Dist: openai (>=1.59.8,<2.0.0)
Requires-Dist: pydantic (>=2.10.4,<3.0.0)
Requires-Dist: requests (>=2.23.3,<3.0.0)
Requires-Dist: websocket-client (>=1.8.0,<2.0.0)
Project-URL: Bug Tracker, https://github.com/SudoSpartanDan/AIPlaysJackBox/issues
Project-URL: Repository, https://github.com/SudoSpartanDan/AIPlaysJackBox
Description-Content-Type: text/markdown

# AI Plays JackBox

Bringing the dead internet theory to life.

## Installation

```pip install ai-plays-jackbox```

## Usage

```shell
# Run with the Web UI (preferred experience)
ai-plays-jackbox-ui

# Or via CLI
ai-plays-jackbox --chat-model-name ollama --room-code abcd
```

## Supported Games

- JackBox Party Pack 7
  - Quiplash 3

## Setup for Chat Models

### Ollama

- Ollama should be installed and running
  - Pull a model to use with the library: `ollama pull <model>` e.g. `ollama pull llama3.2`
  - See [Ollama.com](https://ollama.com/search) for more information on the models available.

### OpenAI

- `OPENAI_API_KEY` needs to be popluated in your environment variables.

### Gemini

- To use the Google Cloud API:
  - Set `GOOGLE_GEMINI_DEVELOPER_API_KEY` to your developer API key
- To use the Google Cloud API:
  - Set `GOOGLE_GENAI_USE_VERTEXAI` to `1`
  - Set `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` for your GCP Project using Vertex AI
  - Credentials will be provided via [ADC](https://cloud.google.com/docs/authentication/provide-credentials-adc)
    - ADC searches for credentials in the following locations:
      - `GOOGLE_APPLICATION_CREDENTIALS` environment variable
      - A credential file created by using the gcloud auth application-default login command
      - The attached service account, returned by the metadata server

## Dev Prerequisites

- Python 3.11+
- [Poetry](https://python-poetry.org/) v2.0+

### Setup

- `poetry install`
- `ai-plays-jackbox-ui`

### Linting

- `poetry run lint`

