genarena 0.0.1__py3-none-any.whl → 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. genarena/__init__.py +49 -2
  2. genarena/__main__.py +10 -0
  3. genarena/arena.py +1685 -0
  4. genarena/battle.py +337 -0
  5. genarena/bt_elo.py +507 -0
  6. genarena/cli.py +1581 -0
  7. genarena/data.py +476 -0
  8. genarena/deploy/Dockerfile +25 -0
  9. genarena/deploy/README.md +55 -0
  10. genarena/deploy/__init__.py +5 -0
  11. genarena/deploy/app.py +84 -0
  12. genarena/experiments.py +121 -0
  13. genarena/leaderboard.py +270 -0
  14. genarena/logs.py +409 -0
  15. genarena/models.py +412 -0
  16. genarena/prompts/__init__.py +127 -0
  17. genarena/prompts/mmrb2.py +373 -0
  18. genarena/sampling.py +336 -0
  19. genarena/state.py +656 -0
  20. genarena/sync/__init__.py +105 -0
  21. genarena/sync/auto_commit.py +118 -0
  22. genarena/sync/deploy_ops.py +543 -0
  23. genarena/sync/git_ops.py +422 -0
  24. genarena/sync/hf_ops.py +891 -0
  25. genarena/sync/init_ops.py +431 -0
  26. genarena/sync/packer.py +587 -0
  27. genarena/sync/submit.py +837 -0
  28. genarena/utils.py +103 -0
  29. genarena/validation/__init__.py +19 -0
  30. genarena/validation/schema.py +327 -0
  31. genarena/validation/validator.py +329 -0
  32. genarena/visualize/README.md +148 -0
  33. genarena/visualize/__init__.py +14 -0
  34. genarena/visualize/app.py +938 -0
  35. genarena/visualize/data_loader.py +2335 -0
  36. genarena/visualize/static/app.js +3762 -0
  37. genarena/visualize/static/model_aliases.json +86 -0
  38. genarena/visualize/static/style.css +4104 -0
  39. genarena/visualize/templates/index.html +413 -0
  40. genarena/vlm.py +519 -0
  41. genarena-0.1.0.dist-info/METADATA +178 -0
  42. genarena-0.1.0.dist-info/RECORD +44 -0
  43. {genarena-0.0.1.dist-info → genarena-0.1.0.dist-info}/WHEEL +1 -2
  44. genarena-0.1.0.dist-info/entry_points.txt +2 -0
  45. genarena-0.0.1.dist-info/METADATA +0 -26
  46. genarena-0.0.1.dist-info/RECORD +0 -5
  47. genarena-0.0.1.dist-info/top_level.txt +0 -1
genarena/__init__.py CHANGED
@@ -1,3 +1,50 @@
1
- """Genarena - A placeholder package."""
1
+ """GenArena Arena Evaluation - VLM-based pairwise image generation evaluation."""
2
2
 
3
- __version__ = "0.0.1"
3
+ __version__ = "0.1.0"
4
+ __author__ = "GenArena Team"
5
+
6
+ """
7
+ Keep package import lightweight.
8
+
9
+ This subpackage may be split out and installed independently. Some modules
10
+ (e.g., dataset IO) require optional heavy dependencies (pyarrow, pandas, etc.).
11
+ To avoid import-time failures, we expose symbols via lazy imports in __getattr__.
12
+ """
13
+
14
+ __all__ = [
15
+ "__version__",
16
+ "__author__",
17
+ "Arena",
18
+ "ParquetDataset",
19
+ "DataSample",
20
+ "ModelOutputManager",
21
+ "VLMJudge",
22
+ "ArenaState",
23
+ "generate_leaderboard",
24
+ ]
25
+
26
+
27
+ def __getattr__(name: str):
28
+ """Lazy attribute loader to keep import side-effects minimal."""
29
+ if name == "Arena":
30
+ from .arena import Arena
31
+ return Arena
32
+ if name == "ParquetDataset":
33
+ from .data import ParquetDataset
34
+ return ParquetDataset
35
+ if name == "DataSample":
36
+ from .data import DataSample
37
+ return DataSample
38
+ if name == "ModelOutputManager":
39
+ from .models import ModelOutputManager
40
+ return ModelOutputManager
41
+ if name == "VLMJudge":
42
+ from .vlm import VLMJudge
43
+ return VLMJudge
44
+ if name == "ArenaState":
45
+ from .state import ArenaState
46
+ return ArenaState
47
+ if name == "generate_leaderboard":
48
+ from .leaderboard import generate_leaderboard
49
+ return generate_leaderboard
50
+ raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
genarena/__main__.py ADDED
@@ -0,0 +1,10 @@
1
+ # Copyright 2026 Ruihang Li.
2
+ # Licensed under the Apache License, Version 2.0.
3
+ # See LICENSE file in the project root for details.
4
+
5
+ """Entry point for python -m genarena."""
6
+
7
+ from genarena.cli import main
8
+
9
+ if __name__ == "__main__":
10
+ main()