evalmc 0.0.3__tar.gz → 0.0.4__tar.gz

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 (34) hide show
  1. evalmc-0.0.4/PKG-INFO +136 -0
  2. evalmc-0.0.4/README.md +108 -0
  3. {evalmc-0.0.3 → evalmc-0.0.4}/evalmc/main.py +3 -3
  4. {evalmc-0.0.3 → evalmc-0.0.4}/evalmc/submission.py +1 -1
  5. {evalmc-0.0.3 → evalmc-0.0.4}/evalmc/submit_onnx.py +3 -3
  6. evalmc-0.0.4/evalmc.egg-info/PKG-INFO +136 -0
  7. {evalmc-0.0.3 → evalmc-0.0.4}/pyproject.toml +11 -6
  8. evalmc-0.0.3/PKG-INFO +0 -95
  9. evalmc-0.0.3/README.md +0 -72
  10. evalmc-0.0.3/evalmc.egg-info/PKG-INFO +0 -95
  11. {evalmc-0.0.3 → evalmc-0.0.4}/LICENSE +0 -0
  12. {evalmc-0.0.3 → evalmc-0.0.4}/evalmc/__init__.py +0 -0
  13. {evalmc-0.0.3 → evalmc-0.0.4}/evalmc/__main__.py +0 -0
  14. {evalmc-0.0.3 → evalmc-0.0.4}/evalmc/check_challenge.py +0 -0
  15. {evalmc-0.0.3 → evalmc-0.0.4}/evalmc/check_registered.py +0 -0
  16. {evalmc-0.0.3 → evalmc-0.0.4}/evalmc/config_paths.py +0 -0
  17. {evalmc-0.0.3 → evalmc-0.0.4}/evalmc/host.py +0 -0
  18. {evalmc-0.0.3 → evalmc-0.0.4}/evalmc/login.py +0 -0
  19. {evalmc-0.0.3 → evalmc-0.0.4}/evalmc/nominate.py +0 -0
  20. {evalmc-0.0.3 → evalmc-0.0.4}/evalmc/push_helpers.py +0 -0
  21. {evalmc-0.0.3 → evalmc-0.0.4}/evalmc/register.py +0 -0
  22. {evalmc-0.0.3 → evalmc-0.0.4}/evalmc/set_token.py +0 -0
  23. {evalmc-0.0.3 → evalmc-0.0.4}/evalmc/status.py +0 -0
  24. {evalmc-0.0.3 → evalmc-0.0.4}/evalmc/utils.py +0 -0
  25. {evalmc-0.0.3 → evalmc-0.0.4}/evalmc.egg-info/SOURCES.txt +0 -0
  26. {evalmc-0.0.3 → evalmc-0.0.4}/evalmc.egg-info/dependency_links.txt +0 -0
  27. {evalmc-0.0.3 → evalmc-0.0.4}/evalmc.egg-info/entry_points.txt +0 -0
  28. {evalmc-0.0.3 → evalmc-0.0.4}/evalmc.egg-info/requires.txt +0 -0
  29. {evalmc-0.0.3 → evalmc-0.0.4}/evalmc.egg-info/top_level.txt +0 -0
  30. {evalmc-0.0.3 → evalmc-0.0.4}/setup.cfg +0 -0
  31. {evalmc-0.0.3 → evalmc-0.0.4}/tests/test_cli_nominate.py +0 -0
  32. {evalmc-0.0.3 → evalmc-0.0.4}/tests/test_cli_smoke.py +0 -0
  33. {evalmc-0.0.3 → evalmc-0.0.4}/tests/test_push_helpers.py +0 -0
  34. {evalmc-0.0.3 → evalmc-0.0.4}/tests/test_submission_api_base.py +0 -0
evalmc-0.0.4/PKG-INFO ADDED
@@ -0,0 +1,136 @@
1
+ Metadata-Version: 2.4
2
+ Name: evalmc
3
+ Version: 0.0.4
4
+ Summary: MyoChallenge CLI — submit ONNX and Docker policies trained with MyoSuite 3
5
+ Author-email: MyoChallenge Team <caggiano@gmail.com>
6
+ License-Expression: Apache-2.0
7
+ Project-URL: Homepage, https://mc26.myosuite.org
8
+ Project-URL: MyoSuite, https://www.myosuite.org
9
+ Project-URL: API, https://api.mc.myosuite.org
10
+ Classifier: Development Status :: 4 - Beta
11
+ Classifier: Intended Audience :: Science/Research
12
+ Classifier: Operating System :: OS Independent
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Programming Language :: Python :: 3.13
18
+ Classifier: Programming Language :: Python :: 3.14
19
+ Classifier: Topic :: Scientific/Engineering
20
+ Requires-Python: >=3.10
21
+ Description-Content-Type: text/markdown
22
+ License-File: LICENSE
23
+ Requires-Dist: click>=8.0.0
24
+ Requires-Dist: docker>=6.0.0
25
+ Requires-Dist: requests>=2.25.0
26
+ Requires-Dist: boto3>=1.26.0
27
+ Dynamic: license-file
28
+
29
+ # evalmc
30
+
31
+ Submission CLI for [MyoChallenge](https://mc26.myosuite.org). Train with
32
+ [MyoSuite 3](https://pypi.org/project/myosuite/) (`pip install -U myosuite`),
33
+ then upload an ONNX graph or a Docker agent image.
34
+
35
+ [![PyPI](https://img.shields.io/pypi/v/evalmc.svg)](https://pypi.org/project/evalmc/)
36
+ [![Python](https://img.shields.io/pypi/pyversions/evalmc.svg)](https://pypi.org/project/evalmc/)
37
+ [![License](https://img.shields.io/pypi/l/evalmc.svg)](https://pypi.org/project/evalmc/)
38
+
39
+ Python **3.10–3.14**, same range as MyoSuite 3. Default API:
40
+ `https://api.mc.myosuite.org`.
41
+
42
+ ```bash
43
+ pip install -U evalmc myosuite
44
+ ```
45
+
46
+ ---
47
+
48
+ ## Train locally (MyoSuite 3)
49
+
50
+ 2026 ChaseTag uses the steered full-body 1v1 env on the Gymnasium API:
51
+
52
+ ```python
53
+ from myosuite import make_env
54
+
55
+ env = make_env("myoChallengeChaseTagFBVs-v0")
56
+ obs, info = env.reset(seed=0)
57
+ ```
58
+
59
+ | | |
60
+ |---|---|
61
+ | **Env** | `myoChallengeChaseTagFBVs-v0` |
62
+ | **Task / phase** | `chasetag` / `1` |
63
+ | **Observation** | `(546,)` — you are `agent_0`; last 2 dims are role one-hot |
64
+ | **Action** | `(354,)` — muscle activations in `[0, 1]` |
65
+ | **Scoring** | Title cycle: mid-cycle vs a fixed champion, then single-elim finals |
66
+
67
+ CPU training (Stable-Baselines3) or GPU (`make_env(..., backend="mjlab")`) both
68
+ export to the same ONNX contract. See [MyoSuite 3](https://www.myosuite.org).
69
+
70
+ ---
71
+
72
+ ## Quick start
73
+
74
+ ```bash
75
+ evalmc host --set-host https://api.mc.myosuite.org
76
+ evalmc login # email + token from the dashboard
77
+ evalmc status
78
+ evalmc submit-onnx model.onnx -t chasetag -p 1
79
+ ```
80
+
81
+ Credentials are stored in `~/.myochallenge/`.
82
+
83
+ ---
84
+
85
+ ## Commands
86
+
87
+ | Command | Purpose |
88
+ |---|---|
89
+ | `evalmc host` | Show or set the API host |
90
+ | `evalmc login` | Save email + auth token |
91
+ | `evalmc set_token` | Set the token non-interactively |
92
+ | `evalmc status` | Confirm host and team |
93
+ | `evalmc submit-onnx` | Upload a standalone ONNX policy |
94
+ | `evalmc nominate` | Pick a scored artifact for title-cycle finals |
95
+ | `evalmc push` | Submit a Docker / ECR agent image |
96
+
97
+ ### ONNX (recommended)
98
+
99
+ Graph is `obs → action`. No `policy.py` required.
100
+
101
+ ```bash
102
+ evalmc submit-onnx model.onnx -t chasetag -p 1
103
+ ```
104
+
105
+ ChaseTag tensors: input `obs` `[batch, 546]`, output `action` `[batch, 354]`.
106
+
107
+ ### Title-cycle nomination
108
+
109
+ Before freeze, choose which scored in-window submission plays in finals.
110
+ Without a nomination the platform uses your best score.
111
+
112
+ ```bash
113
+ evalmc nominate -t chasetag -p 1 --submission-id 123
114
+ ```
115
+
116
+ ### Docker
117
+
118
+ For custom Python around the policy. Ship `policy.py` and/or `model.onnx`
119
+ under `/policy` (or `/app`):
120
+
121
+ ```python
122
+ class Policy:
123
+ def reset(self):
124
+ ...
125
+ def get_action(self, obs):
126
+ ... # 1-D float array, length 354 for ChaseTag
127
+ ```
128
+
129
+ ```bash
130
+ evalmc push my-agent:tag -t chasetag -p 1
131
+ ```
132
+
133
+ ---
134
+
135
+ ChaseTag 2026 is invitation-only. Registration and submission are rejected until
136
+ the team is on the whitelist. Leaderboards stay public.
evalmc-0.0.4/README.md ADDED
@@ -0,0 +1,108 @@
1
+ # evalmc
2
+
3
+ Submission CLI for [MyoChallenge](https://mc26.myosuite.org). Train with
4
+ [MyoSuite 3](https://pypi.org/project/myosuite/) (`pip install -U myosuite`),
5
+ then upload an ONNX graph or a Docker agent image.
6
+
7
+ [![PyPI](https://img.shields.io/pypi/v/evalmc.svg)](https://pypi.org/project/evalmc/)
8
+ [![Python](https://img.shields.io/pypi/pyversions/evalmc.svg)](https://pypi.org/project/evalmc/)
9
+ [![License](https://img.shields.io/pypi/l/evalmc.svg)](https://pypi.org/project/evalmc/)
10
+
11
+ Python **3.10–3.14**, same range as MyoSuite 3. Default API:
12
+ `https://api.mc.myosuite.org`.
13
+
14
+ ```bash
15
+ pip install -U evalmc myosuite
16
+ ```
17
+
18
+ ---
19
+
20
+ ## Train locally (MyoSuite 3)
21
+
22
+ 2026 ChaseTag uses the steered full-body 1v1 env on the Gymnasium API:
23
+
24
+ ```python
25
+ from myosuite import make_env
26
+
27
+ env = make_env("myoChallengeChaseTagFBVs-v0")
28
+ obs, info = env.reset(seed=0)
29
+ ```
30
+
31
+ | | |
32
+ |---|---|
33
+ | **Env** | `myoChallengeChaseTagFBVs-v0` |
34
+ | **Task / phase** | `chasetag` / `1` |
35
+ | **Observation** | `(546,)` — you are `agent_0`; last 2 dims are role one-hot |
36
+ | **Action** | `(354,)` — muscle activations in `[0, 1]` |
37
+ | **Scoring** | Title cycle: mid-cycle vs a fixed champion, then single-elim finals |
38
+
39
+ CPU training (Stable-Baselines3) or GPU (`make_env(..., backend="mjlab")`) both
40
+ export to the same ONNX contract. See [MyoSuite 3](https://www.myosuite.org).
41
+
42
+ ---
43
+
44
+ ## Quick start
45
+
46
+ ```bash
47
+ evalmc host --set-host https://api.mc.myosuite.org
48
+ evalmc login # email + token from the dashboard
49
+ evalmc status
50
+ evalmc submit-onnx model.onnx -t chasetag -p 1
51
+ ```
52
+
53
+ Credentials are stored in `~/.myochallenge/`.
54
+
55
+ ---
56
+
57
+ ## Commands
58
+
59
+ | Command | Purpose |
60
+ |---|---|
61
+ | `evalmc host` | Show or set the API host |
62
+ | `evalmc login` | Save email + auth token |
63
+ | `evalmc set_token` | Set the token non-interactively |
64
+ | `evalmc status` | Confirm host and team |
65
+ | `evalmc submit-onnx` | Upload a standalone ONNX policy |
66
+ | `evalmc nominate` | Pick a scored artifact for title-cycle finals |
67
+ | `evalmc push` | Submit a Docker / ECR agent image |
68
+
69
+ ### ONNX (recommended)
70
+
71
+ Graph is `obs → action`. No `policy.py` required.
72
+
73
+ ```bash
74
+ evalmc submit-onnx model.onnx -t chasetag -p 1
75
+ ```
76
+
77
+ ChaseTag tensors: input `obs` `[batch, 546]`, output `action` `[batch, 354]`.
78
+
79
+ ### Title-cycle nomination
80
+
81
+ Before freeze, choose which scored in-window submission plays in finals.
82
+ Without a nomination the platform uses your best score.
83
+
84
+ ```bash
85
+ evalmc nominate -t chasetag -p 1 --submission-id 123
86
+ ```
87
+
88
+ ### Docker
89
+
90
+ For custom Python around the policy. Ship `policy.py` and/or `model.onnx`
91
+ under `/policy` (or `/app`):
92
+
93
+ ```python
94
+ class Policy:
95
+ def reset(self):
96
+ ...
97
+ def get_action(self, obs):
98
+ ... # 1-D float array, length 354 for ChaseTag
99
+ ```
100
+
101
+ ```bash
102
+ evalmc push my-agent:tag -t chasetag -p 1
103
+ ```
104
+
105
+ ---
106
+
107
+ ChaseTag 2026 is invitation-only. Registration and submission are rejected until
108
+ the team is on the whitelist. Leaderboards stay public.
@@ -18,13 +18,13 @@ from .nominate import nominate
18
18
  @click.version_option()
19
19
  def main():
20
20
  """
21
- MyoChallenge submission CLI.
21
+ MyoChallenge submission CLI (MyoSuite 3).
22
22
 
23
23
  Two submission paths are available:
24
24
 
25
25
  \b
26
- evalmc submit-onnx model.onnx -p 1 -t elbowflexion # ONNX (elbow / ChaseTag)
27
- evalmc push my-image:tag -p 1 -t tabletennis # Docker/ECR image push
26
+ evalmc submit-onnx model.onnx -p 1 -t chasetag # ONNX (recommended)
27
+ evalmc push my-image:tag -p 1 -t chasetag # Docker / ECR
28
28
  """
29
29
  pass
30
30
 
@@ -102,7 +102,7 @@ def _run_subprocess(cmd: list[str], step: str) -> None:
102
102
  @click.option(
103
103
  "-t",
104
104
  "--task",
105
- help="challenge task name (e.g.,tabletennis, soccer)",
105
+ help="challenge task name (e.g. chasetag)",
106
106
  required=True,
107
107
  )
108
108
  @click.option(
@@ -12,16 +12,16 @@ from .push_helpers import echo_submission_result, post_submission_file, resolve_
12
12
  @click.command("submit-onnx")
13
13
  @click.argument("onnx_path", type=click.Path(exists=True, path_type=Path))
14
14
  @click.option("-p", "--phase", required=True, type=int, help="Challenge phase number")
15
- @click.option("-t", "--task", required=True, help="Challenge task name (e.g. elbowflexion)")
15
+ @click.option("-t", "--task", required=True, help="Challenge task name (e.g. chasetag)")
16
16
  @click.option("-e", "--email", default=None, help="Team email")
17
17
  @click.option("-a", "--auth-token", default=None, help="Auth token")
18
18
  def submit_onnx(onnx_path, phase, task, email, auth_token):
19
19
  """Submit a standalone ONNX model (no policy.py required).
20
20
 
21
- Works for elbow flexion and ChaseTag (obs→action graphs).
21
+ ChaseTag (MyoSuite 3): obs [batch, 546] → action [batch, 354]
22
+ on myoChallengeChaseTagFBVs-v0.
22
23
 
23
24
  Example:
24
- evalmc submit-onnx my_model.onnx -t elbowflexion -p 1
25
25
  evalmc submit-onnx chase.onnx -t chasetag -p 1
26
26
  """
27
27
  if onnx_path.suffix.lower() != ".onnx":
@@ -0,0 +1,136 @@
1
+ Metadata-Version: 2.4
2
+ Name: evalmc
3
+ Version: 0.0.4
4
+ Summary: MyoChallenge CLI — submit ONNX and Docker policies trained with MyoSuite 3
5
+ Author-email: MyoChallenge Team <caggiano@gmail.com>
6
+ License-Expression: Apache-2.0
7
+ Project-URL: Homepage, https://mc26.myosuite.org
8
+ Project-URL: MyoSuite, https://www.myosuite.org
9
+ Project-URL: API, https://api.mc.myosuite.org
10
+ Classifier: Development Status :: 4 - Beta
11
+ Classifier: Intended Audience :: Science/Research
12
+ Classifier: Operating System :: OS Independent
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Programming Language :: Python :: 3.13
18
+ Classifier: Programming Language :: Python :: 3.14
19
+ Classifier: Topic :: Scientific/Engineering
20
+ Requires-Python: >=3.10
21
+ Description-Content-Type: text/markdown
22
+ License-File: LICENSE
23
+ Requires-Dist: click>=8.0.0
24
+ Requires-Dist: docker>=6.0.0
25
+ Requires-Dist: requests>=2.25.0
26
+ Requires-Dist: boto3>=1.26.0
27
+ Dynamic: license-file
28
+
29
+ # evalmc
30
+
31
+ Submission CLI for [MyoChallenge](https://mc26.myosuite.org). Train with
32
+ [MyoSuite 3](https://pypi.org/project/myosuite/) (`pip install -U myosuite`),
33
+ then upload an ONNX graph or a Docker agent image.
34
+
35
+ [![PyPI](https://img.shields.io/pypi/v/evalmc.svg)](https://pypi.org/project/evalmc/)
36
+ [![Python](https://img.shields.io/pypi/pyversions/evalmc.svg)](https://pypi.org/project/evalmc/)
37
+ [![License](https://img.shields.io/pypi/l/evalmc.svg)](https://pypi.org/project/evalmc/)
38
+
39
+ Python **3.10–3.14**, same range as MyoSuite 3. Default API:
40
+ `https://api.mc.myosuite.org`.
41
+
42
+ ```bash
43
+ pip install -U evalmc myosuite
44
+ ```
45
+
46
+ ---
47
+
48
+ ## Train locally (MyoSuite 3)
49
+
50
+ 2026 ChaseTag uses the steered full-body 1v1 env on the Gymnasium API:
51
+
52
+ ```python
53
+ from myosuite import make_env
54
+
55
+ env = make_env("myoChallengeChaseTagFBVs-v0")
56
+ obs, info = env.reset(seed=0)
57
+ ```
58
+
59
+ | | |
60
+ |---|---|
61
+ | **Env** | `myoChallengeChaseTagFBVs-v0` |
62
+ | **Task / phase** | `chasetag` / `1` |
63
+ | **Observation** | `(546,)` — you are `agent_0`; last 2 dims are role one-hot |
64
+ | **Action** | `(354,)` — muscle activations in `[0, 1]` |
65
+ | **Scoring** | Title cycle: mid-cycle vs a fixed champion, then single-elim finals |
66
+
67
+ CPU training (Stable-Baselines3) or GPU (`make_env(..., backend="mjlab")`) both
68
+ export to the same ONNX contract. See [MyoSuite 3](https://www.myosuite.org).
69
+
70
+ ---
71
+
72
+ ## Quick start
73
+
74
+ ```bash
75
+ evalmc host --set-host https://api.mc.myosuite.org
76
+ evalmc login # email + token from the dashboard
77
+ evalmc status
78
+ evalmc submit-onnx model.onnx -t chasetag -p 1
79
+ ```
80
+
81
+ Credentials are stored in `~/.myochallenge/`.
82
+
83
+ ---
84
+
85
+ ## Commands
86
+
87
+ | Command | Purpose |
88
+ |---|---|
89
+ | `evalmc host` | Show or set the API host |
90
+ | `evalmc login` | Save email + auth token |
91
+ | `evalmc set_token` | Set the token non-interactively |
92
+ | `evalmc status` | Confirm host and team |
93
+ | `evalmc submit-onnx` | Upload a standalone ONNX policy |
94
+ | `evalmc nominate` | Pick a scored artifact for title-cycle finals |
95
+ | `evalmc push` | Submit a Docker / ECR agent image |
96
+
97
+ ### ONNX (recommended)
98
+
99
+ Graph is `obs → action`. No `policy.py` required.
100
+
101
+ ```bash
102
+ evalmc submit-onnx model.onnx -t chasetag -p 1
103
+ ```
104
+
105
+ ChaseTag tensors: input `obs` `[batch, 546]`, output `action` `[batch, 354]`.
106
+
107
+ ### Title-cycle nomination
108
+
109
+ Before freeze, choose which scored in-window submission plays in finals.
110
+ Without a nomination the platform uses your best score.
111
+
112
+ ```bash
113
+ evalmc nominate -t chasetag -p 1 --submission-id 123
114
+ ```
115
+
116
+ ### Docker
117
+
118
+ For custom Python around the policy. Ship `policy.py` and/or `model.onnx`
119
+ under `/policy` (or `/app`):
120
+
121
+ ```python
122
+ class Policy:
123
+ def reset(self):
124
+ ...
125
+ def get_action(self, obs):
126
+ ... # 1-D float array, length 354 for ChaseTag
127
+ ```
128
+
129
+ ```bash
130
+ evalmc push my-agent:tag -t chasetag -p 1
131
+ ```
132
+
133
+ ---
134
+
135
+ ChaseTag 2026 is invitation-only. Registration and submission are rejected until
136
+ the team is on the whitelist. Leaderboards stay public.
@@ -4,22 +4,25 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "evalmc"
7
- version = "0.0.3"
8
- description = "Submit ONNX policies and Docker agents to MyoChallenge"
7
+ version = "0.0.4"
8
+ description = "MyoChallenge CLI — submit ONNX and Docker policies trained with MyoSuite 3"
9
9
  readme = "README.md"
10
10
  license = "Apache-2.0"
11
- requires-python = ">=3.9"
11
+ requires-python = ">=3.10"
12
12
  authors = [
13
13
  { name = "MyoChallenge Team", email = "caggiano@gmail.com" },
14
14
  ]
15
15
  classifiers = [
16
16
  "Development Status :: 4 - Beta",
17
- "Intended Audience :: Developers",
17
+ "Intended Audience :: Science/Research",
18
18
  "Operating System :: OS Independent",
19
19
  "Programming Language :: Python :: 3",
20
- "Programming Language :: Python :: 3.9",
21
20
  "Programming Language :: Python :: 3.10",
22
21
  "Programming Language :: Python :: 3.11",
22
+ "Programming Language :: Python :: 3.12",
23
+ "Programming Language :: Python :: 3.13",
24
+ "Programming Language :: Python :: 3.14",
25
+ "Topic :: Scientific/Engineering",
23
26
  ]
24
27
  dependencies = [
25
28
  "click>=8.0.0",
@@ -29,7 +32,9 @@ dependencies = [
29
32
  ]
30
33
 
31
34
  [project.urls]
32
- Homepage = "https://github.com/MyoHub/mcEvalProd-CLI"
35
+ Homepage = "https://mc26.myosuite.org"
36
+ MyoSuite = "https://www.myosuite.org"
37
+ API = "https://api.mc.myosuite.org"
33
38
 
34
39
  [project.scripts]
35
40
  evalmc = "evalmc.main:main"
evalmc-0.0.3/PKG-INFO DELETED
@@ -1,95 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: evalmc
3
- Version: 0.0.3
4
- Summary: Submit ONNX policies and Docker agents to MyoChallenge
5
- Author-email: MyoChallenge Team <caggiano@gmail.com>
6
- License-Expression: Apache-2.0
7
- Project-URL: Homepage, https://github.com/MyoHub/mcEvalProd-CLI
8
- Classifier: Development Status :: 4 - Beta
9
- Classifier: Intended Audience :: Developers
10
- Classifier: Operating System :: OS Independent
11
- Classifier: Programming Language :: Python :: 3
12
- Classifier: Programming Language :: Python :: 3.9
13
- Classifier: Programming Language :: Python :: 3.10
14
- Classifier: Programming Language :: Python :: 3.11
15
- Requires-Python: >=3.9
16
- Description-Content-Type: text/markdown
17
- License-File: LICENSE
18
- Requires-Dist: click>=8.0.0
19
- Requires-Dist: docker>=6.0.0
20
- Requires-Dist: requests>=2.25.0
21
- Requires-Dist: boto3>=1.26.0
22
- Dynamic: license-file
23
-
24
- # evalmc
25
-
26
- MyoChallenge submission CLI — upload ONNX policies or Docker agent images to
27
- [mc26.myosuite.org](https://mc26.myosuite.org).
28
-
29
- [![PyPI](https://img.shields.io/pypi/v/evalmc.svg)](https://pypi.org/project/evalmc/)
30
- [![Python](https://img.shields.io/pypi/pyversions/evalmc.svg)](https://pypi.org/project/evalmc/)
31
- [![License](https://img.shields.io/pypi/l/evalmc.svg)](https://pypi.org/project/evalmc/)
32
-
33
- ```bash
34
- pip install -U evalmc
35
- ```
36
-
37
- Default API: `https://api.mc.myosuite.org`
38
-
39
- ---
40
-
41
- ## Quick start
42
-
43
- ```bash
44
- evalmc host --set-host https://api.mc.myosuite.org
45
- evalmc login
46
- evalmc status
47
- evalmc submit-onnx model.onnx -t chasetag -p 1
48
- ```
49
-
50
- `evalmc login` stores the email and auth token from the dashboard.
51
- Credentials live in `~/.myochallenge/`.
52
-
53
- ---
54
-
55
- ## Commands
56
-
57
- | Command | Purpose |
58
- |---|---|
59
- | `evalmc host` | Show or set the API host |
60
- | `evalmc login` | Save email + auth token |
61
- | `evalmc status` | Confirm host and team |
62
- | `evalmc submit-onnx` | Upload an ONNX policy |
63
- | `evalmc nominate` | Pick a scored artifact for title-cycle finals |
64
- | `evalmc push` | Submit a Docker / ECR agent image |
65
-
66
- ### ONNX
67
-
68
- Recommended for ChaseTag. The graph is `obs → action`; no `policy.py` required.
69
-
70
- ```bash
71
- evalmc submit-onnx model.onnx -t chasetag -p 1
72
- ```
73
-
74
- ### Title-cycle nomination
75
-
76
- Before freeze, choose which scored in-window submission plays in finals.
77
- If you skip this, the platform uses your best score.
78
-
79
- ```bash
80
- evalmc nominate -t chasetag -p 1 --submission-id 123
81
- ```
82
-
83
- ### Docker
84
-
85
- For custom Python around the policy. The image must ship `policy.py` and/or
86
- `model.onnx` under `/policy` (or `/app`).
87
-
88
- ```bash
89
- evalmc push my-agent:tag -t chasetag -p 1
90
- ```
91
-
92
- ---
93
-
94
- Some tracks are invitation-only. Registration and submission are rejected until
95
- the team is on the whitelist. Leaderboards stay public.
evalmc-0.0.3/README.md DELETED
@@ -1,72 +0,0 @@
1
- # evalmc
2
-
3
- MyoChallenge submission CLI — upload ONNX policies or Docker agent images to
4
- [mc26.myosuite.org](https://mc26.myosuite.org).
5
-
6
- [![PyPI](https://img.shields.io/pypi/v/evalmc.svg)](https://pypi.org/project/evalmc/)
7
- [![Python](https://img.shields.io/pypi/pyversions/evalmc.svg)](https://pypi.org/project/evalmc/)
8
- [![License](https://img.shields.io/pypi/l/evalmc.svg)](https://pypi.org/project/evalmc/)
9
-
10
- ```bash
11
- pip install -U evalmc
12
- ```
13
-
14
- Default API: `https://api.mc.myosuite.org`
15
-
16
- ---
17
-
18
- ## Quick start
19
-
20
- ```bash
21
- evalmc host --set-host https://api.mc.myosuite.org
22
- evalmc login
23
- evalmc status
24
- evalmc submit-onnx model.onnx -t chasetag -p 1
25
- ```
26
-
27
- `evalmc login` stores the email and auth token from the dashboard.
28
- Credentials live in `~/.myochallenge/`.
29
-
30
- ---
31
-
32
- ## Commands
33
-
34
- | Command | Purpose |
35
- |---|---|
36
- | `evalmc host` | Show or set the API host |
37
- | `evalmc login` | Save email + auth token |
38
- | `evalmc status` | Confirm host and team |
39
- | `evalmc submit-onnx` | Upload an ONNX policy |
40
- | `evalmc nominate` | Pick a scored artifact for title-cycle finals |
41
- | `evalmc push` | Submit a Docker / ECR agent image |
42
-
43
- ### ONNX
44
-
45
- Recommended for ChaseTag. The graph is `obs → action`; no `policy.py` required.
46
-
47
- ```bash
48
- evalmc submit-onnx model.onnx -t chasetag -p 1
49
- ```
50
-
51
- ### Title-cycle nomination
52
-
53
- Before freeze, choose which scored in-window submission plays in finals.
54
- If you skip this, the platform uses your best score.
55
-
56
- ```bash
57
- evalmc nominate -t chasetag -p 1 --submission-id 123
58
- ```
59
-
60
- ### Docker
61
-
62
- For custom Python around the policy. The image must ship `policy.py` and/or
63
- `model.onnx` under `/policy` (or `/app`).
64
-
65
- ```bash
66
- evalmc push my-agent:tag -t chasetag -p 1
67
- ```
68
-
69
- ---
70
-
71
- Some tracks are invitation-only. Registration and submission are rejected until
72
- the team is on the whitelist. Leaderboards stay public.
@@ -1,95 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: evalmc
3
- Version: 0.0.3
4
- Summary: Submit ONNX policies and Docker agents to MyoChallenge
5
- Author-email: MyoChallenge Team <caggiano@gmail.com>
6
- License-Expression: Apache-2.0
7
- Project-URL: Homepage, https://github.com/MyoHub/mcEvalProd-CLI
8
- Classifier: Development Status :: 4 - Beta
9
- Classifier: Intended Audience :: Developers
10
- Classifier: Operating System :: OS Independent
11
- Classifier: Programming Language :: Python :: 3
12
- Classifier: Programming Language :: Python :: 3.9
13
- Classifier: Programming Language :: Python :: 3.10
14
- Classifier: Programming Language :: Python :: 3.11
15
- Requires-Python: >=3.9
16
- Description-Content-Type: text/markdown
17
- License-File: LICENSE
18
- Requires-Dist: click>=8.0.0
19
- Requires-Dist: docker>=6.0.0
20
- Requires-Dist: requests>=2.25.0
21
- Requires-Dist: boto3>=1.26.0
22
- Dynamic: license-file
23
-
24
- # evalmc
25
-
26
- MyoChallenge submission CLI — upload ONNX policies or Docker agent images to
27
- [mc26.myosuite.org](https://mc26.myosuite.org).
28
-
29
- [![PyPI](https://img.shields.io/pypi/v/evalmc.svg)](https://pypi.org/project/evalmc/)
30
- [![Python](https://img.shields.io/pypi/pyversions/evalmc.svg)](https://pypi.org/project/evalmc/)
31
- [![License](https://img.shields.io/pypi/l/evalmc.svg)](https://pypi.org/project/evalmc/)
32
-
33
- ```bash
34
- pip install -U evalmc
35
- ```
36
-
37
- Default API: `https://api.mc.myosuite.org`
38
-
39
- ---
40
-
41
- ## Quick start
42
-
43
- ```bash
44
- evalmc host --set-host https://api.mc.myosuite.org
45
- evalmc login
46
- evalmc status
47
- evalmc submit-onnx model.onnx -t chasetag -p 1
48
- ```
49
-
50
- `evalmc login` stores the email and auth token from the dashboard.
51
- Credentials live in `~/.myochallenge/`.
52
-
53
- ---
54
-
55
- ## Commands
56
-
57
- | Command | Purpose |
58
- |---|---|
59
- | `evalmc host` | Show or set the API host |
60
- | `evalmc login` | Save email + auth token |
61
- | `evalmc status` | Confirm host and team |
62
- | `evalmc submit-onnx` | Upload an ONNX policy |
63
- | `evalmc nominate` | Pick a scored artifact for title-cycle finals |
64
- | `evalmc push` | Submit a Docker / ECR agent image |
65
-
66
- ### ONNX
67
-
68
- Recommended for ChaseTag. The graph is `obs → action`; no `policy.py` required.
69
-
70
- ```bash
71
- evalmc submit-onnx model.onnx -t chasetag -p 1
72
- ```
73
-
74
- ### Title-cycle nomination
75
-
76
- Before freeze, choose which scored in-window submission plays in finals.
77
- If you skip this, the platform uses your best score.
78
-
79
- ```bash
80
- evalmc nominate -t chasetag -p 1 --submission-id 123
81
- ```
82
-
83
- ### Docker
84
-
85
- For custom Python around the policy. The image must ship `policy.py` and/or
86
- `model.onnx` under `/policy` (or `/app`).
87
-
88
- ```bash
89
- evalmc push my-agent:tag -t chasetag -p 1
90
- ```
91
-
92
- ---
93
-
94
- Some tracks are invitation-only. Registration and submission are rejected until
95
- the team is on the whitelist. Leaderboards stay public.
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes