programasweights 0.1.0.dev2__tar.gz → 0.1.0.dev3__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 (320) hide show
  1. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/PKG-INFO +3 -3
  2. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/programasweights/__init__.py +1 -1
  3. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/programasweights/cache.py +1 -1
  4. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/pyproject.toml +3 -3
  5. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/components/DocsPage.tsx +1 -1
  6. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/components/Footer.tsx +1 -1
  7. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/components/HubProgramPage.tsx +1 -1
  8. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/components/LandingPage.tsx +1 -1
  9. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/components/MainInterface.tsx +2 -2
  10. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/.gitignore +0 -0
  11. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/.hatch_build.toml +0 -0
  12. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/.readthedocs.yaml +0 -0
  13. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/1apple.jpg +0 -0
  14. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/1apple2.jpg +0 -0
  15. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/2apples.jpg +0 -0
  16. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/2apples2.jpg +0 -0
  17. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/3apples.jpg +0 -0
  18. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/3apples2.jpg +0 -0
  19. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/479400.png +0 -0
  20. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/4apples.jpg +0 -0
  21. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/4apples2.jpg +0 -0
  22. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/4apples3.jpg +0 -0
  23. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/4apples4.jpg +0 -0
  24. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/5apples.jpg +0 -0
  25. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/6apples.jpg +0 -0
  26. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/8apples.jpg +0 -0
  27. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/9apples.jpg +0 -0
  28. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/FLOW_SUMMARY.md +0 -0
  29. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/MANIFEST.in +0 -0
  30. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/ONNX_MIGRATION_PLAN.md +0 -0
  31. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/PREFIX_TOKENS_DESIGN.md +0 -0
  32. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/PYPI_README.md +0 -0
  33. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/README.md +0 -0
  34. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/TRUNCATION_CHANGES.md +0 -0
  35. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/VERIFICATION_USAGE.md +0 -0
  36. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/analyze_dataset.py +0 -0
  37. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/analyze_lengths.py +0 -0
  38. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/baselines/code_prompt.md +0 -0
  39. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/baselines/evaluate_openai_python_code_baseline.py +0 -0
  40. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/baselines/openai_batch_request.py +0 -0
  41. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/baselines/prepare_alchemist_data.py +0 -0
  42. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/baselines/prepare_var_bench_data.py +0 -0
  43. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/baselines/python_code_sandbox.py +0 -0
  44. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/baselines/script_evaluation_var_bench.sh +0 -0
  45. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/baselines/script_evalution_evaluation.sh +0 -0
  46. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/baselines/script_evalution_request.sh +0 -0
  47. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/baselines/script_evalution_statistics.sh +0 -0
  48. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/benchmark_pytorch_vs_onnx.py +0 -0
  49. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/benchmark_user_experience.py +0 -0
  50. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/check_dataset.py +0 -0
  51. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/combine_datasets.py +0 -0
  52. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/compare_datasets.py +0 -0
  53. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/compare_old_vs_regen.py +0 -0
  54. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/convert_paw_to_svg.py +0 -0
  55. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/create_favicon_sizes.py +0 -0
  56. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/create_visualization_from_log.py +0 -0
  57. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/create_vqa_dataset.py +0 -0
  58. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/debug_cache.py +0 -0
  59. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/debug_eos_example.sh +0 -0
  60. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/docs/Makefile +0 -0
  61. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/docs/adr/001-llama-cpp-over-pytorch.md +0 -0
  62. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/docs/adr/002-q4_0-adapter-format.md +0 -0
  63. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/docs/adr/003-single-spec-field.md +0 -0
  64. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/docs/adr/004-compiler-naming.md +0 -0
  65. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/docs/adr/005-vllm-hidden-states.md +0 -0
  66. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/docs/adr/006-email-api-key-auth.md +0 -0
  67. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/docs/api-reference.rst +0 -0
  68. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/docs/architecture.md +0 -0
  69. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/docs/conf.py +0 -0
  70. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/docs/examples/evaluation-tasks.rst +0 -0
  71. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/docs/index.rst +0 -0
  72. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/docs/installation.rst +0 -0
  73. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/docs/make.bat +0 -0
  74. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/docs/quickstart.rst +0 -0
  75. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/docs/requirements.txt +0 -0
  76. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/docs/using-pretrained.rst +0 -0
  77. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/estimate_data_gen_cost.py +0 -0
  78. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/eval.py +0 -0
  79. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/examples/flask_app.py +0 -0
  80. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/examples/jupyter_notebook.py +0 -0
  81. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/examples/langchain_integration.py +0 -0
  82. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/examples/replace_openai.py +0 -0
  83. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/export_to_onnx.py +0 -0
  84. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/extract_models.py +0 -0
  85. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/inspect_data_dirs.py +0 -0
  86. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/latest_export.csv +0 -0
  87. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/log.train.81920.morecategories.extraprefix +0 -0
  88. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/main_no_spec_direct_ans_mix_continuous_sampleref_shorterprompt_vllm.py +0 -0
  89. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/merge_datasets.py +0 -0
  90. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/paw.png +0 -0
  91. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/paw.svg +0 -0
  92. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/process_im2latex_dataset.py +0 -0
  93. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/programasweights/artifacts.py +0 -0
  94. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/programasweights/cli.py +0 -0
  95. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/programasweights/client.py +0 -0
  96. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/programasweights/compiler/__init__.py +0 -0
  97. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/programasweights/compiler/dummy.py +0 -0
  98. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/programasweights/config.py +0 -0
  99. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/programasweights/convert_peft_to_paw.py +0 -0
  100. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/programasweights/paw_format.py +0 -0
  101. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/programasweights/runtime/__init__.py +0 -0
  102. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/programasweights/runtime/interpreter.py +0 -0
  103. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/programasweights/runtime/interpreter_onnx.py +0 -0
  104. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/programasweights/runtime_llamacpp.py +0 -0
  105. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/programasweights_lora/__init__.py +0 -0
  106. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/programasweights_lora/compiler/__init__.py +0 -0
  107. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/programasweights_lora/lora_format.py +0 -0
  108. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/programasweights_lora/runtime/__init__.py +0 -0
  109. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/programasweights_lora/runtime/interpreter_lora.py +0 -0
  110. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/programasweights_lora/tests/test_compile_and_run.py +0 -0
  111. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/programasweights_lora/tests/test_lora_format.py +0 -0
  112. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/programasweights_lora/tests/test_training.py +0 -0
  113. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/programasweights_lora/train_lora.py +0 -0
  114. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/programasweights_lora/training/__init__.py +0 -0
  115. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/programasweights_lora/training/loops/lora_tuning_sft.py +0 -0
  116. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/run_eval.sh +0 -0
  117. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/run_training.sh +0 -0
  118. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/scripts/filter_table_by_length.py +0 -0
  119. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/.env.example +0 -0
  120. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/api/__init__.py +0 -0
  121. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/api/config.py +0 -0
  122. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/api/logging_config.py +0 -0
  123. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/api/main.py +0 -0
  124. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/api/models/__init__.py +0 -0
  125. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/api/models/schemas.py +0 -0
  126. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/api/routes/__init__.py +0 -0
  127. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/api/routes/auth.py +0 -0
  128. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/api/routes/compile.py +0 -0
  129. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/api/routes/health.py +0 -0
  130. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/api/routes/infer.py +0 -0
  131. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/api/routes/models_info.py +0 -0
  132. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/api/routes/programs.py +0 -0
  133. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/api/services/__init__.py +0 -0
  134. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/api/services/compile_service.py +0 -0
  135. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/api/services/infer_service.py +0 -0
  136. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/benchmarks/benchmark_api.py +0 -0
  137. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/benchmarks/handcrafted_specs.json +0 -0
  138. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/benchmarks/last_benchmark_results.json +0 -0
  139. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/benchmarks/last_stress_results.json +0 -0
  140. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/benchmarks/stress_test.py +0 -0
  141. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/requirements.txt +0 -0
  142. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/scripts/start_services.sh +0 -0
  143. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/tests/__init__.py +0 -0
  144. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/tests/conftest.py +0 -0
  145. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/tests/test_auth.py +0 -0
  146. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/tests/test_compile.py +0 -0
  147. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/tests/test_errors.py +0 -0
  148. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/tests/test_infer.py +0 -0
  149. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/tests/test_integration_gpu.py +0 -0
  150. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/tests/test_rate_limit.py +0 -0
  151. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/vllm_models/__init__.py +0 -0
  152. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/vllm_models/paw_compiler.py +0 -0
  153. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/vllm_models/prepare_checkpoint.py +0 -0
  154. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/server/vllm_models/register.py +0 -0
  155. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/stage2_firstpromptqwen_512_e1_generate_lora_e2grpo_overfit_one_debug.reward_plot.rollout_ppl.png +0 -0
  156. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/stage2_firstpromptqwen_512_e1_generate_lora_e2grpo_overfit_one_debug.reward_plot.train_gt_logprob.em_es.png +0 -0
  157. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/stage2_firstpromptqwen_512_e1_generate_lora_e2grpo_overfit_one_debug.reward_plot.train_gt_logprob.ppl.png +0 -0
  158. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/stage2_firstpromptqwen_512_e1_generate_lora_e2grpo_overfit_one_debug.reward_plot.train_gt_logprob.reward.png +0 -0
  159. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/test_1spec.py +0 -0
  160. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/test_all_caching.py +0 -0
  161. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/test_apple_count.py +0 -0
  162. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/test_batch_pilot.py +0 -0
  163. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/test_compile.py +0 -0
  164. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/test_e2e.py +0 -0
  165. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/test_execute.py +0 -0
  166. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/test_nspecs.py +0 -0
  167. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/test_one_vs_two_step.py +0 -0
  168. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/test_onnx_correctness.py +0 -0
  169. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/test_onnx_hf_model.py +0 -0
  170. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/test_onnx_hf_with_images.py +0 -0
  171. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/test_paw_format.py +0 -0
  172. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/test_thinking_comparison.py +0 -0
  173. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/tests/test_programasweights.py +0 -0
  174. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/train.py +0 -0
  175. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/train_no_spec_direct_ans_mix_continuous_sampleref_trainonly_shorterprompt_withregularizer_generate_lora.py +0 -0
  176. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/README.md +0 -0
  177. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/__init__.py +0 -0
  178. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/data_generation/DATASET_CHANGELOG.md +0 -0
  179. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/data_generation/README.md +0 -0
  180. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/data_generation/VERIFICATION_PIPELINE.md +0 -0
  181. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/data_generation/dry_run_batch.py +0 -0
  182. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/data_generation/filter_test_data.py +0 -0
  183. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/data_generation/generate_specs.py +0 -0
  184. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/data_generation/generate_specs_batch.py +0 -0
  185. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/data_generation/incremental_merge.py +0 -0
  186. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/data_generation/merge_and_upload.py +0 -0
  187. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/data_generation/regenerate_outputs_batch.py +0 -0
  188. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/data_generation/synthesize_data.py +0 -0
  189. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/data_generation/synthesize_data_batch.py +0 -0
  190. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/data_generation/templates/filter_system.txt +0 -0
  191. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/data_generation/templates/filter_user.txt +0 -0
  192. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/data_generation/templates/pairs_system.txt +0 -0
  193. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/data_generation/templates/pairs_user.txt +0 -0
  194. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/data_generation/templates/specs_system.txt +0 -0
  195. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/data_generation/templates/specs_user.txt +0 -0
  196. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/data_generation/templates/specs_user_freeform.txt +0 -0
  197. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/data_generation/templates/specs_user_freeform_with_examples.txt +0 -0
  198. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/data_generation/templates/specs_user_with_examples.txt +0 -0
  199. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/data_generation/templates/verify_system.txt +0 -0
  200. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/data_generation/templates/verify_user.txt +0 -0
  201. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/data_generation/templates_old/filter_system.txt +0 -0
  202. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/data_generation/templates_old/filter_user.txt +0 -0
  203. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/data_generation/templates_old/pairs_system.txt +0 -0
  204. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/data_generation/templates_old/pairs_user.txt +0 -0
  205. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/data_generation/templates_old/specs_system.txt +0 -0
  206. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/data_generation/templates_old/specs_user.txt +0 -0
  207. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/data_generation/templates_old/specs_user_freeform.txt +0 -0
  208. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/data_generation/templates_old/specs_user_freeform_with_examples.txt +0 -0
  209. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/data_generation/templates_old/specs_user_with_examples.txt +0 -0
  210. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/data_generation/templates_old/verify_system.txt +0 -0
  211. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/data_generation/templates_old/verify_user.txt +0 -0
  212. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/data_generation/verify_test_data.py +0 -0
  213. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/datasets/__init__.py +0 -0
  214. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/datasets/jsonl_text_pairs.py +0 -0
  215. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/loops/__init__.py +0 -0
  216. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/training/loops/prefix_tuning_sft.py +0 -0
  217. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/ttt.py +0 -0
  218. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/upload_model.py +0 -0
  219. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/upload_onnx_to_huggingface.py +0 -0
  220. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/upload_onnx_to_huggingface_with_token.py +0 -0
  221. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/utils.py +0 -0
  222. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/HANDOFF.md +0 -0
  223. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/README.md +0 -0
  224. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/app/__init__.py +0 -0
  225. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/app/config.py +0 -0
  226. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/app/main.py +0 -0
  227. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/app/middleware/__init__.py +0 -0
  228. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/app/middleware/rate_limit.py +0 -0
  229. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/app/models.py +0 -0
  230. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/app/services/__init__.py +0 -0
  231. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/app/services/auth_service.py +0 -0
  232. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/app/services/case_service.py +0 -0
  233. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/app/services/compiler_service.py +0 -0
  234. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/app/services/gpt_service.py +0 -0
  235. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/app/services/hub_service.py +0 -0
  236. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/app/services/image_service.py +0 -0
  237. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/app/services/interpreter_service.py +0 -0
  238. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/app/services/sql_manager.py +0 -0
  239. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/app/templates/gpt_test_generation.txt +0 -0
  240. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/app/utils/__init__.py +0 -0
  241. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/app/utils/image_placeholders.py +0 -0
  242. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/app/utils/program_hash.py +0 -0
  243. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/clear_db.sh +0 -0
  244. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/clear_tables.sql +0 -0
  245. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/data/programs.db +0 -0
  246. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/env_example.txt +0 -0
  247. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/example_images/README.md +0 -0
  248. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/get_data_examples.py +0 -0
  249. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/requirements.txt +0 -0
  250. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/run_server.py +0 -0
  251. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/setup_analytics_tables.sql +0 -0
  252. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/setup_auth_tables.sql +0 -0
  253. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/setup_cache_tables.sql +0 -0
  254. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/setup_cases_tables.sql +0 -0
  255. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/setup_database.sql +0 -0
  256. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/setup_database_simple.sql +0 -0
  257. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/setup_db.sh +0 -0
  258. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/setup_example_images.py +0 -0
  259. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/setup_hub_tables.sql +0 -0
  260. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/backend/test_compilation_cache.py +0 -0
  261. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/README.md +0 -0
  262. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/eslint.config.js +0 -0
  263. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/index.html +0 -0
  264. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/package-lock.json +0 -0
  265. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/package.json +0 -0
  266. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/postcss.config.js +0 -0
  267. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/public/apple-touch-icon.png +0 -0
  268. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/public/favicon-16x16.png +0 -0
  269. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/public/favicon-32x32.png +0 -0
  270. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/public/paw-192.png +0 -0
  271. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/public/paw-512.png +0 -0
  272. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/public/paw.svg +0 -0
  273. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/public/react-test.html +0 -0
  274. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/public/test.html +0 -0
  275. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/public/vite.svg +0 -0
  276. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/App.css +0 -0
  277. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/App.tsx +0 -0
  278. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/assets/react.svg +0 -0
  279. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/components/AboutPage.tsx +0 -0
  280. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/components/AutoTestSection.tsx +0 -0
  281. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/components/CasesSection.tsx +0 -0
  282. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/components/CollapsibleExamples.tsx +0 -0
  283. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/components/CompileButtonWithConfig.tsx +0 -0
  284. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/components/CompileSection.tsx +0 -0
  285. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/components/CopyCodeSection.tsx +0 -0
  286. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/components/ExampleRow/ExampleRowEditor.tsx +0 -0
  287. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/components/ExamplesInput.tsx +0 -0
  288. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/components/Header.tsx +0 -0
  289. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/components/HubPage.tsx +0 -0
  290. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/components/HubUploadPage.tsx +0 -0
  291. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/components/ImageUpload.tsx +0 -0
  292. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/components/InputBlocks/ImageBlock.tsx +0 -0
  293. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/components/InputBlocks/InputBlockList.tsx +0 -0
  294. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/components/InputBlocks/TextBlock.tsx +0 -0
  295. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/components/LeaderboardPage.tsx +0 -0
  296. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/components/ModelSelector.tsx +0 -0
  297. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/components/MultiImageUpload.tsx +0 -0
  298. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/components/PricingPage.tsx +0 -0
  299. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/components/PrivacyPage.tsx +0 -0
  300. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/components/ProfilePage.tsx +0 -0
  301. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/components/ProgramDetailPage.tsx +0 -0
  302. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/components/PublishProgramPage.tsx +0 -0
  303. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/components/SpecInput.tsx +0 -0
  304. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/components/TermsPage.tsx +0 -0
  305. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/components/TestSection.tsx +0 -0
  306. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/index.css +0 -0
  307. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/main.tsx +0 -0
  308. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/types/index.ts +0 -0
  309. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/src/utils/api.ts +0 -0
  310. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/tailwind.config.js +0 -0
  311. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/tsconfig.app.json +0 -0
  312. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/tsconfig.json +0 -0
  313. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/tsconfig.node.json +0 -0
  314. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/frontend/vite.config.ts +0 -0
  315. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/nginx-paw.conf +0 -0
  316. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/nginx.conf +0 -0
  317. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/setup_mysql.sh +0 -0
  318. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/start.sh +0 -0
  319. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/test_setup.py +0 -0
  320. {programasweights-0.1.0.dev2 → programasweights-0.1.0.dev3}/web-app/ttt.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: programasweights
3
- Version: 0.1.0.dev2
3
+ Version: 0.1.0.dev3
4
4
  Summary: Compile natural language specifications into neural programs that run locally via llama.cpp.
5
5
  Author-email: ProgramAsWeights <support@programasweights.com>
6
6
  License: MIT
@@ -17,8 +17,8 @@ Classifier: Programming Language :: Python :: 3.12
17
17
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
18
18
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
19
19
  Requires-Python: >=3.9
20
- Requires-Dist: httpx>=0.27.0
21
- Requires-Dist: llama-cpp-python>=0.3.0
20
+ Requires-Dist: httpx<1.0,>=0.27.0
21
+ Requires-Dist: llama-cpp-python<1.0,>=0.3.0
22
22
  Provides-Extra: test
23
23
  Requires-Dist: pytest; extra == 'test'
24
24
  Description-Content-Type: text/markdown
@@ -19,7 +19,7 @@ API reference:
19
19
  paw.api_key API key (set via login() or PAW_API_KEY env var)
20
20
  """
21
21
 
22
- __version__ = "0.1.0.dev2"
22
+ __version__ = "0.1.0.dev3"
23
23
 
24
24
  from .config import get_api_url, get_api_key, set_api_key
25
25
 
@@ -22,7 +22,7 @@ import httpx
22
22
  from . import config
23
23
 
24
24
  BASE_MODEL_URLS = {
25
- "qwen3-0.6b-q6_k": "https://programasweights.com/models/qwen3-0.6b-q6_k.gguf",
25
+ "qwen3-0.6b-q6_k": "https://huggingface.co/yuntian-deng/Qwen3-0.6B-GGUF-Q6_K/resolve/main/qwen3-0.6b-q6_k.gguf",
26
26
  }
27
27
 
28
28
  INTERPRETER_TO_GGUF = {
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "programasweights"
7
- version = "0.1.0.dev2"
7
+ version = "0.1.0.dev3"
8
8
  description = "Compile natural language specifications into neural programs that run locally via llama.cpp."
9
9
  readme = "PYPI_README.md"
10
10
  requires-python = ">=3.9"
@@ -27,8 +27,8 @@ classifiers = [
27
27
  "Topic :: Software Development :: Libraries :: Python Modules",
28
28
  ]
29
29
  dependencies = [
30
- "httpx>=0.27.0",
31
- "llama-cpp-python>=0.3.0",
30
+ "httpx>=0.27.0,<1.0",
31
+ "llama-cpp-python>=0.3.0,<1.0",
32
32
  ]
33
33
 
34
34
  [project.optional-dependencies]
@@ -85,7 +85,7 @@ const DocsPage: React.FC = () => {
85
85
  <div className="space-y-8">
86
86
  <section>
87
87
  <h2 className="text-xl font-bold text-gray-900 mb-4">1. Install</h2>
88
- <CodeBlock code="pip install programasweights" id="install" lang="bash" />
88
+ <CodeBlock code="pip install --pre programasweights" id="install" lang="bash" />
89
89
  </section>
90
90
 
91
91
  <section>
@@ -18,7 +18,7 @@ const Footer: React.FC = () => {
18
18
  Define functions in English. Compile them into neural programs. Run them locally.
19
19
  </p>
20
20
  <div className="mt-4 inline-flex items-center gap-2 bg-white/5 rounded px-3 py-1.5 font-mono text-xs text-gray-300 border border-white/10">
21
- pip install programasweights
21
+ pip install --pre programasweights
22
22
  </div>
23
23
  </div>
24
24
 
@@ -214,7 +214,7 @@ print(result)`;
214
214
  </div>
215
215
  <pre className="bg-gray-900 text-gray-100 p-4 rounded-lg text-sm overflow-x-auto leading-relaxed">{usageCode}</pre>
216
216
  <p className="mt-3 text-xs text-gray-400">
217
- Install with <code className="bg-gray-100 px-1.5 py-0.5 rounded text-gray-600">pip install programasweights</code>
217
+ Install with <code className="bg-gray-100 px-1.5 py-0.5 rounded text-gray-600">pip install --pre programasweights</code>
218
218
  </p>
219
219
  </div>
220
220
 
@@ -63,7 +63,7 @@ const LandingPage: React.FC = () => {
63
63
  },
64
64
  ];
65
65
 
66
- const installCmd = 'pip install programasweights';
66
+ const installCmd = 'pip install --pre programasweights';
67
67
  const codeExample = `import programasweights as paw
68
68
 
69
69
  # Define a function in plain English
@@ -324,10 +324,10 @@ print(result)`;
324
324
  <p className="text-xs font-semibold text-gray-600 mb-1.5">1. Install</p>
325
325
  <div className="flex items-center gap-2">
326
326
  <code className="flex-1 bg-gray-100 px-3 py-2 rounded text-sm font-mono text-gray-800">
327
- pip install programasweights
327
+ pip install --pre programasweights
328
328
  </code>
329
329
  <button
330
- onClick={() => { navigator.clipboard.writeText('pip install programasweights'); toast.success('Copied!'); }}
330
+ onClick={() => { navigator.clipboard.writeText('pip install --pre programasweights'); toast.success('Copied!'); }}
331
331
  className="flex items-center gap-1 px-3 py-2 text-sm bg-gray-200 hover:bg-gray-300 text-gray-700 rounded transition-colors"
332
332
  >
333
333
  <Copy className="w-4 h-4" />