Finalist agents from the Human Agent Negotiation (HAN) league of ANAC
Project description
han-agents
Finalist agents from the Human Agent Negotiation (HAN) league of the
ANAC competition series. Mirrors the
layout of autoneg/anl-agents
and autoneg/scml-agents
so the same pip install + from <pkg>.<year>.<team> import …
workflow applies.
Install
pip install git+https://github.com/autoneg/han-agents@v0.0.1
# or for local development against a clone:
pip install -e .
After install, each finalist is importable by its fully-qualified dotted path, e.g.:
from han_agents.han2026.team_a import MAIN_AGENT
from han_agents.han2026.team_b.strategy import TeamBAgent
Layout
src/han_agents/
├── __init__.py
├── agents.py # get_agents(year, finalists_only, …)
└── han<year>/
├── __init__.py
└── team_<id>/
├── __init__.py # exposes MAIN_AGENT, __all__
├── requirements.txt # per-team deps (optional)
├── report.pdf # per-team report (always available for qualified agents)
└── <strategy>.py # the agent code
get_agents(...) in agents.py is the canonical registry — call it
with year=2026, finalists_only=True to enumerate the per-year
finalists.
How finalists are published each year
The competition produces a scmlweb agent table with one row per
submitted agent. To turn the top-N entries into a release of this
package, use the automation script in the scmlweb repo:
cd ~/scmlweb
python python/set_han_finalists.py \
--year 2026 \
--ids 20566,21041,21089,21102,21155 \
--han-agents-root ~/code/projects/han-agents
That script extracts each agent's submission zip, lays out a
team_<id>/ subdirectory with __init__.py and requirements.txt,
updates han_agents/han{year}/__init__.py and the get_agents(...)
registry, and prints a ready-to-paste PROLIFIC_FINALISTS=… line.
Then:
cd ~/code/projects/han-agents
git add -A && git commit -m "han2026 finalists" && git tag v0.0.X && git push --tags
…and pip install git+…@v0.0.X from any host that needs the
finalists at runtime (HANI's venv on production, primarily).
Reuse for future years
Add a new han<year>/ subdir and bump the version. The
get_agents(year=2027, …) call will pick it up automatically.
ANAC 2026 Results
Finalists (4)
| # | Agent | ID | Author | Team | Institute | Country |
|---|---|---|---|---|---|---|
| 1 | AegisAgentR168 | 22280 | Mizuno | Team 374 | — | Japan |
| 2 | CivicHAN | 22270 | Michael Ibrahim | Team 409 | Cairo University | Egypt |
| 3 | Equinox | 21099 | Roshia | Equinox | Kyoto University | Japan |
| 4 | NegotiatorX | 21049 | Serhat Giydiren | TeamX | Özyeğin University | Türkiye |
Get them after install with:
get_agents(2026, finalists_only=True)
Qualified agents (22)
| # | Agent | ID | Author | Team | Institute | Country |
|---|---|---|---|---|---|---|
| 1 | AdaptiveBargainNegotiator | 21709 | Hajime Endo | Team Ukku | Tokyo University of Agriculture and Technology | Japan |
| 2 | AegisAgentR168 | 22280 | Mizuno | Team 374 | — | Japan |
| 3 | Agent96 | 22147 | Ismail Kerfai | Agent96 | Leibniz Universität Hannover | Germany |
| 4 | AgoraAINegotiator | 21181 | Christos Tsoufis | agoraAI | Université Paris Dauphine - PSL | France |
| 5 | CivicHAN | 22270 | Michael Ibrahim | Team 409 | Cairo University | Egypt |
| 6 | Closerv23 | 22286 | Avinash Pathak | Team 422 | Independent | India |
| 7 | CodexAgentHan | 21723 | Ryota GENSEKI | Team 507 | Tokyo University of Agriculture and Technology | Japan |
| 8 | Equinox | 21099 | Roshia | Equinox | Kyoto University | Japan |
| 9 | Group8 | 21399 | Asim Sallio | Group_8 | Özyeğin University | Türkiye |
| 10 | Gunner_Agent | 21480 | Omer Shani Steinmetz | Team 372 | College of Management Academic Studies | Israel |
| 11 | HannariHamaguriHAN | 21125 | Rinon Asanuma | Team 376 | Tokyo University of Agriculture and Technology | Japan |
| 12 | HiHan | 21736 | カズマ | チーム298 | Tokyo University of Agriculture and Technology | Japan |
| 13 | HybridPisaNegotiator | 21787 | Beste Nur Pacci | Team 508 | Özyeğin University | Türkiye |
| 14 | LastOffer | 21405 | Felix Bieber | Last Offer | Leibniz Universität Hannover | Germany |
| 15 | NegotiatorX | 21049 | Serhat Giydiren | TeamX | Özyeğin University | Türkiye |
| 16 | Nekotiator | 21656 | Toshikazu Ogura | Team 390 | Nagoya Institute of Technology | Japan |
| 17 | NeoNegotiator | 21627 | Eymen | Team 377 | Özyeğin University | Türkiye |
| 18 | NEXUSNegotiator | 21113 | Shahzeen Ahmad | Team 387 | Özyeğin University | Türkiye |
| 19 | Semruk | 21086 | Mehmet Tuğberk ÇİL | Semruk | Özyeğin University | Türkiye |
| 20 | SnowyDayAgent | 22262 | Tyrone Serapio | ST | Brown University | United States |
| 21 | Sun | 21400 | Uraz Kağan GÜNEŞ | Team 434 | Özyeğin University | Türkiye |
| 22 | T2Agent | 21146 | TogasakiTakashi | Team 397 | Tokyo University of Agriculture and Technology | Japan |
Get them after install with:
get_agents(2026, qualified_only=True)
Disqualified (2): hagent, MiAgent
Project details
Release history Release notifications | RSS feed
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 han_agents-0.0.2.tar.gz.
File metadata
- Download URL: han_agents-0.0.2.tar.gz
- Upload date:
- Size: 591.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b8d40c335d92f26afc2cbaca3775cdfbef2afc20fa9c12e4b5ca7eea950b61f7
|
|
| MD5 |
e55ac87fefa4e0a7e89fe9cf532e8db2
|
|
| BLAKE2b-256 |
df3b4e66dd5db4a896e4c5e01188522805400bceab7b295f256e7e19c94b734e
|
Provenance
The following attestation bundles were made for han_agents-0.0.2.tar.gz:
Publisher:
publish.yml on autoneg/han-agents
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
han_agents-0.0.2.tar.gz -
Subject digest:
b8d40c335d92f26afc2cbaca3775cdfbef2afc20fa9c12e4b5ca7eea950b61f7 - Sigstore transparency entry: 2195669748
- Sigstore integration time:
-
Permalink:
autoneg/han-agents@c23fb6f33681bcf7f003b6c7ff7927ddc1d7e637 -
Branch / Tag:
refs/tags/v0.0.2 - Owner: https://github.com/autoneg
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c23fb6f33681bcf7f003b6c7ff7927ddc1d7e637 -
Trigger Event:
push
-
Statement type:
File details
Details for the file han_agents-0.0.2-py3-none-any.whl.
File metadata
- Download URL: han_agents-0.0.2-py3-none-any.whl
- Upload date:
- Size: 619.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c76168aed8f1dddc173ac1b3b16594537bdfa0a7de4df107d3c8397d7f8e3cd3
|
|
| MD5 |
b7834bcde42c60acc7e688c98ba429f3
|
|
| BLAKE2b-256 |
4741ee489dda0cee072c2cf4a8a842874cca625b87eb03f1212753bd252a2cd6
|
Provenance
The following attestation bundles were made for han_agents-0.0.2-py3-none-any.whl:
Publisher:
publish.yml on autoneg/han-agents
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
han_agents-0.0.2-py3-none-any.whl -
Subject digest:
c76168aed8f1dddc173ac1b3b16594537bdfa0a7de4df107d3c8397d7f8e3cd3 - Sigstore transparency entry: 2195669755
- Sigstore integration time:
-
Permalink:
autoneg/han-agents@c23fb6f33681bcf7f003b6c7ff7927ddc1d7e637 -
Branch / Tag:
refs/tags/v0.0.2 - Owner: https://github.com/autoneg
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c23fb6f33681bcf7f003b6c7ff7927ddc1d7e637 -
Trigger Event:
push
-
Statement type: