https://github.com/bbc2/orchamp
Experimental championship analyzer
https://github.com/bbc2/orchamp
Last synced: about 2 months ago
JSON representation
Experimental championship analyzer
- Host: GitHub
- URL: https://github.com/bbc2/orchamp
- Owner: bbc2
- Created: 2025-12-22T17:24:54.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2026-06-02T21:41:38.000Z (2 months ago)
- Last Synced: 2026-06-02T23:14:35.585Z (2 months ago)
- Language: Python
- Homepage:
- Size: 263 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
# Orchamp
## ☣️ Hazardous material
This project is still in its infancy. It is not finished and it may even turn out to be
stupid. For example, many questions haven't been answered: Is it useful? Is it the right
approach for the problem? Do the technology choices make sense?
## Introduction
**Orchamp** is a championship analyzer that uses constraint programming to explore all possible outcomes in the league.
## Usage
### Web application
Go to the web application, select a league (year, division, phase), and see current standings.
### CLI
To analyze possible future positions of a given team in the championship:
```bash
orchamp \
--rules tests/orchamp/cli/data/rules.json \
--state <(orchamp-get parse tests/orchamp_get/data/standings.html) \
analyze-team --team team_b
```
This outputs JSON in the following form:
```json
{
"team_id": "team_b",
"team_name": "Team B",
"best_position": 1,
"worst_position": 5,
"best_scenario": {
...
},
"worst_scenario": {
...
}
}
```
## Development
### Checks
Run all checks (lint + tests):
```bash
just check
```
### Dev server
Run the dev server on http://localhost:8000:
```bash
just run
```
### Translations
To add or update translatable strings:
- Run `just update-translations`
- Edit the `.po` files under `src/orchamp_web/locales/`
- Run `just compile-translations`