camel-up-solver
A solver for Camel Up.
Input: game state (rolls, tiles, ticket grabs) as the game plays out, then
ask /sim for the EV of each available bet (or /sim verify for an exact answer).
camelup> /setup random
camelup> /take g mine
camelup> /tile 5 oasis mine
camelup> /roll y 3
camelup> /sim
Install
You need Python 3.9+. The recommended way is pipx,
which installs camelup into its own isolated environment and puts it on your
PATH:
pipx install camel-up-solver
camelup
Or with plain pip:
pip install camel-up-solver
camelup
Update later with pipx upgrade camel-up-solver (or pip install -U camel-up-solver).
From source
git clone https://github.com/mehularora8/camel-up
cd camel-up
pip install -e . # editable: source edits take effect immediately
camelup
Or run it without installing:
PYTHONPATH=src python -m camel_up
Commands
All commands start with /. Type /help inside the REPL for the full list.
| command | what it does |
|---|---|
/setup r=1 b=1 g=2 y=3 p=2 w=16 k=16 |
seed each camel's starting space |
/setup random |
random rule-ish starting placement (debug) |
/roll <color> <1-3> [mine] |
a die popped this turn; mine = you pulled it (+1 pyramid coin) |
/tile <space> oasis|mirage [mine] |
place a desert tile (mine = you placed it) |
/take <color> [mine] |
someone claimed the top leg-bet ticket (mine = you took it) |
/endleg |
manually end the leg; also fires automatically when the pyramid empties |
/show |
print the current board |
/undo |
undo the last action |
/sim [n] [verify] |
Monte Carlo EV of every leg bet + race odds (default 10,000 rollouts); add verify for EXACT leg-bet EV via full completion enumeration |
/help |
command reference |
/quit |
exit |
Colors: r b g y p for the racing camels (red/blue/green/yellow/purple);
w (white) and k (black) for the crazy/backward camels.
How it works
- The leg is small enough to solve exactly (
/sim verifyenumerates every remaining permutation × outcome — tractable up to ~1M completions, instant once a die or two has been rolled). - The full race spans many legs and is Monte Carlo only.
- Held tickets pay out automatically at
/endlegfrom the final board: 1st = +face value, 2nd = +1, 3rd-5th = -1.
Metadata
Release files for camel-up-solver 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| camel_up_solver-0.1.2.tar.gz | 14.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| camel_up_solver-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 31.3 kB
Release files / camel_up_solver-0.1.2.tar.gz
| Download URL | camel_up_solver-0.1.2.tar.gz |
|---|---|
| Size | 14.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6d8679076782a9d1a58ff9b92614a25d61acd14cc6507eb12943d4ecfa5e310d
|
|
BLAKE2b-256 checksum How to use checksums |
714f09fec99fd886b8e30a36ae0c96ffaaab0fc75cb5d49484b266d73661a2cf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / camel_up_solver-0.1.2-py3-none-any.whl
| Download URL | camel_up_solver-0.1.2-py3-none-any.whl |
|---|---|
| Size | 16.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0cd7566c30673475509d6193afb2722c947bd12481f765697021d19685ecd722
|
|
BLAKE2b-256 checksum How to use checksums |
1f568977ed1319dc2c5063a590a57d75812557e1d7ed2a50c7dcfa7ce8e2d89f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Security for camel-up-solver 0.1.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.