A Python library for hedonic games
Project description
Hedonic
A Python library for hedonic games.
Installation
pip install hedonic
Usage
from hedonic import Game
# Create a new game
game = Game("My Hedonic Game")
# Add players
game.add_player("Alice")
game.add_player("Bob")
game.add_player("Charlie")
# Get all players
players = game.get_players()
print(players) # ['Alice', 'Bob', 'Charlie']
# Print game info
print(game) # Game: My Hedonic Game with 3 players
Development
This project uses uv for dependency management and building.
To set up development environment:
uv venv
source .venv/bin/activate
uv sync
To build the package:
uv build
To publish to PyPI:
uv publish --token <your-pypi-token>
GitHub Actions Publishing
This repository includes GitHub Actions workflows for automated publishing:
- TestPyPI workflow: Currently active, publishes to TestPyPI on
v*tags - PyPI workflow: Currently disabled (can be re-enabled later)
- Automatic publishing when you push version tags
- Manual publishing from the Actions tab
- Secure authentication using OIDC for TestPyPI
Quick Release
# Bump version and prepare release
./scripts/release.sh patch # or minor/major
# Push everything (triggers TestPyPI workflow)
git push origin main && git push origin v0.0.2
Version Types
patch:0.0.1→0.0.2(bug fixes, small changes)minor:0.0.1→0.1.0(new features, backward compatible)major:0.0.1→1.0.0(breaking changes)
Current Status
- TestPyPI: ✅ Active - publishes on
v*tags - PyPI: ❌ Disabled - workflow file is commented out
Enabling PyPI Publishing Later
When you're ready to publish to PyPI:
- Rename
.github/workflows/publish-pypi.yml.disabledtopublish-pypi.yml - Add
PYPI_API_TOKENsecret to your GitHub repository - Both workflows will then be active with different tag patterns
For detailed setup instructions, see docs/OIDC_SETUP.md.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hedonic-0.0.4.tar.gz.
File metadata
- Download URL: hedonic-0.0.4.tar.gz
- Upload date:
- Size: 1.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
41e02a2e8d69ffbbe870386fe2c7b1d206500456c1fa72ec9b1e87939aeaf7e9
|
|
| MD5 |
8ce7b9f5a0a96394a774bac49430dcde
|
|
| BLAKE2b-256 |
4b83f47ee295634baa181ca0a80703d660232b977a3eb7a19f1942c9c6ba6c1f
|
File details
Details for the file hedonic-0.0.4-py3-none-any.whl.
File metadata
- Download URL: hedonic-0.0.4-py3-none-any.whl
- Upload date:
- Size: 2.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b8c77c16c56cdcc27844da1ac703bed85e6ddbf157468d9ab38e9c6aa965e0ea
|
|
| MD5 |
35b1a5a36dee4620cee21486abbc5cc3
|
|
| BLAKE2b-256 |
bdd8aa523ecc79e9d4112c48177d82d643dceb53ac83424b04f8c179e19ff6d7
|