params-proto 3.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 (128) hide show
  1. params_proto-3.1.0/.claude-plugin/marketplace.json +14 -0
  2. params_proto-3.1.0/.claude-plugin/plugin.json +12 -0
  3. params_proto-3.1.0/.editorconfig +37 -0
  4. params_proto-3.1.0/.gitignore +138 -0
  5. params_proto-3.1.0/.idea/.gitignore +8 -0
  6. params_proto-3.1.0/.idea/codeStyles/codeStyleConfig.xml +5 -0
  7. params_proto-3.1.0/.idea/inspectionProfiles/Project_Default.xml +36 -0
  8. params_proto-3.1.0/.idea/inspectionProfiles/profiles_settings.xml +6 -0
  9. params_proto-3.1.0/.idea/markdown.xml +6 -0
  10. params_proto-3.1.0/.idea/misc.xml +7 -0
  11. params_proto-3.1.0/.idea/modules.xml +8 -0
  12. params_proto-3.1.0/.idea/params-proto.iml +19 -0
  13. params_proto-3.1.0/.idea/ruff.xml +12 -0
  14. params_proto-3.1.0/.idea/vcs.xml +6 -0
  15. params_proto-3.1.0/.idea/workspace.xml +303 -0
  16. params_proto-3.1.0/.readthedocs.yaml +25 -0
  17. params_proto-3.1.0/.run/pytest for test_neo_proto_cli.run.xml +30 -0
  18. params_proto-3.1.0/.run/pytest in test_params_proto.run.xml +30 -0
  19. params_proto-3.1.0/ANSI_HELP_CONSIDERATIONS.md +243 -0
  20. params_proto-3.1.0/CLAUDE.md +93 -0
  21. params_proto-3.1.0/LICENSE.md +30 -0
  22. params_proto-3.1.0/Makefile +45 -0
  23. params_proto-3.1.0/PKG-INFO +302 -0
  24. params_proto-3.1.0/README +234 -0
  25. params_proto-3.1.0/README.md +260 -0
  26. params_proto-3.1.0/docs/Makefile +20 -0
  27. params_proto-3.1.0/docs/_archive_v2/api/hyper.md +263 -0
  28. params_proto-3.1.0/docs/_archive_v2/api/proto.md +182 -0
  29. params_proto-3.1.0/docs/_archive_v2/api/utils.md +158 -0
  30. params_proto-3.1.0/docs/_archive_v2/examples/advanced_features.md +522 -0
  31. params_proto-3.1.0/docs/_archive_v2/examples/basic_usage.md +150 -0
  32. params_proto-3.1.0/docs/_archive_v2/examples/environment_variables.md +463 -0
  33. params_proto-3.1.0/docs/_archive_v2/examples/hyperparameter_sweeps.md +629 -0
  34. params_proto-3.1.0/docs/_archive_v2/examples/index.md +37 -0
  35. params_proto-3.1.0/docs/_archive_v2/examples/nested_configs.md +544 -0
  36. params_proto-3.1.0/docs/_archive_v2/quick_start.md +103 -0
  37. params_proto-3.1.0/docs/_static/ansi.css +193 -0
  38. params_proto-3.1.0/docs/_static/custom.css +20 -0
  39. params_proto-3.1.0/docs/api/index.md +38 -0
  40. params_proto-3.1.0/docs/api/proto.md +382 -0
  41. params_proto-3.1.0/docs/conf.py +137 -0
  42. params_proto-3.1.0/docs/examples/basic_usage.md +37 -0
  43. params_proto-3.1.0/docs/examples/cli_applications.md +31 -0
  44. params_proto-3.1.0/docs/examples/ml_training.md +126 -0
  45. params_proto-3.1.0/docs/examples/rl_agent.md +140 -0
  46. params_proto-3.1.0/docs/index.md +377 -0
  47. params_proto-3.1.0/docs/key_concepts/advanced_patterns.md +524 -0
  48. params_proto-3.1.0/docs/key_concepts/ansi_formatting.md +188 -0
  49. params_proto-3.1.0/docs/key_concepts/cli-fundamentals.md +139 -0
  50. params_proto-3.1.0/docs/key_concepts/cli-patterns.md +189 -0
  51. params_proto-3.1.0/docs/key_concepts/configuration-patterns.md +551 -0
  52. params_proto-3.1.0/docs/key_concepts/core-concepts.md +229 -0
  53. params_proto-3.1.0/docs/key_concepts/environment_variables.md +597 -0
  54. params_proto-3.1.0/docs/key_concepts/help-generation.md +262 -0
  55. params_proto-3.1.0/docs/key_concepts/hyperparameter_sweeps.md +153 -0
  56. params_proto-3.1.0/docs/key_concepts/naming-conventions.md +201 -0
  57. params_proto-3.1.0/docs/key_concepts/parameter-iteration.md +471 -0
  58. params_proto-3.1.0/docs/key_concepts/parameter-overrides.md +655 -0
  59. params_proto-3.1.0/docs/key_concepts/type-system.md +827 -0
  60. params_proto-3.1.0/docs/key_concepts/union_types.md +312 -0
  61. params_proto-3.1.0/docs/key_concepts/welcome.md +154 -0
  62. params_proto-3.1.0/docs/migration.md +385 -0
  63. params_proto-3.1.0/docs/quick_start.md +321 -0
  64. params_proto-3.1.0/docs/release_notes.md +729 -0
  65. params_proto-3.1.0/docs/requirements.txt +7 -0
  66. params_proto-3.1.0/examples/union_subcommands.py +67 -0
  67. params_proto-3.1.0/figures/man-page.png +0 -0
  68. params_proto-3.1.0/figures/params-proto-autocompletion.gif +0 -0
  69. params_proto-3.1.0/figures/spec_files.png +0 -0
  70. params_proto-3.1.0/pyproject.toml +133 -0
  71. params_proto-3.1.0/scratch/demo_params_proto.py +16 -0
  72. params_proto-3.1.0/scratch/demo_v3.py +23 -0
  73. params_proto-3.1.0/scratch/proto_DAT_scratch.py +48 -0
  74. params_proto-3.1.0/scratch/proto_dependency_tree_pattern.py +74 -0
  75. params_proto-3.1.0/skills/params-proto/SKILL.md +184 -0
  76. params_proto-3.1.0/skills/params-proto/references/cli-and-types.md +386 -0
  77. params_proto-3.1.0/skills/params-proto/references/environment-vars.md +219 -0
  78. params_proto-3.1.0/skills/params-proto/references/patterns.md +375 -0
  79. params_proto-3.1.0/skills/params-proto/references/sweeps.md +311 -0
  80. params_proto-3.1.0/skills/params-proto.skill +0 -0
  81. params_proto-3.1.0/src/params_proto/__init__.py +4 -0
  82. params_proto-3.1.0/src/params_proto/app.py +1 -0
  83. params_proto-3.1.0/src/params_proto/cli/__init__.py +18 -0
  84. params_proto-3.1.0/src/params_proto/cli/ansi_help.py +373 -0
  85. params_proto-3.1.0/src/params_proto/cli/cli_parse.py +429 -0
  86. params_proto-3.1.0/src/params_proto/cli/help_gen.py +378 -0
  87. params_proto-3.1.0/src/params_proto/documentation.py +271 -0
  88. params_proto-3.1.0/src/params_proto/envvar.py +246 -0
  89. params_proto-3.1.0/src/params_proto/hyper/__init__.py +4 -0
  90. params_proto-3.1.0/src/params_proto/hyper/proxies.py +138 -0
  91. params_proto-3.1.0/src/params_proto/hyper/sweep.py +956 -0
  92. params_proto-3.1.0/src/params_proto/parse_env_template.py +34 -0
  93. params_proto-3.1.0/src/params_proto/proto.py +1140 -0
  94. params_proto-3.1.0/src/params_proto/type_utils.py +216 -0
  95. params_proto-3.1.0/src/params_proto/v1/__init__.py +2 -0
  96. params_proto-3.1.0/src/params_proto/v1/hyper.py +117 -0
  97. params_proto-3.1.0/src/params_proto/v1/params_proto.py +375 -0
  98. params_proto-3.1.0/src/params_proto/v2/__init__.py +3 -0
  99. params_proto-3.1.0/src/params_proto/v2/hyper.py +390 -0
  100. params_proto-3.1.0/src/params_proto/v2/partial.py +39 -0
  101. params_proto-3.1.0/src/params_proto/v2/proto.py +695 -0
  102. params_proto-3.1.0/src/params_proto/v2/utils.py +116 -0
  103. params_proto-3.1.0/tests/test_v1/__init__.py +0 -0
  104. params_proto-3.1.0/tests/test_v1/test_hyper.py +199 -0
  105. params_proto-3.1.0/tests/test_v1/test_params_proto.py +210 -0
  106. params_proto-3.1.0/tests/test_v2/test_Eval.py +13 -0
  107. params_proto-3.1.0/tests/test_v2/test_neo_hyper.py +491 -0
  108. params_proto-3.1.0/tests/test_v2/test_neo_proto.py +473 -0
  109. params_proto-3.1.0/tests/test_v2/test_neo_proto_cli.py +265 -0
  110. params_proto-3.1.0/tests/test_v2/test_neo_proto_partial.py +135 -0
  111. params_proto-3.1.0/tests/test_v2/test_utils.py +70 -0
  112. params_proto-3.1.0/tests/test_v3/samples/train.py +32 -0
  113. params_proto-3.1.0/tests/test_v3/test_advanced_types.py +486 -0
  114. params_proto-3.1.0/tests/test_v3/test_class_level_methods.py +298 -0
  115. params_proto-3.1.0/tests/test_v3/test_cli_parsing.py +1403 -0
  116. params_proto-3.1.0/tests/test_v3/test_help_strings.py +697 -0
  117. params_proto-3.1.0/tests/test_v3/test_method_self_param.py +284 -0
  118. params_proto-3.1.0/tests/test_v3/test_parse_env_template.py +96 -0
  119. params_proto-3.1.0/tests/test_v3/test_piter.py +377 -0
  120. params_proto-3.1.0/tests/test_v3/test_positional_example.sh +25 -0
  121. params_proto-3.1.0/tests/test_v3/test_proto_comments.py +222 -0
  122. params_proto-3.1.0/tests/test_v3/test_proto_core.py +790 -0
  123. params_proto-3.1.0/tests/test_v3/test_proto_envvar.py +821 -0
  124. params_proto-3.1.0/tests/test_v3/test_proto_linebreaking.py +172 -0
  125. params_proto-3.1.0/tests/test_v3/test_proto_partial.py +247 -0
  126. params_proto-3.1.0/tests/test_v3/test_proto_required.py +230 -0
  127. params_proto-3.1.0/tests/test_v3/test_strings.py +261 -0
  128. params_proto-3.1.0/tests/test_v3/test_sweep.py +636 -0
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "params-proto",
3
+ "owner": {
4
+ "name": "Ge Yang"
5
+ },
6
+ "description": "Declarative hyperparameter management skills for ML/AI experiments",
7
+ "plugins": [
8
+ {
9
+ "name": "params-proto",
10
+ "source": "./",
11
+ "description": "params-proto skills for CLI generation and configuration management"
12
+ }
13
+ ]
14
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "name": "params-proto",
3
+ "version": "3.0.0",
4
+ "description": "Declarative hyperparameter management skills for ML/AI experiments",
5
+ "author": {
6
+ "name": "Ge Yang"
7
+ },
8
+ "repository": "https://github.com/geyang/params-proto",
9
+ "license": "MIT",
10
+ "keywords": ["machine-learning", "hyperparameters", "cli", "configuration"],
11
+ "skills": "./skills/"
12
+ }
@@ -0,0 +1,37 @@
1
+ # EditorConfig is awesome: https://EditorParams.org
2
+
3
+ # top-most EditorConfig file
4
+ root = true
5
+
6
+ # Unix-style newlines with a newline ending every file
7
+ [*]
8
+ end_of_line = lf
9
+ insert_final_newline = true
10
+ charset = utf-8
11
+ trim_trailing_whitespace = true
12
+
13
+ # Python files
14
+ [*.py]
15
+ indent_style = space
16
+ indent_size = 2
17
+
18
+ # Markdown files
19
+ [*.md]
20
+ indent_style = space
21
+ indent_size = 2
22
+ trim_trailing_whitespace = false
23
+
24
+ # YAML files
25
+ [*.{yml,yaml}]
26
+ indent_style = space
27
+ indent_size = 2
28
+
29
+ # JSON files
30
+ [*.json]
31
+ indent_style = space
32
+ indent_size = 2
33
+
34
+ # TOML files
35
+ [*.toml]
36
+ indent_style = space
37
+ indent_size = 4
@@ -0,0 +1,138 @@
1
+ .DS_Store
2
+
3
+ .pytest_cache
4
+
5
+ # Created by .ignore support plugin (hsz.mobi)
6
+ ### JetBrains template
7
+ # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm
8
+ # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
9
+
10
+ # pytest output directories
11
+ test-logs
12
+
13
+ # Gradle:
14
+ .idea/**/gradle.xml
15
+ .idea/**/libraries
16
+
17
+ # Mongo Explorer plugin:
18
+ .idea/**/mongoSettings.xml
19
+
20
+ ## File-based project format:
21
+ *.iws
22
+
23
+ ## Plugin-specific files:
24
+
25
+ # IntelliJ
26
+ /out/
27
+
28
+ # mpeltonen/sbt-idea plugin
29
+ .idea_modules/
30
+
31
+ # JIRA plugin
32
+ atlassian-ide-plugin.xml
33
+
34
+ # Crashlytics plugin (for Android Studio and IntelliJ)
35
+ com_crashlytics_export_strings.xml
36
+ crashlytics.properties
37
+ crashlytics-build.properties
38
+ fabric.properties
39
+ ### Python template
40
+ # Byte-compiled / optimized / DLL files
41
+ __pycache__/
42
+ *.py[cod]
43
+ *$py.class
44
+
45
+ # C extensions
46
+ *.so
47
+
48
+ # Distribution / packaging
49
+ .Python
50
+ env/
51
+ build/
52
+ develop-eggs/
53
+ dist/
54
+ downloads/
55
+ eggs/
56
+ .eggs/
57
+ lib/
58
+ lib64/
59
+ parts/
60
+ sdist/
61
+ var/
62
+ wheels/
63
+ *.egg-info/
64
+ .installed.cfg
65
+ *.egg
66
+
67
+ # PyInstaller
68
+ # Usually these files are written by a python script from a template
69
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
70
+ *.manifest
71
+ *.spec
72
+
73
+ # Installer logs
74
+ pip-log.txt
75
+ pip-delete-this-directory.txt
76
+
77
+ # Unit test / coverage reports
78
+ htmlcov/
79
+ .tox/
80
+ .coverage
81
+ .coverage.*
82
+ .cache
83
+ nosetests.xml
84
+ coverage.xml
85
+ *,cover
86
+ .hypothesis/
87
+
88
+ # Translations
89
+ *.mo
90
+ *.pot
91
+
92
+ # Django stuff:
93
+ *.log
94
+ local_settings.py
95
+
96
+ # Flask stuff:
97
+ instance/
98
+ .webassets-cache
99
+
100
+ # Scrapy stuff:
101
+ .scrapy
102
+
103
+ # Sphinx documentation
104
+ docs/_build/
105
+
106
+ # PyBuilder
107
+ target/
108
+
109
+ # Jupyter Notebook
110
+ .ipynb_checkpoints
111
+
112
+ # pyenv
113
+ .python-version
114
+
115
+ # celery beat schedule file
116
+ celerybeat-schedule
117
+
118
+ # SageMath parsed files
119
+ *.sage.py
120
+
121
+ # dotenv
122
+ .env
123
+
124
+ # virtualenv
125
+ .venv/
126
+ venv/
127
+ ENV/
128
+
129
+ # uv
130
+ .python-version
131
+ uv.lock
132
+
133
+ # Spyder project settings
134
+ .spyderproject
135
+
136
+ # Rope project settings
137
+ .ropeproject
138
+
@@ -0,0 +1,8 @@
1
+ # Default ignored files
2
+ /shelf/
3
+ /workspace.xml
4
+ # Editor-based HTTP Client requests
5
+ /httpRequests/
6
+ # Datasource local storage ignored files
7
+ /dataSources/
8
+ /dataSources.local.xml
@@ -0,0 +1,5 @@
1
+ <component name="ProjectCodeStyleConfiguration">
2
+ <state>
3
+ <option name="PREFERRED_PROJECT_CODE_STYLE" value="Default" />
4
+ </state>
5
+ </component>
@@ -0,0 +1,36 @@
1
+ <component name="InspectionProjectProfileManager">
2
+ <profile version="1.0">
3
+ <option name="myName" value="Project Default" />
4
+ <inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
5
+ <inspection_tool class="PyPackageRequirementsInspection" enabled="true" level="WARNING" enabled_by_default="true">
6
+ <option name="ignoredPackages">
7
+ <value>
8
+ <list size="7">
9
+ <item index="0" class="java.lang.String" itemvalue="configargparse" />
10
+ <item index="1" class="java.lang.String" itemvalue="loguru" />
11
+ <item index="2" class="java.lang.String" itemvalue="gym" />
12
+ <item index="3" class="java.lang.String" itemvalue="timm" />
13
+ <item index="4" class="java.lang.String" itemvalue="open3d" />
14
+ <item index="5" class="java.lang.String" itemvalue="cmx" />
15
+ <item index="6" class="java.lang.String" itemvalue="PyMCubes" />
16
+ </list>
17
+ </value>
18
+ </option>
19
+ </inspection_tool>
20
+ <inspection_tool class="PyPep8Inspection" enabled="true" level="WEAK WARNING" enabled_by_default="true">
21
+ <option name="ignoredErrors">
22
+ <list>
23
+ <option value="E731" />
24
+ </list>
25
+ </option>
26
+ </inspection_tool>
27
+ <inspection_tool class="PyPep8NamingInspection" enabled="true" level="WEAK WARNING" enabled_by_default="true">
28
+ <option name="ignoredErrors">
29
+ <list>
30
+ <option value="N801" />
31
+ </list>
32
+ </option>
33
+ </inspection_tool>
34
+ <inspection_tool class="PyStatementEffectInspection" enabled="false" level="WARNING" enabled_by_default="false" />
35
+ </profile>
36
+ </component>
@@ -0,0 +1,6 @@
1
+ <component name="InspectionProjectProfileManager">
2
+ <settings>
3
+ <option name="USE_PROJECT_PROFILE" value="false" />
4
+ <version value="1.0" />
5
+ </settings>
6
+ </component>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="MarkdownSettings">
4
+ <option name="fileGroupingEnabled" value="true" />
5
+ </component>
6
+ </project>
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="Black">
4
+ <option name="sdkName" value="Python 3.8 (torch)" />
5
+ </component>
6
+ <component name="ProjectRootManager" version="2" project-jdk-name="uv (params-proto)" project-jdk-type="Python SDK" />
7
+ </project>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectModuleManager">
4
+ <modules>
5
+ <module fileurl="file://$PROJECT_DIR$/.idea/params-proto.iml" filepath="$PROJECT_DIR$/.idea/params-proto.iml" />
6
+ </modules>
7
+ </component>
8
+ </project>
@@ -0,0 +1,19 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module type="PYTHON_MODULE" version="4">
3
+ <component name="NewModuleRootManager">
4
+ <content url="file://$MODULE_DIR$">
5
+ <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
6
+ <excludeFolder url="file://$MODULE_DIR$/.venv" />
7
+ <excludeFolder url="file://$MODULE_DIR$/build" />
8
+ </content>
9
+ <orderEntry type="jdk" jdkName="uv (params-proto)" jdkType="Python SDK" />
10
+ <orderEntry type="sourceFolder" forTests="false" />
11
+ </component>
12
+ <component name="PyDocumentationSettings">
13
+ <option name="format" value="NUMPY" />
14
+ <option name="myDocStringFormat" value="NumPy" />
15
+ </component>
16
+ <component name="TestRunnerService">
17
+ <option name="PROJECT_TEST_RUNNER" value="py.test" />
18
+ </component>
19
+ </module>
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="RuffConfigService">
4
+ <option name="alwaysUseGlobalRuff" value="true" />
5
+ <option name="enableLsp" value="false" />
6
+ <option name="globalRuffExecutablePath" value="/opt/homebrew/bin/ruff" />
7
+ <option name="globalRuffLspExecutablePath" value="/opt/homebrew/bin/ruff-lsp" />
8
+ <option name="ruffConfigPath" value="$PROJECT_DIR$/ruff.toml" />
9
+ <option name="useRuffFormat" value="true" />
10
+ <option name="useRuffLsp" value="true" />
11
+ </component>
12
+ </project>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="VcsDirectoryMappings">
4
+ <mapping directory="" vcs="Git" />
5
+ </component>
6
+ </project>