eagle-harness 0.1.0__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 (263) hide show
  1. eagle_harness-0.1.0/LICENSE +424 -0
  2. eagle_harness-0.1.0/LICENSES/Apache-2.0.txt +201 -0
  3. eagle_harness-0.1.0/LICENSES/BSD-3-Clause-causal-conv1d.txt +29 -0
  4. eagle_harness-0.1.0/LICENSES/MIT-flash-linear-attention.txt +21 -0
  5. eagle_harness-0.1.0/MANIFEST.in +8 -0
  6. eagle_harness-0.1.0/NOTICE +29 -0
  7. eagle_harness-0.1.0/PKG-INFO +298 -0
  8. eagle_harness-0.1.0/README.md +269 -0
  9. eagle_harness-0.1.0/THIRD_PARTY_NOTICES.md +87 -0
  10. eagle_harness-0.1.0/TRADEMARKS.md +1163 -0
  11. eagle_harness-0.1.0/eagle_harness/__init__.py +13 -0
  12. eagle_harness-0.1.0/eagle_harness/cli.py +345 -0
  13. eagle_harness-0.1.0/eagle_harness/compat.py +193 -0
  14. eagle_harness-0.1.0/eagle_harness/core/__init__.py +4 -0
  15. eagle_harness-0.1.0/eagle_harness/core/aiter_gemm_bf16.csv +1 -0
  16. eagle_harness-0.1.0/eagle_harness/core/attention_sweeps.py +140 -0
  17. eagle_harness-0.1.0/eagle_harness/core/calibration.py +621 -0
  18. eagle_harness-0.1.0/eagle_harness/core/candidate_calibration.py +28 -0
  19. eagle_harness-0.1.0/eagle_harness/core/chain_width.py +345 -0
  20. eagle_harness-0.1.0/eagle_harness/core/config.py +304 -0
  21. eagle_harness-0.1.0/eagle_harness/core/cost_model.py +888 -0
  22. eagle_harness-0.1.0/eagle_harness/core/cost_profiles.py +45 -0
  23. eagle_harness-0.1.0/eagle_harness/core/cost_table.py +226 -0
  24. eagle_harness-0.1.0/eagle_harness/core/draft_tree.py +364 -0
  25. eagle_harness-0.1.0/eagle_harness/core/gemm_solutions.py +89 -0
  26. eagle_harness-0.1.0/eagle_harness/core/limits.py +149 -0
  27. eagle_harness-0.1.0/eagle_harness/core/live_costs.py +267 -0
  28. eagle_harness-0.1.0/eagle_harness/core/models.py +10 -0
  29. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/README.md +25 -0
  30. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/candidate_topk.json +269 -0
  31. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/cache_llm/cache_interval_0.json +144 -0
  32. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/cache_llm/cache_interval_1.json +144 -0
  33. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/cache_llm/cache_interval_2.json +144 -0
  34. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/cache_llm/cache_interval_3.json +144 -0
  35. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/cache_llm/cache_interval_4.json +144 -0
  36. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/cache_llm/cache_interval_5.json +144 -0
  37. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/cache_llm/cache_interval_6.json +144 -0
  38. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/cache_slm/cache_interval_0.json +48 -0
  39. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/cache_slm/cache_interval_1.json +48 -0
  40. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/cache_slm/cache_interval_2.json +48 -0
  41. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/cache_slm/cache_interval_3.json +48 -0
  42. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/cache_slm/cache_interval_4.json +48 -0
  43. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/cache_slm/cache_interval_5.json +48 -0
  44. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/cache_slm/cache_interval_6.json +48 -0
  45. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/model_llm/model_interval_0.json +74 -0
  46. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/model_llm/model_interval_1.json +74 -0
  47. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/model_llm/model_interval_2.json +74 -0
  48. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/model_llm/model_interval_3.json +74 -0
  49. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/model_llm/model_interval_4.json +74 -0
  50. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/model_llm/model_interval_5.json +74 -0
  51. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/model_llm/model_interval_6.json +74 -0
  52. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/model_slm/model_interval_0.json +50 -0
  53. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/model_slm/model_interval_1.json +50 -0
  54. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/model_slm/model_interval_2.json +50 -0
  55. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/model_slm/model_interval_3.json +50 -0
  56. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/model_slm/model_interval_4.json +50 -0
  57. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/model_slm/model_interval_5.json +50 -0
  58. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/model_slm/model_interval_6.json +50 -0
  59. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/query_llm/query_1.json +21 -0
  60. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/query_llm/query_16.json +21 -0
  61. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/query_llm/query_32.json +21 -0
  62. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/query_llm/query_8.json +21 -0
  63. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/query_slm/query_1.json +21 -0
  64. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/query_slm/query_2.json +21 -0
  65. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/query_slm/query_4.json +21 -0
  66. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_1/query_slm/query_8.json +21 -0
  67. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_32/model_llm/model_interval_0.json +26 -0
  68. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_32/model_slm/model_interval_0.json +17 -0
  69. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_8/model_llm/model_interval_0.json +26 -0
  70. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/cost/bs_8/model_slm/model_interval_0.json +17 -0
  71. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/draft_config.json +57 -0
  72. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/gemm_solutions.csv +62 -0
  73. eagle_harness-0.1.0/eagle_harness/core/profiles/mi355x-qwen3.8-27b-tp1/target_config.json +140 -0
  74. eagle_harness-0.1.0/eagle_harness/core/profiles/vllm-qwen38-tp4/README.md +16 -0
  75. eagle_harness-0.1.0/eagle_harness/core/profiles/vllm-qwen38-tp4/rounds/tree.json +165 -0
  76. eagle_harness-0.1.0/eagle_harness/kernels/__init__.py +22 -0
  77. eagle_harness-0.1.0/eagle_harness/kernels/accept_tail.py +206 -0
  78. eagle_harness-0.1.0/eagle_harness/kernels/arch.py +184 -0
  79. eagle_harness-0.1.0/eagle_harness/kernels/build.py +135 -0
  80. eagle_harness-0.1.0/eagle_harness/kernels/candidate.py +122 -0
  81. eagle_harness-0.1.0/eagle_harness/kernels/candidate_ops.py +246 -0
  82. eagle_harness-0.1.0/eagle_harness/kernels/candidate_triton.py +346 -0
  83. eagle_harness-0.1.0/eagle_harness/kernels/csrc/candidate.cu +681 -0
  84. eagle_harness-0.1.0/eagle_harness/kernels/gather_dot.py +170 -0
  85. eagle_harness-0.1.0/eagle_harness/kernels/gdn_tree.py +242 -0
  86. eagle_harness-0.1.0/eagle_harness/kernels/gdn_tree_chunk_flydsl.py +465 -0
  87. eagle_harness-0.1.0/eagle_harness/kernels/gdn_tree_conv.py +497 -0
  88. eagle_harness-0.1.0/eagle_harness/kernels/gdn_tree_gluon.py +737 -0
  89. eagle_harness-0.1.0/eagle_harness/kernels/gdn_tree_records.py +576 -0
  90. eagle_harness-0.1.0/eagle_harness/kernels/gdn_tree_recurrence.py +810 -0
  91. eagle_harness-0.1.0/eagle_harness/kernels/l2_prefetch.py +63 -0
  92. eagle_harness-0.1.0/eagle_harness/kernels/mamba2_tree.py +240 -0
  93. eagle_harness-0.1.0/eagle_harness/kernels/native.py +88 -0
  94. eagle_harness-0.1.0/eagle_harness/kernels/online_softmax.py +24 -0
  95. eagle_harness-0.1.0/eagle_harness/kernels/row_attention.py +287 -0
  96. eagle_harness-0.1.0/eagle_harness/kernels/tree_step.py +485 -0
  97. eagle_harness-0.1.0/eagle_harness/kernels/verify_prep.py +45 -0
  98. eagle_harness-0.1.0/eagle_harness/models/__init__.py +7 -0
  99. eagle_harness-0.1.0/eagle_harness/models/eagle4_config.py +284 -0
  100. eagle_harness-0.1.0/eagle_harness/models/eagle4_structure.py +58 -0
  101. eagle_harness-0.1.0/eagle_harness/models/low_rank_head.py +98 -0
  102. eagle_harness-0.1.0/eagle_harness/sglang/__init__.py +7 -0
  103. eagle_harness-0.1.0/eagle_harness/sglang/algorithm.py +246 -0
  104. eagle_harness-0.1.0/eagle_harness/sglang/calibrate.py +134 -0
  105. eagle_harness-0.1.0/eagle_harness/sglang/candidate_logits.py +98 -0
  106. eagle_harness-0.1.0/eagle_harness/sglang/chain_rounds.py +195 -0
  107. eagle_harness-0.1.0/eagle_harness/sglang/draft_extend.py +136 -0
  108. eagle_harness-0.1.0/eagle_harness/sglang/draft_head.py +19 -0
  109. eagle_harness-0.1.0/eagle_harness/sglang/draft_steps.py +177 -0
  110. eagle_harness-0.1.0/eagle_harness/sglang/drafter.py +598 -0
  111. eagle_harness-0.1.0/eagle_harness/sglang/gdn_tree_verify.py +242 -0
  112. eagle_harness-0.1.0/eagle_harness/sglang/graph_pool.py +19 -0
  113. eagle_harness-0.1.0/eagle_harness/sglang/hooks.py +216 -0
  114. eagle_harness-0.1.0/eagle_harness/sglang/l2_warm.py +158 -0
  115. eagle_harness-0.1.0/eagle_harness/sglang/mamba2_tree_verify.py +98 -0
  116. eagle_harness-0.1.0/eagle_harness/sglang/models/__init__.py +4 -0
  117. eagle_harness-0.1.0/eagle_harness/sglang/models/llama_eagle3.py +12 -0
  118. eagle_harness-0.1.0/eagle_harness/sglang/models/llama_eagle4.py +525 -0
  119. eagle_harness-0.1.0/eagle_harness/sglang/plain_decode.py +121 -0
  120. eagle_harness-0.1.0/eagle_harness/sglang/plugin.py +57 -0
  121. eagle_harness-0.1.0/eagle_harness/sglang/row_attention.py +218 -0
  122. eagle_harness-0.1.0/eagle_harness/sglang/tail_mask.py +114 -0
  123. eagle_harness-0.1.0/eagle_harness/sglang/verify_graphs.py +108 -0
  124. eagle_harness-0.1.0/eagle_harness/sglang/verify_input.py +109 -0
  125. eagle_harness-0.1.0/eagle_harness/sglang/verify_plan.py +55 -0
  126. eagle_harness-0.1.0/eagle_harness/sglang/verify_step.py +210 -0
  127. eagle_harness-0.1.0/eagle_harness/sglang/verify_tail.py +105 -0
  128. eagle_harness-0.1.0/eagle_harness/sglang/worker.py +442 -0
  129. eagle_harness-0.1.0/eagle_harness/tokenspeed/__init__.py +17 -0
  130. eagle_harness-0.1.0/eagle_harness/tokenspeed/config.py +72 -0
  131. eagle_harness-0.1.0/eagle_harness/tokenspeed/costs.py +17 -0
  132. eagle_harness-0.1.0/eagle_harness/tokenspeed/drafter.py +183 -0
  133. eagle_harness-0.1.0/eagle_harness/tokenspeed/hooks.py +104 -0
  134. eagle_harness-0.1.0/eagle_harness/tokenspeed/models.py +148 -0
  135. eagle_harness-0.1.0/eagle_harness/tokenspeed/plugin.py +42 -0
  136. eagle_harness-0.1.0/eagle_harness/tokenspeed/tree_lanes.py +69 -0
  137. eagle_harness-0.1.0/eagle_harness/vllm/__init__.py +24 -0
  138. eagle_harness-0.1.0/eagle_harness/vllm/adapter.py +90 -0
  139. eagle_harness-0.1.0/eagle_harness/vllm/calibrate.py +471 -0
  140. eagle_harness-0.1.0/eagle_harness/vllm/candidate_gather.py +66 -0
  141. eagle_harness-0.1.0/eagle_harness/vllm/config.py +267 -0
  142. eagle_harness-0.1.0/eagle_harness/vllm/depth_stop.py +240 -0
  143. eagle_harness-0.1.0/eagle_harness/vllm/draft_attention.py +277 -0
  144. eagle_harness-0.1.0/eagle_harness/vllm/draft_rows.py +146 -0
  145. eagle_harness-0.1.0/eagle_harness/vllm/eagle3.py +19 -0
  146. eagle_harness-0.1.0/eagle_harness/vllm/gdn_tree_verify.py +319 -0
  147. eagle_harness-0.1.0/eagle_harness/vllm/model_rows.py +127 -0
  148. eagle_harness-0.1.0/eagle_harness/vllm/models.py +283 -0
  149. eagle_harness-0.1.0/eagle_harness/vllm/plugin.py +78 -0
  150. eagle_harness-0.1.0/eagle_harness/vllm/round_commit.py +215 -0
  151. eagle_harness-0.1.0/eagle_harness/vllm/round_recorder.py +101 -0
  152. eagle_harness-0.1.0/eagle_harness/vllm/speculator.py +339 -0
  153. eagle_harness-0.1.0/eagle_harness/vllm/tree_accept.py +229 -0
  154. eagle_harness-0.1.0/eagle_harness/vllm/tree_attention.py +98 -0
  155. eagle_harness-0.1.0/eagle_harness/vllm/tree_drafter.py +274 -0
  156. eagle_harness-0.1.0/eagle_harness/vllm/verify_attention.py +207 -0
  157. eagle_harness-0.1.0/eagle_harness/vllm/verify_layout.py +203 -0
  158. eagle_harness-0.1.0/eagle_harness.egg-info/PKG-INFO +298 -0
  159. eagle_harness-0.1.0/eagle_harness.egg-info/SOURCES.txt +261 -0
  160. eagle_harness-0.1.0/eagle_harness.egg-info/dependency_links.txt +1 -0
  161. eagle_harness-0.1.0/eagle_harness.egg-info/entry_points.txt +12 -0
  162. eagle_harness-0.1.0/eagle_harness.egg-info/requires.txt +17 -0
  163. eagle_harness-0.1.0/eagle_harness.egg-info/top_level.txt +1 -0
  164. eagle_harness-0.1.0/pyproject.toml +58 -0
  165. eagle_harness-0.1.0/setup.cfg +4 -0
  166. eagle_harness-0.1.0/setup.py +28 -0
  167. eagle_harness-0.1.0/tests/__init__.py +2 -0
  168. eagle_harness-0.1.0/tests/golden/fork_golden.json +1 -0
  169. eagle_harness-0.1.0/tests/golden/nemotron35_super_eagle4_draft_config.json +76 -0
  170. eagle_harness-0.1.0/tests/synthetic.py +100 -0
  171. eagle_harness-0.1.0/tests/test_accept_tail_gpu.py +139 -0
  172. eagle_harness-0.1.0/tests/test_accept_tail_graphs.py +27 -0
  173. eagle_harness-0.1.0/tests/test_attention_sweeps.py +65 -0
  174. eagle_harness-0.1.0/tests/test_calibration_step_timings.py +121 -0
  175. eagle_harness-0.1.0/tests/test_candidate_calibration.py +61 -0
  176. eagle_harness-0.1.0/tests/test_candidate_gather.py +117 -0
  177. eagle_harness-0.1.0/tests/test_candidate_head.py +109 -0
  178. eagle_harness-0.1.0/tests/test_candidate_ops_gpu.py +138 -0
  179. eagle_harness-0.1.0/tests/test_chain_no_spec.py +86 -0
  180. eagle_harness-0.1.0/tests/test_chain_policy_costs.py +421 -0
  181. eagle_harness-0.1.0/tests/test_chain_rounds.py +87 -0
  182. eagle_harness-0.1.0/tests/test_chain_width.py +165 -0
  183. eagle_harness-0.1.0/tests/test_check_headers.py +227 -0
  184. eagle_harness-0.1.0/tests/test_cli.py +277 -0
  185. eagle_harness-0.1.0/tests/test_compat.py +98 -0
  186. eagle_harness-0.1.0/tests/test_config.py +110 -0
  187. eagle_harness-0.1.0/tests/test_config_cleanup.py +38 -0
  188. eagle_harness-0.1.0/tests/test_cost_golden.py +178 -0
  189. eagle_harness-0.1.0/tests/test_cost_policy_tables.py +439 -0
  190. eagle_harness-0.1.0/tests/test_cost_profiles.py +80 -0
  191. eagle_harness-0.1.0/tests/test_dense_target_commit.py +21 -0
  192. eagle_harness-0.1.0/tests/test_depth_stop.py +467 -0
  193. eagle_harness-0.1.0/tests/test_draft_extend.py +123 -0
  194. eagle_harness-0.1.0/tests/test_draft_input_gpu.py +23 -0
  195. eagle_harness-0.1.0/tests/test_draft_layer_input.py +87 -0
  196. eagle_harness-0.1.0/tests/test_draft_rows.py +54 -0
  197. eagle_harness-0.1.0/tests/test_draft_tree.py +312 -0
  198. eagle_harness-0.1.0/tests/test_draft_vocab.py +35 -0
  199. eagle_harness-0.1.0/tests/test_drafter.py +321 -0
  200. eagle_harness-0.1.0/tests/test_eagle3_attention.py +57 -0
  201. eagle_harness-0.1.0/tests/test_eagle3_config.py +25 -0
  202. eagle_harness-0.1.0/tests/test_eagle3_sglang.py +55 -0
  203. eagle_harness-0.1.0/tests/test_eagle3_vllm.py +24 -0
  204. eagle_harness-0.1.0/tests/test_eagle4_model.py +418 -0
  205. eagle_harness-0.1.0/tests/test_eagle4_port.py +64 -0
  206. eagle_harness-0.1.0/tests/test_eagle4_structure.py +122 -0
  207. eagle_harness-0.1.0/tests/test_engine_release.py +281 -0
  208. eagle_harness-0.1.0/tests/test_fused_accept_step.py +69 -0
  209. eagle_harness-0.1.0/tests/test_gdn_rounded_records_gpu.py +234 -0
  210. eagle_harness-0.1.0/tests/test_gdn_tree_conv.py +121 -0
  211. eagle_harness-0.1.0/tests/test_gdn_tree_gluon_gpu.py +217 -0
  212. eagle_harness-0.1.0/tests/test_gdn_tree_kernels.py +699 -0
  213. eagle_harness-0.1.0/tests/test_gdn_tree_records_gpu.py +90 -0
  214. eagle_harness-0.1.0/tests/test_gemm_solutions.py +172 -0
  215. eagle_harness-0.1.0/tests/test_gpu_kernels.py +157 -0
  216. eagle_harness-0.1.0/tests/test_image_tag.py +56 -0
  217. eagle_harness-0.1.0/tests/test_kernels.py +151 -0
  218. eagle_harness-0.1.0/tests/test_l2_warm_gpu.py +116 -0
  219. eagle_harness-0.1.0/tests/test_limits.py +32 -0
  220. eagle_harness-0.1.0/tests/test_live_costs.py +173 -0
  221. eagle_harness-0.1.0/tests/test_mamba2_tree_kernels.py +426 -0
  222. eagle_harness-0.1.0/tests/test_mamba2_tree_verify_gpu.py +180 -0
  223. eagle_harness-0.1.0/tests/test_models.py +87 -0
  224. eagle_harness-0.1.0/tests/test_plain_decode.py +288 -0
  225. eagle_harness-0.1.0/tests/test_prelaunch_gpu.py +169 -0
  226. eagle_harness-0.1.0/tests/test_rocm_dispatch.py +77 -0
  227. eagle_harness-0.1.0/tests/test_rocm_prelaunch.py +52 -0
  228. eagle_harness-0.1.0/tests/test_row_attention_gpu.py +211 -0
  229. eagle_harness-0.1.0/tests/test_serving_choice.py +36 -0
  230. eagle_harness-0.1.0/tests/test_sglang_hooks.py +106 -0
  231. eagle_harness-0.1.0/tests/test_sglang_logprobs.py +223 -0
  232. eagle_harness-0.1.0/tests/test_sglang_overlap.py +95 -0
  233. eagle_harness-0.1.0/tests/test_sglang_plugin.py +477 -0
  234. eagle_harness-0.1.0/tests/test_target_models.py +36 -0
  235. eagle_harness-0.1.0/tests/test_third_party_headers.py +143 -0
  236. eagle_harness-0.1.0/tests/test_tokenspeed_adapter.py +235 -0
  237. eagle_harness-0.1.0/tests/test_tokenspeed_nemotron.py +111 -0
  238. eagle_harness-0.1.0/tests/test_tokenspeed_ownership.py +17 -0
  239. eagle_harness-0.1.0/tests/test_tokenspeed_plugin.py +118 -0
  240. eagle_harness-0.1.0/tests/test_tokenspeed_policy_cost.py +199 -0
  241. eagle_harness-0.1.0/tests/test_tokenspeed_policy_golden.py +205 -0
  242. eagle_harness-0.1.0/tests/test_tree_graph_memory_gpu.py +76 -0
  243. eagle_harness-0.1.0/tests/test_tree_load_policy.py +119 -0
  244. eagle_harness-0.1.0/tests/test_tree_rejection_sampler.py +142 -0
  245. eagle_harness-0.1.0/tests/test_tree_round_kernels.py +154 -0
  246. eagle_harness-0.1.0/tests/test_tree_sampling.py +264 -0
  247. eagle_harness-0.1.0/tests/test_tree_step_attention.py +146 -0
  248. eagle_harness-0.1.0/tests/test_tree_step_gpu.py +107 -0
  249. eagle_harness-0.1.0/tests/test_verify_attention.py +92 -0
  250. eagle_harness-0.1.0/tests/test_verify_attn_args_gpu.py +49 -0
  251. eagle_harness-0.1.0/tests/test_verify_input.py +92 -0
  252. eagle_harness-0.1.0/tests/test_verify_plan.py +53 -0
  253. eagle_harness-0.1.0/tests/test_verify_prep_gpu.py +37 -0
  254. eagle_harness-0.1.0/tests/test_verify_rows.py +101 -0
  255. eagle_harness-0.1.0/tests/test_verify_tail_gpu.py +67 -0
  256. eagle_harness-0.1.0/tests/test_vllm_calibrate.py +155 -0
  257. eagle_harness-0.1.0/tests/test_vllm_model_rows.py +97 -0
  258. eagle_harness-0.1.0/tests/test_vllm_plugin.py +593 -0
  259. eagle_harness-0.1.0/tests/test_vllm_priced_serve.py +30 -0
  260. eagle_harness-0.1.0/tests/test_vllm_round_recorder.py +68 -0
  261. eagle_harness-0.1.0/tests/test_wheel_index.py +101 -0
  262. eagle_harness-0.1.0/tests/test_worker_rounds.py +419 -0
  263. eagle_harness-0.1.0/tests/triton_probe.py +35 -0
@@ -0,0 +1,424 @@
1
+ Eagle 4 Source-Available License
2
+
3
+ SOURCE-AVAILABLE LICENSE. NOT AN OSI-APPROVED OPEN-SOURCE
4
+ LICENSE.
5
+
6
+ Copyright © 2026 Eagle AI Corp. All rights reserved except as expressly granted in this License.
7
+
8
+ This Eagle 4 Source-Available License, the “License,” governs use of the Software and
9
+ incorporates the Eagle Trademark Policy. By downloading, cloning, forking, copying,
10
+ accessing, modifying, using, hosting, distributing, or otherwise exercising any right in the
11
+ Software, Licensee accepts and agrees to this License and the incorporated Eagle
12
+ Trademark Policy. If Licensee does not agree, Licensee may possess or inspect the public
13
+ repository only to the extent permitted by law and may not exercise any licensed right.
14
+
15
+ Acceptance and Repository Access.
16
+
17
+ By downloading, cloning, forking, copying, accessing, modifying, using, hosting, distributing, or
18
+ otherwise exercising any right in the Software, a user accepts and agrees to this License and the
19
+ incorporated Eagle Trademark Policy. If the user acts for an entity, the user represents that the
20
+ user has authority to bind that entity. A user who does not agree may possess or inspect the
21
+ public repository only to the extent permitted by law but may not exercise any licensed right.
22
+
23
+ The LICENSE file, repository README, repository notice, source-file notices, and NOTICE
24
+ file provide conspicuous notice that this License and the incorporated Eagle Trademark Policy
25
+ apply to the Software. No click-through, gated download, checkbox, or repository assent record
26
+ is required for acceptance by conduct under this section.
27
+
28
+ A copy obtained from a permitted downstream distribution is subject to this License as provided
29
+ in Section 4. Any downstream recipient accepts and agrees to this License and the incorporated
30
+ Eagle Trademark Policy by downloading, cloning, forking, copying, accessing, modifying, using,
31
+ hosting, distributing, or otherwise exercising any licensed right. A recipient who does not agree
32
+ may possess or inspect the copy only to the extent permitted by law and may not exercise any
33
+ licensed right.
34
+
35
+ 1. Definitions.
36
+
37
+ a. “Affiliate” means an entity that directly or indirectly Controls, is Controlled by, or is
38
+ under common Control with a party. “Control” means ownership of more than 50 percent
39
+ of the voting interests of an entity or the power to direct its management and policies.
40
+
41
+ b. “Aggregate Revenue” means the total gross revenue of Licensee and all Affiliates from
42
+ all sources, determined on a consolidated basis over the applicable consecutive 12-month
43
+ period under consistently applied generally accepted accounting principles or International
44
+ Financial Reporting Standards, with intercompany revenue eliminated and without
45
+ duplication.
46
+
47
+ c. “Commercial Use” means using the Software, a Modification, or their functionality for
48
+ direct or indirect commercial advantage or revenue generation, including in or for any
49
+ paid product or service, customer-facing production use, software as a service,
50
+ application programming interface, hosting, consulting, integration, original-equipment-
51
+ manufacturer or embedded use, advertising-supported service, commercialization of a
52
+ fork or derivative work, or use that materially supports a revenue-generating product or
53
+ service.
54
+
55
+ Commercial Use does not include genuine internal evaluation, academic research,
56
+ nonprofit research, education, personal noncommercial use, or internal noncommercial
57
+ experimentation, in each case only where the use is not customer-facing, does not
58
+ generate revenue or commercial advantage, and does not materially support a revenue-
59
+ generating product or service.
60
+
61
+ d. “Competing Offering” means a product or service whose principal functionality
62
+ substantially substitutes for the principal functionality of Eagle 4, or that incorporates
63
+ material Eagle 4 technology into a model, inference, training, acceleration, or serving
64
+ framework that competes with Eagle 4. A separate commercial license is required for
65
+ every Competing Offering.
66
+
67
+ A Competing Offering does not include a product or service merely because it
68
+ interoperates with Eagle 4, calls or is called by Eagle 4 through documented interfaces,
69
+ complements Eagle 4, uses outputs generated by Eagle 4, or includes only incidental or
70
+ immaterial use of Eagle 4 that does not provide a material portion of the product’s or
71
+ service’s principal functionality.
72
+
73
+ e. “Eagle 4” means the Software and the technology embodied in it, including EAGLE-
74
+ Harness and EAGLE Efficient LM Head technology, but excluding independently
75
+ developed technology that merely interoperates with the Software.
76
+
77
+ f. “Eagle Files” means files or other materials that contain, reproduce, modify, implement,
78
+ port, or are derived from any portion of the Software. A file is governed by Apache
79
+ License, Version 2.0, “Apache-2.0,” only if its copyright owner expressly designates that
80
+ file as Apache-2.0.
81
+
82
+ g. “Licensor” means Eagle AI Corp.
83
+
84
+ h. “Licensee” means the individual or entity exercising rights under this License.
85
+
86
+ i. “Modification” means any change to the Software or derivative work based on the
87
+ Software. “Distribute” means to provide a copy of the Software or a Modification to a
88
+ third party, excluding remote access to functionality without transfer of a copy.
89
+
90
+ j. “Software” means the Eagle 4 materials made available with this License, including
91
+ applicable model architecture, model weights and parameters, source code, object code,
92
+ configuration files, inference and training code, documentation, and any portion or
93
+ Modification of them.
94
+
95
+ 2. License Grant.
96
+
97
+ a. Subject to this License, Licensor grants Licensee a worldwide, royalty-free,
98
+ nonexclusive, nontransferable except under Section 11, and nonsublicensable license,
99
+ except as expressly permitted below, under Licensor’s copyright and similar rights to
100
+ access, use, reproduce, run, evaluate, study, analyze, benchmark, teach with, modify,
101
+ create derivative works of, and Distribute the Software for research, evaluation,
102
+ education, personal use, internal noncommercial experimentation, academic research,
103
+ nonprofit research, and other noncommercial purposes and, subject to Sections 3 and 4,
104
+ Commercial Use.
105
+
106
+ b. Subject to Sections 3 and 4, Licensee may use, reproduce, modify, and Distribute the
107
+ Software and Modifications for the noncommercial purposes expressly permitted above
108
+ and for Commercial Use only to the extent permitted by Section 3, and may permit
109
+ contractors and service providers to do so solely on Licensee’s behalf if their activities
110
+ comply with this License, are not a Competing Offering, and Licensee remains
111
+ responsible for their compliance. Any Commercial Use not permitted by Section 3
112
+ requires a separate written commercial license with Eagle AI Corp before it begins.
113
+ Nothing in this License requires Eagle AI Corp to offer a commercial license or agree to
114
+ any particular fees or terms.
115
+
116
+ c. No right is granted by implication, estoppel, or otherwise. Rights not expressly granted
117
+ are reserved. A separate written commercial license may grant additional rights.
118
+ Commercial-license inquiries may be sent to licensing@eagle.ai.
119
+
120
+ 3. Commercial and Competitive Restrictions.
121
+
122
+ a. Licensee may not develop, offer, sell, license, host, provide, or otherwise commercialize
123
+ a Competing Offering under this License. Any such activity requires a separate written
124
+ commercial license from Licensor before the activity begins, regardless of Aggregate
125
+ Revenue.
126
+
127
+ b. Licensee may not evade the Competing Offering restriction by copying, forking,
128
+ renaming, rebranding, translating, wrapping, rewriting, porting, or making superficial
129
+ changes to Eagle 4, or by placing material Eagle 4 technology in another framework.
130
+ The substance and principal functionality of the offering control, not its name,
131
+ packaging, interface, or stated purpose.
132
+
133
+ c. Commercial Use that is not a Competing Offering is permitted under this License only
134
+ while Aggregate Revenue from all sources of the Licensee and all Affiliates has not
135
+ exceeded 20 million US dollars (or the equivalent in other currencies) in total over any
136
+ consecutive 12 months, and only to the extent otherwise permitted by this License. If
137
+ Aggregate Revenue exceeds that threshold, Licensee must enter into a separate agreement
138
+ with Eagle AI Corp before Licensee or any Affiliate uses the Software or any derivative
139
+ work of the Software, including a Modification, for any Commercial Use. This
140
+ requirement applies prospectively beginning on the date the threshold is first exceeded
141
+ and, once triggered, continues thereafter notwithstanding any later decrease in Aggregate
142
+ Revenue. It does not retroactively prohibit Commercial Use occurring before that date.
143
+
144
+ d. Upon exceeding the Aggregate Revenue threshold in this Section, Licensee must cease
145
+ any Commercial Use unless the required separate agreement is already in effect, and must
146
+ contact Eagle AI Corp at licensing@eagle.ai before beginning or continuing that use. No
147
+ negotiation period, grace period, or temporary commercial-use permission applies after
148
+ the threshold is exceeded.
149
+ e. Licensor has no obligation to offer a commercial license or agree to any particular fees or
150
+ terms. Unless and until a separate written commercial license is executed when required
151
+ under this Section, Licensee may exercise only the rights otherwise permitted by this
152
+ License and may not begin or continue the Commercial Use or Competing Offering for
153
+ which the separate license is required.
154
+
155
+ f. Licensee must not divide activities or revenue among Affiliates, customers, contractors,
156
+ resellers, or other persons, or otherwise structure activities or transactions for the purpose
157
+ of avoiding this Section. Licensee and all Affiliates are treated as one licensee for
158
+ purposes of Aggregate Revenue and the Commercial Use, Competing Offering, and
159
+ compliance restrictions.
160
+
161
+ 4. Distribution, Source, and Attribution Conditions.
162
+
163
+ a. Every permitted distribution of the Software or a Modification must include this License
164
+ in a file named LICENSE, the NOTICE file, and all applicable source-file notices, and
165
+ must preserve all copyright, patent, license, NOTICE, attribution, and other proprietary
166
+ notices supplied with the Software. Each such distribution must include a conspicuous
167
+ statement that the Software is subject to this source-available License, which is not an
168
+ OSI-approved open-source license, and reasonable directions for locating the Eagle
169
+ Trademark Policy. Each distribution must also state conspicuously that downloading,
170
+ cloning, forking, copying, accessing, modifying, using, hosting, distributing, or
171
+ otherwise exercising any licensed right constitutes acceptance of this License and the
172
+ incorporated Eagle Trademark Policy. Licensee must reproduce required notices in the
173
+ corresponding files or in a customary third-party notices location.
174
+
175
+ b. Licensee must identify each materially modified file and include a prominent
176
+ modification notice stating that the file was modified, the date of the material
177
+ modification, and the modifying person or entity. A consolidated change log is permitted
178
+ if it clearly maps each material modification to the affected files.
179
+
180
+ c. If Licensee Distributes a Modification in source or executable form, Licensee must make
181
+ the complete corresponding source form of that Modification available to each recipient,
182
+ at no additional license fee, under this License. The source must include the modified
183
+ source code, configuration, scripts, adapters, patches, or weight deltas reasonably
184
+ necessary to use and reproduce the distributed Modification, but need not include
185
+ separable proprietary components that are not derived from or modifications of the
186
+ Software.
187
+
188
+ d. Every permitted use beyond private possession or inspection must provide clear
189
+ attribution to Eagle AI Corp and Eagle 4 in documentation, repository materials, or a
190
+ customary third-party notices location. Attribution requires preservation of all copyright
191
+ notices, the LICENSE file, the NOTICE file, applicable source-file notices, and required
192
+ modification notices. Every public repository, publication, demonstration, distributed
193
+ software release, or public description of a derivative work must include a reasonably
194
+ prominent statement substantially similar to: “This project includes or is derived from
195
+ Eagle 4 technology developed by Eagle AI Corp. It is not an official Eagle AI Corp
196
+ project unless expressly stated otherwise.” No user-interface badge, splash screen,
197
+ persistent display, or other badgeware is required for purely noncommercial use, but a
198
+ separate commercial agreement may establish negotiated attribution terms.
199
+
200
+ e. Licensee may not remove, conceal, obscure, materially alter, or materially reduce
201
+ required attribution; falsely claim original authorship of Eagle 4 or Licensor’s work;
202
+ misleadingly rename or rebrand the Software or a Modification; or state or imply that a
203
+ fork, Modification, project, product, service, or distribution is official or is an official
204
+ Eagle 4 release unless Licensor has authorized that statement in writing.
205
+
206
+ f. Forks and derivative works may be made and Distributed under the rights otherwise
207
+ granted by this License if they remain subject to this License and preserve the required
208
+ attribution. A Distributed fork or Modification must use a distinguishable primary
209
+ name, preserve the Eagle LICENSE and NOTICE files and applicable source-file and
210
+ modification notices, identify Eagle AI Corp and Eagle 4 as the origin, and avoid
211
+ suggesting official status, affiliation, certification, sponsorship, or endorsement. This
212
+ License does not prohibit a truthful new name that complies with Section 5; it
213
+ prohibits removal of attribution, false claims of original authorship, and confusing use
214
+ of Eagle marks.
215
+
216
+ g. Renaming, rebranding, translating, wrapping, porting, integrating, modifying, or
217
+ moving any Eagle File or Eagle 4 code into another file, directory, repository,
218
+ framework, package, or distribution does not remove or reduce this License’s
219
+ attribution, Commercial Use, source, trademark, notice, modification, or other
220
+ obligations. The substance and origin of the code control, not its name, location,
221
+ packaging, interface, or surrounding repository license.
222
+
223
+ h. Eagle AI Corp may separately designate a minimal administrative, registration, or
224
+ loader file as Apache-2.0 by an express file-level notice. Any such designation applies
225
+ only to the identified file and does not relicense any Eagle File. Recommended
226
+ compliance language appears in Exhibits A and E.
227
+
228
+ 5. Trademarks and Names.
229
+
230
+ a. Licensor reserves all rights in EAGLE, Eagle 4, EAGLE-Harness, EAGLE Efficient LM
231
+ Head, all associated logos, and all related names, marks, trade dress, and goodwill.
232
+ Except for the limited permission below, this License grants no trademark or branding
233
+ rights.
234
+
235
+ b. The Eagle Trademark Policy is incorporated by reference solely with respect to use of
236
+ Eagle names, marks, logos, and branding. Acceptance of this License includes agreement
237
+ to comply with that policy. The policy does not expand the copyright, patent, or other
238
+ Software restrictions in this License.
239
+
240
+ c. Licensee may make truthful, nonmisleading nominative references to Eagle 4 solely to
241
+ identify compatibility, origin, or the Software used, provided the reference is no more
242
+ prominent than reasonably necessary and complies with the Eagle Trademark Policy.
243
+
244
+ d. A Modification or fork that is Distributed or offered to third parties must use a
245
+ distinguishable primary name and must not use “Eagle,” “Eagle 4,” or a confusingly
246
+ similar term as its primary product, service, project, or company name without Licensor’s
247
+ prior written consent.
248
+
249
+ e. Licensee must not state or imply affiliation with, certification by, sponsorship by, or
250
+ endorsement from Licensor, or use any mark or logo in a manner likely to cause
251
+ confusion as to source, sponsorship, or official status. The form in Exhibit D may be used
252
+ to clarify non-affiliation.
253
+
254
+ 6. Limited Patent License and Retaliation.
255
+
256
+ a. Subject to this License, Licensor grants Licensee a worldwide, royalty-free,
257
+ nonexclusive, nontransferable except under Section 11 patent license, without the right to
258
+ sublicense except to contractors acting solely for Licensee, to make, have made, use,
259
+ offer to sell, sell, import, and otherwise transfer the Software solely to the extent
260
+ necessary for a use expressly permitted by this License and only under patent claims
261
+ Licensor can license that are necessarily infringed by the unmodified Software or by their
262
+ combination with Licensor-provided components.
263
+
264
+ b. If Licensee or an Affiliate initiates or maintains a patent claim alleging that the Software
265
+ or a compliant use of it infringes a patent, the patent license in this Section terminates
266
+ upon filing of that claim. This retaliation provision does not apply to a compulsory
267
+ counterclaim or defensive response that Licensee withdraws within 30 days after it may
268
+ lawfully do so.
269
+
270
+ 7. Ownership.
271
+
272
+ a. As between the parties, Licensor and its licensors own all right, title, and interest in and
273
+ to the Software, Eagle 4 technology, Licensor-provided materials, and all intellectual
274
+ property rights in them. No title transfers to Licensee.
275
+
276
+ b. As between the parties, Licensee owns its original contributions to a Modification,
277
+ subject to Licensor’s ownership of the Software and the conditions and licenses in this
278
+ License. No Modification limits Licensor’s right to develop, license, or use similar or
279
+ competing technology, provided Licensor does not use Licensee’s confidential
280
+ information.
281
+
282
+ 8. Records and Limited Audit.
283
+
284
+ a. For three years after each use or distribution of the Software or a Modification,
285
+ Licensee must keep reasonably complete records sufficient to verify Aggregate
286
+ Revenue and compliance with the Commercial Use and Competing Offering
287
+ restrictions and Section 4, including records reasonably necessary to investigate
288
+ whether the Aggregate Revenue threshold has been exceeded, unauthorized
289
+ Commercial Use, unauthorized relicensing, or failure to identify and preserve the
290
+ licensing and notices applicable to Eagle Files. Licensee need not disclose unrelated
291
+ product data, personal data, source code unrelated to the Software, or legally
292
+ privileged material.
293
+
294
+ b. If Licensor has a reasonable, documented basis to suspect Commercial Use or another
295
+ material violation of Sections 3 or 4, Licensor may, no more than once in any 12-month
296
+ period and on at least 30 days’ written notice, have an independent auditor bound by
297
+ written confidentiality obligations inspect the relevant records during normal business
298
+ hours solely to verify compliance with Sections 3, 4, and 8. The audit must minimize
299
+ disruption, and the auditor may report only compliance findings reasonably necessary for
300
+ enforcement. Licensor bears the cost unless the audit finds a material breach, in which
301
+ case Licensee must reimburse reasonable audit costs. The frequency and notice limits do
302
+ not apply where Licensor has a reasonable, documented basis to suspect fraud or
303
+ intentional circumvention.
304
+
305
+ 9. Term and Termination.
306
+
307
+ a. This License begins when Licensee accepts it by conduct as described in the
308
+ Acceptance and Repository Access section and continues until terminated. A material
309
+ breach automatically terminates this License if the breach is curable and Licensee fails
310
+ to cure it within 30 days after written notice describing the breach in reasonable detail.
311
+ A noncurable breach, fraud, willful circumvention of Section 3, unauthorized
312
+ Commercial Use, or a knowingly false claim of official status may be terminated
313
+ immediately by written notice.
314
+
315
+ b. Upon termination, Licensee must stop exercising rights under this License and stop
316
+ distributing the Software, and within 30 days delete or destroy copies under its control
317
+ except one archival copy kept solely for legal compliance. Termination does not affect
318
+ compliant licenses previously granted to recipients, but Licensee remains liable for pre-
319
+ termination breaches. The Acceptance and Repository Access section and Sections 1, 5, 7,
320
+ 8, 9, 10, 11, and 12 survive termination.
321
+
322
+ 10. Enforcement; Disclaimer; Limitation of Liability.
323
+
324
+ a. Licensee acknowledges that unauthorized Commercial Use, competitive use,
325
+ relicensing, disclosure, distribution, or misuse of Licensor’s intellectual property, or
326
+ failure to preserve the licensing, attribution, source, trademark, modification, and notice
327
+ obligations applicable to Eagle Files, may cause irreparable harm for which damages are
328
+ inadequate. Licensor may seek injunctive or equitable relief, in addition to all other
329
+ cumulative remedies, without posting bond to the extent permitted by law. Delay or
330
+ failure to enforce is not a waiver. In an action to enforce this License, the prevailing
331
+ party is entitled to reasonable attorneys’ fees and costs to the extent permitted by law.
332
+
333
+ b. THE SOFTWARE, DOCUMENTATION, OUTPUTS, AND RESULTS ARE
334
+ PROVIDED “AS IS” AND “AS AVAILABLE,” WITH ALL FAULTS. TO THE
335
+ MAXIMUM EXTENT PERMITTED BY LAW, LICENSOR AND ITS AFFILIATES,
336
+ LICENSORS, AND CONTRIBUTORS DISCLAIM ALL EXPRESS, IMPLIED,
337
+ STATUTORY, AND OTHER WARRANTIES, INCLUDING MERCHANTABILITY,
338
+ FITNESS FOR A PARTICULAR PURPOSE, TITLE, NON-INFRINGEMENT,
339
+ ACCURACY, SECURITY, AND WARRANTIES ARISING FROM COURSE OF
340
+ DEALING OR USAGE OF TRADE. LICENSEE IS SOLELY RESPONSIBLE FOR
341
+ EVALUATING FITNESS, SAFETY, SECURITY, AND LEGAL COMPLIANCE. TO
342
+ THE MAXIMUM EXTENT PERMITTED BY LAW, LICENSOR AND ITS
343
+ AFFILIATES, LICENSORS, AND CONTRIBUTORS WILL NOT BE LIABLE FOR
344
+ ANY INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, PUNITIVE, OR
345
+ CONSEQUENTIAL DAMAGES, OR FOR LOST PROFITS, REVENUE, DATA,
346
+ GOODWILL, OR BUSINESS INTERRUPTION, ARISING FROM OR RELATED TO
347
+ THE SOFTWARE OR THIS LICENSE, EVEN IF ADVISED OF THE POSSIBILITY.
348
+ THEIR AGGREGATE LIABILITY WILL NOT EXCEED THE GREATER OF US $100
349
+ OR THE AMOUNT LICENSEE PAID LICENSOR FOR THE SOFTWARE DURING
350
+ THE 12 MONTHS BEFORE THE EVENT GIVING RISE TO LIABILITY. THESE
351
+ LIMITS APPLY REGARDLESS OF THEORY AND TO THE EXTENT PERMITTED
352
+ BY LAW.
353
+
354
+ 11. General.
355
+
356
+ a. Licensee must comply with applicable laws, including export-control, sanctions, privacy,
357
+ and safety laws. Licensee may not assign this License without Licensor’s prior written
358
+ consent, except with written notice in connection with a merger, reorganization, or sale of
359
+ substantially all assets relating to the Software if the assignee agrees in writing to be
360
+ bound and is not a Competing Offering provider; any other attempted assignment is void.
361
+ Licensor may assign this License and its rights. If any provision is unenforceable, it will
362
+ be modified to the minimum extent necessary and the remainder will remain effective.
363
+ This License is governed by the laws of the state of New York, excluding conflict-of-laws
364
+ rules, and the parties consent to exclusive jurisdiction and venue in the state and federal
365
+ courts located in New York County, New York.
366
+
367
+ b. This License is the entire agreement concerning its subject matter and may be amended
368
+ or waived only in a writing signed by Licensor. Headings are for convenience, and
369
+ “including” means “including without limitation.”
370
+
371
+ c. Notices and Commercial Licensing. Legal notices to Licensor and commercial-license
372
+ inquiries must be sent to licensing@eagle.ai. A Licensee must contact Eagle AI Corp and
373
+ enter into a separate written commercial agreement before beginning or continuing any
374
+ Commercial Use for which Section 3 requires that agreement. Notices to Licensee may
375
+ be sent to the contact information Licensee provides to Licensor or, if none, to a publicly
376
+ listed legal contact. Email notice is effective when sent, absent a delivery-failure
377
+ message.
378
+ EXHIBIT A. SOURCE-FILE NOTICE
379
+
380
+ Copyright © 2026 Eagle AI Corp. This file is part of Eagle 4 and remains licensed under the
381
+ Eagle 4 Source-Available License, which incorporates the Eagle Trademark Policy and is not an
382
+ OSI-approved open-source license. Commercial Use may require a separate written commercial
383
+ license from Eagle AI Corp. By downloading, cloning, forking, copying, accessing, modifying,
384
+ using, hosting, distributing, or otherwise exercising any licensed right in this file, you accept
385
+ and agree to the Eagle 4 Source-Available License and Eagle Trademark Policy. The Eagle
386
+ LICENSE and NOTICE files and all applicable source-file and modification notices must
387
+ accompany this file.
388
+
389
+ EXHIBIT B. NOTICE-FILE LANGUAGE
390
+
391
+ This project includes or is derived from Eagle 4 technology developed by Eagle AI Corp. It is not
392
+ an official Eagle AI Corp project unless expressly stated otherwise. Eagle 4 is provided under the
393
+ Eagle 4 Source-Available License, which is not an OSI-approved open-source license and
394
+ incorporates the Eagle Trademark Policy. The applicable LICENSE file, NOTICE file, source-
395
+ file notices, and modification notices accompany this distribution. Downloading, cloning,
396
+ forking, copying, accessing, modifying, using, hosting, distributing, or otherwise exercising any
397
+ licensed right constitutes acceptance of that license and policy.
398
+
399
+ EXHIBIT C. MODIFICATION NOTICE
400
+
401
+ MODIFICATION NOTICE. This file or component has been materially modified from Eagle 4.
402
+ The accompanying change log identifies the modifying person or entity, the date of each material
403
+ modification, the affected files or components, and a summary of the material changes. This
404
+ modified version is not an official Eagle 4 release and is provided subject to the Eagle 4 Source-
405
+ Available License.
406
+
407
+ EXHIBIT D. TRADEMARK AND NON-AFFILIATION STATEMENT
408
+
409
+ EAGLE, Eagle 4, EAGLE-Harness, EAGLE Efficient LM Head, and associated logos are
410
+ trademarks or other protected designations of Eagle AI Corp. This product is an independent
411
+ modification or offering. It is not affiliated with, certified by, sponsored by, or endorsed by Eagle
412
+ AI Corp. References to Eagle 4 are solely truthful nominative references identifying origin,
413
+ compatibility, or technology used.
414
+
415
+ EXHIBIT E. DIRECTORY-LEVEL LICENSE NOTICE
416
+
417
+ DIRECTORY LICENSE NOTICE. Files in this directory that contain, reproduce, modify,
418
+ implement, port, or derive from Eagle 4, including EAGLE-Harness, EAGLE Efficient LM
419
+ Head, model materials, and other core Eagle 4 features, are Eagle Files governed by the Eagle 4
420
+ Source-Available License and the incorporated Eagle Trademark Policy. A file is governed by
421
+ Apache-2.0 only if its copyright owner expressly designates that file as Apache-2.0. See the Eagle
422
+ LICENSE and NOTICE files for file-level identification. Preserve all applicable copyright,
423
+ attribution, source-file, trademark, and modification notices. Commercial Use may require a
424
+ separate written commercial license from Eagle AI Corp.
@@ -0,0 +1,201 @@
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ http://www.apache.org/licenses/
4
+
5
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
+
7
+ 1. Definitions.
8
+
9
+ "License" shall mean the terms and conditions for use, reproduction,
10
+ and distribution as defined by Sections 1 through 9 of this document.
11
+
12
+ "Licensor" shall mean the copyright owner or entity authorized by
13
+ the copyright owner that is granting the License.
14
+
15
+ "Legal Entity" shall mean the union of the acting entity and all
16
+ other entities that control, are controlled by, or are under common
17
+ control with that entity. For the purposes of this definition,
18
+ "control" means (i) the power, direct or indirect, to cause the
19
+ direction or management of such entity, whether by contract or
20
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
+ outstanding shares, or (iii) beneficial ownership of such entity.
22
+
23
+ "You" (or "Your") shall mean an individual or Legal Entity
24
+ exercising permissions granted by this License.
25
+
26
+ "Source" form shall mean the preferred form for making modifications,
27
+ including but not limited to software source code, documentation
28
+ source, and configuration files.
29
+
30
+ "Object" form shall mean any form resulting from mechanical
31
+ transformation or translation of a Source form, including but
32
+ not limited to compiled object code, generated documentation,
33
+ and conversions to other media types.
34
+
35
+ "Work" shall mean the work of authorship, whether in Source or
36
+ Object form, made available under the License, as indicated by a
37
+ copyright notice that is included in or attached to the work
38
+ (an example is provided in the Appendix below).
39
+
40
+ "Derivative Works" shall mean any work, whether in Source or Object
41
+ form, that is based on (or derived from) the Work and for which the
42
+ editorial revisions, annotations, elaborations, or other modifications
43
+ represent, as a whole, an original work of authorship. For the purposes
44
+ of this License, Derivative Works shall not include works that remain
45
+ separable from, or merely link (or bind by name) to the interfaces of,
46
+ the Work and Derivative Works thereof.
47
+
48
+ "Contribution" shall mean any work of authorship, including
49
+ the original version of the Work and any modifications or additions
50
+ to that Work or Derivative Works thereof, that is intentionally
51
+ submitted to Licensor for inclusion in the Work by the copyright owner
52
+ or by an individual or Legal Entity authorized to submit on behalf of
53
+ the copyright owner. For the purposes of this definition, "submitted"
54
+ means any form of electronic, verbal, or written communication sent
55
+ to the Licensor or its representatives, including but not limited to
56
+ communication on electronic mailing lists, source code control systems,
57
+ and issue tracking systems that are managed by, or on behalf of, the
58
+ Licensor for the purpose of discussing and improving the Work, but
59
+ excluding communication that is conspicuously marked or otherwise
60
+ designated in writing by the copyright owner as "Not a Contribution."
61
+
62
+ "Contributor" shall mean Licensor and any individual or Legal Entity
63
+ on behalf of whom a Contribution has been received by Licensor and
64
+ subsequently incorporated within the Work.
65
+
66
+ 2. Grant of Copyright License. Subject to the terms and conditions of
67
+ this License, each Contributor hereby grants to You a perpetual,
68
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
+ copyright license to reproduce, prepare Derivative Works of,
70
+ publicly display, publicly perform, sublicense, and distribute the
71
+ Work and such Derivative Works in Source or Object form.
72
+
73
+ 3. Grant of Patent License. Subject to the terms and conditions of
74
+ this License, each Contributor hereby grants to You a perpetual,
75
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
+ (except as stated in this section) patent license to make, have made,
77
+ use, offer to sell, sell, import, and otherwise transfer the Work,
78
+ where such license applies only to those patent claims licensable
79
+ by such Contributor that are necessarily infringed by their
80
+ Contribution(s) alone or by combination of their Contribution(s)
81
+ with the Work to which such Contribution(s) was submitted. If You
82
+ institute patent litigation against any entity (including a
83
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
84
+ or a Contribution incorporated within the Work constitutes direct
85
+ or contributory patent infringement, then any patent licenses
86
+ granted to You under this License for that Work shall terminate
87
+ as of the date such litigation is filed.
88
+
89
+ 4. Redistribution. You may reproduce and distribute copies of the
90
+ Work or Derivative Works thereof in any medium, with or without
91
+ modifications, and in Source or Object form, provided that You
92
+ meet the following conditions:
93
+
94
+ (a) You must give any other recipients of the Work or
95
+ Derivative Works a copy of this License; and
96
+
97
+ (b) You must cause any modified files to carry prominent notices
98
+ stating that You changed the files; and
99
+
100
+ (c) You must retain, in the Source form of any Derivative Works
101
+ that You distribute, all copyright, patent, trademark, and
102
+ attribution notices from the Source form of the Work,
103
+ excluding those notices that do not pertain to any part of
104
+ the Derivative Works; and
105
+
106
+ (d) If the Work includes a "NOTICE" text file as part of its
107
+ distribution, then any Derivative Works that You distribute must
108
+ include a readable copy of the attribution notices contained
109
+ within such NOTICE file, excluding those notices that do not
110
+ pertain to any part of the Derivative Works, in at least one
111
+ of the following places: within a NOTICE text file distributed
112
+ as part of the Derivative Works; within the Source form or
113
+ documentation, if provided along with the Derivative Works; or,
114
+ within a display generated by the Derivative Works, if and
115
+ wherever such third-party notices normally appear. The contents
116
+ of the NOTICE file are for informational purposes only and
117
+ do not modify the License. You may add Your own attribution
118
+ notices within Derivative Works that You distribute, alongside
119
+ or as an addendum to the NOTICE text from the Work, provided
120
+ that such additional attribution notices cannot be construed
121
+ as modifying the License.
122
+
123
+ You may add Your own copyright statement to Your modifications and
124
+ may provide additional or different license terms and conditions
125
+ for use, reproduction, or distribution of Your modifications, or
126
+ for any such Derivative Works as a whole, provided Your use,
127
+ reproduction, and distribution of the Work otherwise complies with
128
+ the conditions stated in this License.
129
+
130
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
131
+ any Contribution intentionally submitted for inclusion in the Work
132
+ by You to the Licensor shall be under the terms and conditions of
133
+ this License, without any additional terms or conditions.
134
+ Notwithstanding the above, nothing herein shall supersede or modify
135
+ the terms of any separate license agreement you may have executed
136
+ with Licensor regarding such Contributions.
137
+
138
+ 6. Trademarks. This License does not grant permission to use the trade
139
+ names, trademarks, service marks, or product names of the Licensor,
140
+ except as required for reasonable and customary use in describing the
141
+ origin of the Work and reproducing the content of the NOTICE file.
142
+
143
+ 7. Disclaimer of Warranty. Unless required by applicable law or
144
+ agreed to in writing, Licensor provides the Work (and each
145
+ Contributor provides its Contributions) on an "AS IS" BASIS,
146
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
+ implied, including, without limitation, any warranties or conditions
148
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
+ PARTICULAR PURPOSE. You are solely responsible for determining the
150
+ appropriateness of using or redistributing the Work and assume any
151
+ risks associated with Your exercise of permissions under this License.
152
+
153
+ 8. Limitation of Liability. In no event and under no legal theory,
154
+ whether in tort (including negligence), contract, or otherwise,
155
+ unless required by applicable law (such as deliberate and grossly
156
+ negligent acts) or agreed to in writing, shall any Contributor be
157
+ liable to You for damages, including any direct, indirect, special,
158
+ incidental, or consequential damages of any character arising as a
159
+ result of this License or out of the use or inability to use the
160
+ Work (including but not limited to damages for loss of goodwill,
161
+ work stoppage, computer failure or malfunction, or any and all
162
+ other commercial damages or losses), even if such Contributor
163
+ has been advised of the possibility of such damages.
164
+
165
+ 9. Accepting Warranty or Additional Liability. While redistributing
166
+ the Work or Derivative Works thereof, You may choose to offer,
167
+ and charge a fee for, acceptance of support, warranty, indemnity,
168
+ or other liability obligations and/or rights consistent with this
169
+ License. However, in accepting such obligations, You may act only
170
+ on Your own behalf and on Your sole responsibility, not on behalf
171
+ of any other Contributor, and only if You agree to indemnify,
172
+ defend, and hold each Contributor harmless for any liability
173
+ incurred by, or claims asserted against, such Contributor by reason
174
+ of your accepting any such warranty or additional liability.
175
+
176
+ END OF TERMS AND CONDITIONS
177
+
178
+ APPENDIX: How to apply the Apache License to your work.
179
+
180
+ To apply the Apache License to your work, attach the following
181
+ boilerplate notice, with the fields enclosed by brackets "[]"
182
+ replaced with your own identifying information. (Don't include
183
+ the brackets!) The text should be enclosed in the appropriate
184
+ comment syntax for the file format. We also recommend that a
185
+ file or class name and description of purpose be included on the
186
+ same "printed page" as the copyright notice for easier
187
+ identification within third-party archives.
188
+
189
+ Copyright [yyyy] [name of copyright owner]
190
+
191
+ Licensed under the Apache License, Version 2.0 (the "License");
192
+ you may not use this file except in compliance with the License.
193
+ You may obtain a copy of the License at
194
+
195
+ http://www.apache.org/licenses/LICENSE-2.0
196
+
197
+ Unless required by applicable law or agreed to in writing, software
198
+ distributed under the License is distributed on an "AS IS" BASIS,
199
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200
+ See the License for the specific language governing permissions and
201
+ limitations under the License.
@@ -0,0 +1,29 @@
1
+ BSD 3-Clause License
2
+
3
+ Copyright (c) 2022, the respective contributors, as shown by the AUTHORS file.
4
+ All rights reserved.
5
+
6
+ Redistribution and use in source and binary forms, with or without
7
+ modification, are permitted provided that the following conditions are met:
8
+
9
+ * Redistributions of source code must retain the above copyright notice, this
10
+ list of conditions and the following disclaimer.
11
+
12
+ * Redistributions in binary form must reproduce the above copyright notice,
13
+ this list of conditions and the following disclaimer in the documentation
14
+ and/or other materials provided with the distribution.
15
+
16
+ * Neither the name of the copyright holder nor the names of its
17
+ contributors may be used to endorse or promote products derived from
18
+ this software without specific prior written permission.
19
+
20
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
24
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.