Skip to main content

Emojirades

A Slack bot that understands the Emojirades game and handles scorekeeping.

CI Status

Local Development Setup

This project uses uv for dependency management. Follow these steps to set up your local environment:

1. Install dependencies

Install the project and all development tools into a local virtual environment:

uv sync --extra dev

2. Configure Git Hooks

We use pre-commit to ensure code quality. Initialize the hooks so they run automatically on git commit:

uv run pre-commit install

3. Run Tests

Ensure everything is working correctly:

uv run --extra dev ./scripts/run_tests.sh

Running the Bot Locally

Initialization

# Initialize the database (SQLite)
uv run emojirades init --db-uri "sqlite:///emojirades.db"

Run (Single Workspace)

uv run emojirades single --db-uri "sqlite:///emojirades.db" --auth-uri "auth.json"

Run (Docker)

docker build -t emojirades .
docker run -e DATABASE_URI=sqlite:////data/emojirades.db -v $(pwd)/data:/data emojirades

Dependency Management

This project uses uv for lightning-fast dependency management and deterministic builds.

Adding/Updating Dependencies

# Add a new package
uv add requests

# Add a dev dependency
uv add --dev pytest

# Update a specific package
uv add requests@latest

# Update all packages to latest allowed by constraints
uv lock --upgrade

Syncing Environment

If the uv.lock or pyproject.toml file changes, sync your local environment:

uv sync

Database Migrations

We use Alembic for database migrations.

# Apply migrations
uv run emojirades init

# Generate a new migration (after modifying models)
# This can now be run directly from the root
uv run alembic revision --autogenerate -m "description of changes"

Deployment

The bot is automatically published to GHCR on tagged releases. See src/emojirades/__init__.py for the current version.

Release files for emojirades 1.15.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for emojirades 1.15.0
File Size Uploaded
emojirades-1.15.0.tar.gz 53.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for emojirades 1.15.0
File Interpreter ABI Platform
emojirades-1.15.0-py3-none-any.whl Python 3 none any Details

Total release size: 125.4 kB

Release files / emojirades-1.15.0.tar.gz

Download URL emojirades-1.15.0.tar.gz
Size 53.7 kB
Tags Source
SHA-256 checksum
How to use checksums
bf5f25c76cb087481889394f020538892cb63b660de4fa9372bdf9e73fe7a444
BLAKE2b-256 checksum
How to use checksums
f7a5eb49168e82480969171e74c38b8cee88e317ae1dcbbe2a5a9ed388a76a13
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.14

Release files / emojirades-1.15.0-py3-none-any.whl

Download URL emojirades-1.15.0-py3-none-any.whl
Size 71.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0ec466e93ce62a10738f7e3455e677e3f0a9414aed2aef3ccdfa53388c130973
BLAKE2b-256 checksum
How to use checksums
7c79d6ce3003ea30d32e0db19c6e1ea078a6c434759b016d88fb357bd15090d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

1.15.0 This release

2 release files

1.13.2

2 release files

1.13.1

2 release files

1.13.0

2 release files

1.12.1

2 release files

1.12.0

2 release files

1.11.4

2 release files

1.11.2

2 release files

1.11.1

2 release files

1.10.0

2 release files

1.9.0

2 release files

1.7.0

2 release files

1.6.2

2 release files

1.6.1

2 release files

1.6.0

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.19.4

2 release files

0.16.7

2 release files

0.16.3

2 release files

0.16.2

2 release files

0.16.1

2 release files

0.16.0

2 release files

0.15.2

2 release files

0.14.0

2 release files

0.13.5

2 release files

0.13.4

2 release files

0.13.3

2 release files

0.13.2

2 release files

0.13.1

2 release files

0.13.0

2 release files

0.11.2

2 release files

0.11.0

2 release files

0.10.4

2 release files

0.10.3

2 release files

0.10.1

2 release files

0.10.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page