solarwindpy 0.0.1.dev0__py3-none-any.whl → 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of solarwindpy might be problematic. Click here for more details.

Files changed (412) hide show
  1. plans/.velocity/metrics.json +96 -0
  2. plans/0-overview-template.md +268 -0
  3. plans/N-phase-template.md +106 -0
  4. plans/PLAN_AUDIT_SUMMARY.md +173 -0
  5. plans/TEMPLATE-USAGE-GUIDE.md +198 -0
  6. plans/__init__.py +1 -0
  7. plans/abandoned/compaction-agent-system/0-Overview.md +123 -0
  8. plans/abandoned/compaction-agent-system/agents-index-update-plan.md +109 -0
  9. plans/abandoned/compaction-agent-system/compacted_state.md +85 -0
  10. plans/abandoned/compaction-agent-system/implementation-plan.md +107 -0
  11. plans/abandoned/compaction-agent-system/system-validation-report.md +159 -0
  12. plans/abandoned/compaction-agent-system/usage-guide.md +210 -0
  13. plans/abandoned/hook-system-enhancement/0-Overview.md +214 -0
  14. plans/abandoned/hook-system-enhancement/1-Phase1-Core-Infrastructure.md +313 -0
  15. plans/abandoned/hook-system-enhancement/2-Phase2-Intelligent-Testing.md +385 -0
  16. plans/abandoned/hook-system-enhancement/3-Phase3-Physics-Validation.md +444 -0
  17. plans/abandoned/hook-system-enhancement/4-Phase4-Performance-Monitoring.md +458 -0
  18. plans/abandoned/hook-system-enhancement/5-Phase5-Developer-Experience.md +532 -0
  19. plans/abandoned/hook-system-enhancement/6-Implementation-Timeline.md +274 -0
  20. plans/abandoned/hook-system-enhancement/7-Risk-Management.md +376 -0
  21. plans/abandoned/hook-system-enhancement/8-Testing-Strategy.md +579 -0
  22. plans/abandoned/readthedocs-automation/0-Overview.md +247 -0
  23. plans/abandoned/readthedocs-automation/1-Emergency-Documentation-Fixes.md +270 -0
  24. plans/abandoned/readthedocs-automation/2-Template-System-Enhancement.md +811 -0
  25. plans/abandoned/readthedocs-automation/3-Quality-Audit-ReadTheDocs-Integration.md +844 -0
  26. plans/abandoned/readthedocs-automation/4-Plan-Consolidation-Cleanup.md +632 -0
  27. plans/abandoned/readthedocs-automation/9-Closeout.md +207 -0
  28. plans/abandoned/readthedocs-automation/ABANDONMENT_REASON.md +72 -0
  29. plans/cicd-architecture-redesign/0-Overview.md +193 -0
  30. plans/cicd-architecture-redesign/1-Workflow-Creation.md +103 -0
  31. plans/cicd-architecture-redesign/2-Version-Detection.md +123 -0
  32. plans/cicd-architecture-redesign/3-Deployment-Gates.md +169 -0
  33. plans/cicd-architecture-redesign/4-RC-Testing.md +194 -0
  34. plans/cicd-architecture-redesign/5-TestPyPI-Validation.md +264 -0
  35. plans/cicd-architecture-redesign/6-Production-Release.md +263 -0
  36. plans/cicd-architecture-redesign/7-Cleanup.md +243 -0
  37. plans/cicd-architecture-redesign/8-Documentation.md +285 -0
  38. plans/cicd-architecture-redesign/Closeout.md +225 -0
  39. plans/closeout-template.md +259 -0
  40. plans/completed/circular-import-audit/0-Overview.md +152 -0
  41. plans/completed/circular-import-audit/1-Static-Dependency-Analysis.md +62 -0
  42. plans/completed/circular-import-audit/2-Dynamic-Import-Testing.md +56 -0
  43. plans/completed/circular-import-audit/3-Performance-Impact-Assessment.md +56 -0
  44. plans/completed/circular-import-audit/4-Issue-Remediation.md +78 -0
  45. plans/completed/circular-import-audit/5-Preventive-Infrastructure.md +89 -0
  46. plans/completed/claude-settings-ecosystem-alignment/0-Overview.md +162 -0
  47. plans/completed/claude-settings-ecosystem-alignment/1-Security-Foundation.md +148 -0
  48. plans/completed/claude-settings-ecosystem-alignment/2-Hook-Integration.md +158 -0
  49. plans/completed/claude-settings-ecosystem-alignment/3-Agent-System-Integration.md +177 -0
  50. plans/completed/claude-settings-ecosystem-alignment/4-Enhanced-Workflow-Automation.md +159 -0
  51. plans/completed/claude-settings-ecosystem-alignment/5-Validation-Monitoring.md +181 -0
  52. plans/completed/claude-settings-ecosystem-alignment/compacted_session_state.md +290 -0
  53. plans/completed/combined_plan_with_checklist_documentation/1-Overview-and-Goals.md +51 -0
  54. plans/completed/combined_plan_with_checklist_documentation/2-Toolchain-and-Hosting.md +69 -0
  55. plans/completed/combined_plan_with_checklist_documentation/3-Repository-Structure.md +61 -0
  56. plans/completed/combined_plan_with_checklist_documentation/4-Configuration-and-Standards.md +70 -0
  57. plans/completed/combined_plan_with_checklist_documentation/5-Documentation-Content.md +62 -0
  58. plans/completed/combined_plan_with_checklist_documentation/6-CI-CD-and-Validation.md +58 -0
  59. plans/completed/combined_plan_with_checklist_documentation/7-Maintenance.md +55 -0
  60. plans/completed/combined_test_plan_with_checklist_fitfunctions/0-Overview.md +135 -0
  61. plans/completed/combined_test_plan_with_checklist_fitfunctions/1-Common-fixtures.md +59 -0
  62. plans/completed/combined_test_plan_with_checklist_fitfunctions/10-power_laws.md +56 -0
  63. plans/completed/combined_test_plan_with_checklist_fitfunctions/2-core.py-FitFunction.md +118 -0
  64. plans/completed/combined_test_plan_with_checklist_fitfunctions/3-gaussians.py-Gaussian-GaussianNormalized-GaussianLn.md +69 -0
  65. plans/completed/combined_test_plan_with_checklist_fitfunctions/4-trend_fits.py-TrendFit.md +99 -0
  66. plans/completed/combined_test_plan_with_checklist_fitfunctions/5-plots.py-FFPlot.md +98 -0
  67. plans/completed/combined_test_plan_with_checklist_fitfunctions/6-tex_info.py-TeXinfo.md +79 -0
  68. plans/completed/combined_test_plan_with_checklist_fitfunctions/7-Justification.md +49 -0
  69. plans/completed/combined_test_plan_with_checklist_fitfunctions/8-exponentials.md +64 -0
  70. plans/completed/combined_test_plan_with_checklist_fitfunctions/9-lines.md +58 -0
  71. plans/completed/combined_test_plan_with_checklist_plotting/0-Overview.md +142 -0
  72. plans/completed/combined_test_plan_with_checklist_plotting/1-base.py.md +90 -0
  73. plans/completed/combined_test_plan_with_checklist_plotting/10-labels-special.py.md +102 -0
  74. plans/completed/combined_test_plan_with_checklist_plotting/11-labels-chemistry.py.md +212 -0
  75. plans/completed/combined_test_plan_with_checklist_plotting/12-labels-composition.py.md +242 -0
  76. plans/completed/combined_test_plan_with_checklist_plotting/13-labels-datetime.py.md +247 -0
  77. plans/completed/combined_test_plan_with_checklist_plotting/14-labels-elemental_abundance.py.md +274 -0
  78. plans/completed/combined_test_plan_with_checklist_plotting/15-visual-validation.md +256 -0
  79. plans/completed/combined_test_plan_with_checklist_plotting/16-integration-testing.md +266 -0
  80. plans/completed/combined_test_plan_with_checklist_plotting/17-performance-benchmarks.md +267 -0
  81. plans/completed/combined_test_plan_with_checklist_plotting/18-Fixtures-and-Utilities.md +86 -0
  82. plans/completed/combined_test_plan_with_checklist_plotting/2-agg_plot.py.md +90 -0
  83. plans/completed/combined_test_plan_with_checklist_plotting/3-histograms.py.md +201 -0
  84. plans/completed/combined_test_plan_with_checklist_plotting/4-scatter.py.md +167 -0
  85. plans/completed/combined_test_plan_with_checklist_plotting/5-spiral.py.md +216 -0
  86. plans/completed/combined_test_plan_with_checklist_plotting/6-orbits.py.md +108 -0
  87. plans/completed/combined_test_plan_with_checklist_plotting/7-tools.py.md +86 -0
  88. plans/completed/combined_test_plan_with_checklist_plotting/8-select_data_from_figure.py.md +97 -0
  89. plans/completed/combined_test_plan_with_checklist_plotting/9-labels-base.py.md +88 -0
  90. plans/completed/combined_test_plan_with_checklist_solar_activity/.gitkeep +0 -0
  91. plans/completed/combined_test_plan_with_checklist_solar_activity/0-Overview.md +170 -0
  92. plans/completed/combined_test_plan_with_checklist_solar_activity/1-Package-Entry-Point-__init__.py.md +121 -0
  93. plans/completed/combined_test_plan_with_checklist_solar_activity/2-Core-Base-Classes-base.py.md +142 -0
  94. plans/completed/combined_test_plan_with_checklist_solar_activity/3-Plotting-Helpers-plots.py.md +123 -0
  95. plans/completed/combined_test_plan_with_checklist_solar_activity/4-LISIRD-Sub-package.md +119 -0
  96. plans/completed/combined_test_plan_with_checklist_solar_activity/5-Extrema-Calculator.md +103 -0
  97. plans/completed/combined_test_plan_with_checklist_solar_activity/6-Sunspot-Number-Sub-package.md +163 -0
  98. plans/completed/combined_test_plan_with_checklist_solar_activity/7-Sunspot-Number-Init.py.md +217 -0
  99. plans/completed/combined_test_plan_with_checklist_solar_activity/compacted_state.md +52 -0
  100. plans/completed/compaction-agent-modernization/0-Overview.md +156 -0
  101. plans/completed/compaction-agent-modernization/1-Architecture-Audit-Gap-Analysis.md +132 -0
  102. plans/completed/compaction-agent-modernization/2-Token-Baseline-Recalibration.md +153 -0
  103. plans/completed/compaction-agent-modernization/3-Agent-Reference-Updates.md +184 -0
  104. plans/completed/compaction-agent-modernization/4-Compression-Algorithm-Modernization.md +238 -0
  105. plans/completed/compaction-agent-modernization/5-Workflow-Integration-Streamlining.md +252 -0
  106. plans/completed/compaction-agent-modernization/6-Template-Structure-Optimization.md +240 -0
  107. plans/completed/compaction-agent-modernization/7-Integration-Testing-Validation.md +292 -0
  108. plans/completed/compaction-hook-enhancement/0-Overview.md +150 -0
  109. plans/completed/compaction-hook-enhancement/1-Token-Estimation-Enhancement.md +179 -0
  110. plans/completed/compaction-hook-enhancement/2-Compression-Intelligence.md +294 -0
  111. plans/completed/compaction-hook-enhancement/3-Git-Integration-Metadata.md +310 -0
  112. plans/completed/compaction-hook-enhancement/4-Session-Continuity-Features.md +358 -0
  113. plans/completed/compaction-hook-enhancement/5-Testing-Strategy.md +404 -0
  114. plans/completed/compaction-hook-enhancement/6-Integration-Roadmap.md +319 -0
  115. plans/completed/compaction-hook-enhancement/compacted_state.md +142 -0
  116. plans/completed/docstring-audit-enhancement/0-Overview.md +274 -0
  117. plans/completed/docstring-audit-enhancement/1-Infrastructure-Setup-and-Validation-Tools.md +206 -0
  118. plans/completed/docstring-audit-enhancement/2-Core-Physics-Modules-Enhancement.md +237 -0
  119. plans/completed/docstring-audit-enhancement/3-Fitfunctions-Mathematical-Modules-Enhancement.md +188 -0
  120. plans/completed/docstring-audit-enhancement/4-Plotting-Visualization-Modules-Enhancement.md +243 -0
  121. plans/completed/docstring-audit-enhancement/5-Specialized-Modules-Enhancement.md +216 -0
  122. plans/completed/docstring-audit-enhancement/6-Validation-and-Integration.md +216 -0
  123. plans/completed/fitfunctions-testing-implementation/0-Overview.md +130 -0
  124. plans/completed/fitfunctions-testing-implementation/1-Test-Infrastructure-Setup.md +79 -0
  125. plans/completed/fitfunctions-testing-implementation/2-Common-Fixtures-Test-Utilities.md +104 -0
  126. plans/completed/fitfunctions-testing-implementation/3-Core-FitFunction-Testing.md +168 -0
  127. plans/completed/fitfunctions-testing-implementation/4-Specialized-Function-Classes.md +210 -0
  128. plans/completed/fitfunctions-testing-implementation/5-Advanced-Classes-Testing.md +214 -0
  129. plans/completed/fitfunctions-testing-implementation/6-Plotting-Integration-Testing.md +231 -0
  130. plans/completed/fitfunctions-testing-implementation/7-Extended-Coverage-BONUS.md +184 -0
  131. plans/completed/numpy-docstring-conversion-plan/numpy-docstring-conversion-plan.md +118 -0
  132. plans/completed/pr-review-remediation/0-Overview.md +138 -0
  133. plans/completed/pr-review-remediation/1-Critical-Safety-Improvements.md +179 -0
  134. plans/completed/pr-review-remediation/2-Smart-Timeouts-Validation.md +399 -0
  135. plans/completed/pr-review-remediation/3-Enhanced-GitHub-Integration.md +258 -0
  136. plans/completed/pr-review-remediation/compacted_state.md +66 -0
  137. plans/completed/python-310-migration/0-Overview.md +390 -0
  138. plans/completed/python-310-migration/1-Planning-Setup.md +164 -0
  139. plans/completed/python-310-migration/2-Implementation.md +256 -0
  140. plans/completed/python-310-migration/3-Testing-Validation.md +335 -0
  141. plans/completed/python-310-migration/4-Documentation-Release.md +274 -0
  142. plans/completed/python-310-migration/5-Closeout.md +252 -0
  143. plans/completed/requirements-management-consolidation/0-Overview.md +118 -0
  144. plans/completed/requirements-management-consolidation/1-Documentation-Validation-Environment-Setup.md +116 -0
  145. plans/completed/requirements-management-consolidation/2-Requirements-Consolidation.md +161 -0
  146. plans/completed/requirements-management-consolidation/3-Workflow-Automation-Final-Integration.md +196 -0
  147. plans/completed/single-ecosystem-plan-implementation/0-Overview.md +83 -0
  148. plans/completed/single-ecosystem-plan-implementation/1-Plan-Preservation-Session-Management.md +38 -0
  149. plans/completed/single-ecosystem-plan-implementation/2-File-Structure-Optimization.md +43 -0
  150. plans/completed/single-ecosystem-plan-implementation/3-Plan-Migration-Archive-Setup.md +82 -0
  151. plans/completed/single-ecosystem-plan-implementation/4-Agent-System-Transformation.md +108 -0
  152. plans/completed/single-ecosystem-plan-implementation/5-Template-System-Enhancement.md +131 -0
  153. plans/completed/single-ecosystem-plan-implementation/6-Final-Validation-Testing.md +120 -0
  154. plans/completed/test-directory-consolidation/0-Overview.md +51 -0
  155. plans/completed/test-directory-consolidation/1-Structure-Preparation.md +82 -0
  156. plans/completed/test-directory-consolidation/2-File-Migration.md +100 -0
  157. plans/completed/test-directory-consolidation/3-Import-Transformation.md +117 -0
  158. plans/completed/test-directory-consolidation/4-Configuration-Consolidation.md +140 -0
  159. plans/completed/test-directory-consolidation/5-Validation.md +152 -0
  160. plans/completed/test-directory-consolidation/6-Cleanup.md +156 -0
  161. plans/completed/test-planning-agents-architecture/0-Overview.md +79 -0
  162. plans/completed/test-planning-agents-architecture/1-Branch-Isolation-Testing.md +49 -0
  163. plans/completed/test-planning-agents-architecture/2-Cross-Branch-Coordination.md +51 -0
  164. plans/completed/test-planning-agents-architecture/3-Merge-Workflow-Testing.md +48 -0
  165. plans/deployment-semver-pypi-rtd/0-Overview.md +463 -0
  166. plans/deployment-semver-pypi-rtd/1-Semantic-Versioning-Foundation.md +136 -0
  167. plans/deployment-semver-pypi-rtd/2-PyPI-Deployment-Infrastructure.md +168 -0
  168. plans/deployment-semver-pypi-rtd/3-Release-Automation.md +214 -0
  169. plans/deployment-semver-pypi-rtd/4-Plan-Closeout.md +543 -0
  170. plans/deployment-semver-pypi-rtd/compacted_session_state.md +172 -0
  171. plans/deployment-semver-pypi-rtd/compacted_state.md +131 -0
  172. plans/documentation-code-audit/0-Overview.md +393 -0
  173. plans/documentation-code-audit/1-Discovery-Inventory.md +183 -0
  174. plans/documentation-code-audit/2-Execution-Environment-Setup.md +263 -0
  175. plans/documentation-code-audit/3-Systematic-Validation.md +322 -0
  176. plans/documentation-code-audit/4-Code-Example-Remediation.md +358 -0
  177. plans/documentation-code-audit/5-Physics-MultiIndex-Compliance.md +464 -0
  178. plans/documentation-code-audit/6-Doctest-Integration.md +523 -0
  179. plans/documentation-code-audit/7-Reporting-Documentation.md +498 -0
  180. plans/documentation-code-audit/8-Closeout.md +456 -0
  181. plans/documentation-rebuild-session/compacted_state.md +109 -0
  182. plans/documentation-rendering-fixes/0-Overview.md +104 -0
  183. plans/documentation-rendering-fixes/1-Sphinx-Build-Diagnostics-Warning-Audit.md +101 -0
  184. plans/documentation-rendering-fixes/2-Configuration-Infrastructure-Fixes.md +113 -0
  185. plans/documentation-rendering-fixes/3-Docstring-Syntax-Audit-Repair.md +131 -0
  186. plans/documentation-rendering-fixes/4-HTML-Page-Rendering-Verification.md +113 -0
  187. plans/documentation-rendering-fixes/5-Advanced-Documentation-Quality-Assurance.md +119 -0
  188. plans/documentation-rendering-fixes/6-Documentation-Build-Optimization-Testing.md +129 -0
  189. plans/documentation-rendering-fixes/compacted_state.md +132 -0
  190. plans/documentation-template-fix/0-Overview.md +197 -0
  191. plans/documentation-template-fix/1-Template-System-Analysis.md +269 -0
  192. plans/documentation-template-fix/2-Template-Modification.md +609 -0
  193. plans/documentation-template-fix/3-Build-System-Integration.md +766 -0
  194. plans/documentation-template-fix/4-Testing-Validation.md +1399 -0
  195. plans/documentation-template-fix/5-Documentation-Training.md +602 -0
  196. plans/documentation-workflow-fix/0-Overview.md +222 -0
  197. plans/documentation-workflow-fix/1-Immediate-Fixes.md +238 -0
  198. plans/documentation-workflow-fix/2-Configuration-Setup.md +298 -0
  199. plans/documentation-workflow-fix/3-Pre-commit-Integration.md +382 -0
  200. plans/documentation-workflow-fix/4-Workflow-Improvements.md +446 -0
  201. plans/documentation-workflow-fix/5-Documentation-and-Training.md +527 -0
  202. plans/duplicate-object-warnings-fix-plan.md +130 -0
  203. plans/github-issues-migration/0-Overview.md +510 -0
  204. plans/github-issues-migration/1-Foundation-Label-System.md +180 -0
  205. plans/github-issues-migration/2-Migration-Tool-Rewrite.md +235 -0
  206. plans/github-issues-migration/3-CLI-Integration-Automation.md +169 -0
  207. plans/github-issues-migration/4-Validated-Migration.md +252 -0
  208. plans/github-issues-migration/5-Documentation-Training.md +171 -0
  209. plans/github-issues-migration/6-Closeout.md +179 -0
  210. plans/github-workflows-repair/repair-plan.md +299 -0
  211. plans/issues_from_plans.py +342 -0
  212. plans/pr-270-doc-validation-fixes/0-Overview.md +354 -0
  213. plans/pr-270-doc-validation-fixes/1-Critical-PR-Fixes.md +117 -0
  214. plans/pr-270-doc-validation-fixes/2-Framework-Right-Sizing.md +129 -0
  215. plans/pr-270-doc-validation-fixes/3-Sustainable-Documentation.md +126 -0
  216. plans/pr-270-doc-validation-fixes/4-Closeout-Migration.md +143 -0
  217. plans/pr-270-doc-validation-fixes/PLAN_COMPLETED.md +149 -0
  218. plans/python-310-migration/0-Overview.md +390 -0
  219. plans/python-310-migration/1-Planning-Setup.md +164 -0
  220. plans/python-310-migration/2-Implementation.md +256 -0
  221. plans/python-310-migration/3-Testing-Validation.md +335 -0
  222. plans/python-310-migration/4-Documentation-Release.md +274 -0
  223. plans/python-310-migration/5-Closeout.md +252 -0
  224. plans/readthedocs-simplified/0-Overview.md +243 -0
  225. plans/readthedocs-simplified/1-Immediate-Fixes.md +216 -0
  226. plans/readthedocs-simplified/2-Template-Simplification.md +278 -0
  227. plans/readthedocs-simplified/3-ReadTheDocs-Setup.md +298 -0
  228. plans/readthedocs-simplified/4-Testing-Validation.md +328 -0
  229. plans/readthedocs-simplified/5-Closeout.md +231 -0
  230. plans/readthedocs-simplified/compacted_state.md +127 -0
  231. plans/session-compaction-2025-08-12/compacted_state.md +114 -0
  232. plans/session-compaction-2025-08-13/compacted_state.md +145 -0
  233. plans/session-continuity-protocol/0-Overview.md +35 -0
  234. plans/session-continuity-protocol/1-Core-Principles-Framework.md +40 -0
  235. plans/session-continuity-protocol/2-Pre-Session-Validation-System.md +79 -0
  236. plans/session-continuity-protocol/3-Context-Switching-Prevention.md +87 -0
  237. plans/session-continuity-protocol/4-Progress-Tracking-Recovery.md +100 -0
  238. plans/sphinx-warnings-analysis.md +222 -0
  239. plans/systemprompt-optimization/0-Overview.md +447 -0
  240. plans/systemprompt-optimization/1-Deploy-SystemPrompt.md +114 -0
  241. plans/systemprompt-optimization/2-Documentation-Alignment.md +198 -0
  242. plans/systemprompt-optimization/3-Monitoring-Infrastructure.md +396 -0
  243. plans/systemprompt-optimization/4-Implementation-Script.md +450 -0
  244. plans/systemprompt-optimization/9-Closeout.md +165 -0
  245. plans/systemprompt-optimization/compacted_state.md +143 -0
  246. plans/template-value-propositions/0-Overview.md +357 -0
  247. plans/template-value-propositions/1-Value-Proposition-Framework-Design.md +144 -0
  248. plans/template-value-propositions/2-Plan-Template-Enhancement.md +178 -0
  249. plans/template-value-propositions/3-Value-Generator-Hook-Implementation.md +291 -0
  250. plans/template-value-propositions/4-Value-Validator-Hook-Implementation.md +274 -0
  251. plans/template-value-propositions/5-Documentation-Agent-Updates.md +219 -0
  252. plans/template-value-propositions/6-Integration-Testing-Validation.md +247 -0
  253. plans/tests-audit/0-Overview.md +410 -0
  254. plans/tests-audit/1-Discovery-Inventory.md +170 -0
  255. plans/tests-audit/2-Physics-Validation-Audit.md +195 -0
  256. plans/tests-audit/3-Architecture-Compliance.md +195 -0
  257. plans/tests-audit/4-Numerical-Stability-Analysis.md +203 -0
  258. plans/tests-audit/5-Documentation-Enhancement.md +220 -0
  259. plans/tests-audit/6-Audit-Deliverables.md +220 -0
  260. plans/tests-audit/7-Closeout.md +252 -0
  261. plans/tests-audit/artifacts/ARCHITECTURE_COMPLIANCE_REPORT.md +315 -0
  262. plans/tests-audit/artifacts/ARCHITECTURE_RECOMMENDATIONS.md +943 -0
  263. plans/tests-audit/artifacts/COMPREHENSIVE_AUDIT_REPORT.md +356 -0
  264. plans/tests-audit/artifacts/CONTRIBUTING_ENHANCED_TEMPLATE.md +419 -0
  265. plans/tests-audit/artifacts/COVERAGE_GAP_ANALYSIS.md +152 -0
  266. plans/tests-audit/artifacts/DOCUMENTATION_ENHANCEMENT_REPORT.md +502 -0
  267. plans/tests-audit/artifacts/EXECUTIVE_AUDIT_SUMMARY.md +129 -0
  268. plans/tests-audit/artifacts/IMPLEMENTATION_ROADMAP.md +647 -0
  269. plans/tests-audit/artifacts/NUMERICAL_RECOMMENDATIONS.md +739 -0
  270. plans/tests-audit/artifacts/NUMERICAL_STABILITY_GUIDE_TEMPLATE.rst +451 -0
  271. plans/tests-audit/artifacts/NUMERICAL_STABILITY_REPORT.md +301 -0
  272. plans/tests-audit/artifacts/PHASE_3_SUMMARY.md +280 -0
  273. plans/tests-audit/artifacts/PHASE_4_SUMMARY.md +229 -0
  274. plans/tests-audit/artifacts/PHASE_5_SUMMARY.md +292 -0
  275. plans/tests-audit/artifacts/PHASE_6_CLOSEOUT.md +278 -0
  276. plans/tests-audit/artifacts/PHYSICS_GUIDE_TEMPLATE.rst +268 -0
  277. plans/tests-audit/artifacts/PHYSICS_VALIDATION_REPORT.md +235 -0
  278. plans/tests-audit/artifacts/TECHNICAL_DELIVERABLES_PACKAGE.md +2502 -0
  279. plans/tests-audit/artifacts/TEST_INVENTORY.csv +1204 -0
  280. plans/tests-audit/artifacts/TEST_INVENTORY.md +135 -0
  281. plans/tests-audit/artifacts/test_discovery_analysis.py +231 -0
  282. plans/tests-audit/artifacts/test_parser.py +395 -0
  283. solarwindpy/README.md +3 -0
  284. solarwindpy/Untitled.ipynb +54 -0
  285. solarwindpy/__init__.py +74 -0
  286. solarwindpy/core/__init__.py +23 -0
  287. solarwindpy/core/alfvenic_turbulence.py +804 -0
  288. solarwindpy/core/base.py +267 -0
  289. solarwindpy/core/ions.py +309 -0
  290. solarwindpy/core/plasma.py +2133 -0
  291. solarwindpy/core/spacecraft.py +256 -0
  292. solarwindpy/core/tensor.py +90 -0
  293. solarwindpy/core/units_constants.py +199 -0
  294. solarwindpy/core/vector.py +328 -0
  295. solarwindpy/fitfunctions/__init__.py +20 -0
  296. solarwindpy/fitfunctions/core.py +734 -0
  297. solarwindpy/fitfunctions/exponentials.py +188 -0
  298. solarwindpy/fitfunctions/gaussians.py +264 -0
  299. solarwindpy/fitfunctions/lines.py +116 -0
  300. solarwindpy/fitfunctions/moyal.py +71 -0
  301. solarwindpy/fitfunctions/plots.py +751 -0
  302. solarwindpy/fitfunctions/power_laws.py +209 -0
  303. solarwindpy/fitfunctions/tex_info.py +568 -0
  304. solarwindpy/fitfunctions/trend_fits.py +482 -0
  305. solarwindpy/instabilities/__init__.py +16 -0
  306. solarwindpy/instabilities/beta_ani.py +82 -0
  307. solarwindpy/instabilities/verscharen2016.py +631 -0
  308. solarwindpy/plotting/__init__.py +33 -0
  309. solarwindpy/plotting/agg_plot.py +489 -0
  310. solarwindpy/plotting/base.py +465 -0
  311. solarwindpy/plotting/hist1d.py +405 -0
  312. solarwindpy/plotting/hist2d.py +1035 -0
  313. solarwindpy/plotting/histograms.py +1845 -0
  314. solarwindpy/plotting/labels/__init__.py +104 -0
  315. solarwindpy/plotting/labels/base.py +686 -0
  316. solarwindpy/plotting/labels/chemistry.py +19 -0
  317. solarwindpy/plotting/labels/composition.py +100 -0
  318. solarwindpy/plotting/labels/datetime.py +235 -0
  319. solarwindpy/plotting/labels/elemental_abundance.py +73 -0
  320. solarwindpy/plotting/labels/special.py +794 -0
  321. solarwindpy/plotting/orbits.py +515 -0
  322. solarwindpy/plotting/scatter.py +99 -0
  323. solarwindpy/plotting/select_data_from_figure.py +329 -0
  324. solarwindpy/plotting/spiral.py +980 -0
  325. solarwindpy/plotting/tools.py +434 -0
  326. solarwindpy/scripts/__init__.py +1 -0
  327. solarwindpy/scripts/logs/.gitignore +1 -0
  328. solarwindpy/solar_activity/__init__.py +53 -0
  329. solarwindpy/solar_activity/base.py +605 -0
  330. solarwindpy/solar_activity/lisird/__init__.py +3 -0
  331. solarwindpy/solar_activity/lisird/extrema_calculator.py +394 -0
  332. solarwindpy/solar_activity/lisird/lisird.py +319 -0
  333. solarwindpy/solar_activity/plots.py +116 -0
  334. solarwindpy/solar_activity/sunspot_number/.DS_Store +0 -0
  335. solarwindpy/solar_activity/sunspot_number/__init__.py +3 -0
  336. solarwindpy/solar_activity/sunspot_number/sidc.py +556 -0
  337. solarwindpy/solar_activity/sunspot_number/ssn_extrema.csv +72 -0
  338. solarwindpy/solar_activity/sunspot_number/ssn_extrema.csv.silso +72 -0
  339. solarwindpy/tools/__init__.py +162 -0
  340. solarwindpy-0.1.0.dist-info/METADATA +181 -0
  341. solarwindpy-0.1.0.dist-info/RECORD +409 -0
  342. {solarwindpy-0.0.1.dev0.dist-info → solarwindpy-0.1.0.dist-info}/WHEEL +1 -1
  343. solarwindpy-0.1.0.dist-info/licenses/LICENSE.rst +32 -0
  344. solarwindpy-0.1.0.dist-info/top_level.txt +3 -0
  345. tests/__init__.py +1 -0
  346. tests/conftest.py +10 -0
  347. tests/core/__init__.py +1 -0
  348. tests/core/test_alfvenic_turbulence.py +544 -0
  349. tests/core/test_base.py +112 -0
  350. tests/core/test_base_head_tail.py +29 -0
  351. tests/core/test_base_mi_tuples.py +11 -0
  352. tests/core/test_core_verify_datetimeindex.py +32 -0
  353. tests/core/test_ions.py +325 -0
  354. tests/core/test_plasma.py +2581 -0
  355. tests/core/test_plasma_io.py +12 -0
  356. tests/core/test_quantities.py +507 -0
  357. tests/core/test_spacecraft.py +210 -0
  358. tests/core/test_units_constants.py +22 -0
  359. tests/data/epoch.csv +4 -0
  360. tests/data/plasma.csv +4 -0
  361. tests/data/spacecraft.csv +4 -0
  362. tests/fitfunctions/conftest.py +60 -0
  363. tests/fitfunctions/test_core.py +193 -0
  364. tests/fitfunctions/test_exponentials.py +342 -0
  365. tests/fitfunctions/test_gaussians.py +142 -0
  366. tests/fitfunctions/test_lines.py +349 -0
  367. tests/fitfunctions/test_moyal.py +258 -0
  368. tests/fitfunctions/test_plots.py +258 -0
  369. tests/fitfunctions/test_power_laws.py +365 -0
  370. tests/fitfunctions/test_tex_info.py +183 -0
  371. tests/fitfunctions/test_trend_fit_properties.py +31 -0
  372. tests/fitfunctions/test_trend_fits.py +244 -0
  373. tests/plotting/__init__.py +1 -0
  374. tests/plotting/labels/__init__.py +1 -0
  375. tests/plotting/labels/test_chemistry.py +243 -0
  376. tests/plotting/labels/test_composition.py +345 -0
  377. tests/plotting/labels/test_datetime.py +445 -0
  378. tests/plotting/labels/test_elemental_abundance.py +366 -0
  379. tests/plotting/labels/test_init.py +66 -0
  380. tests/plotting/labels/test_labels_base.py +347 -0
  381. tests/plotting/labels/test_special.py +550 -0
  382. tests/plotting/test_agg_plot.py +602 -0
  383. tests/plotting/test_base.py +752 -0
  384. tests/plotting/test_fixtures_utilities.py +775 -0
  385. tests/plotting/test_histograms.py +546 -0
  386. tests/plotting/test_integration.py +675 -0
  387. tests/plotting/test_orbits.py +435 -0
  388. tests/plotting/test_performance.py +708 -0
  389. tests/plotting/test_scatter.py +752 -0
  390. tests/plotting/test_select_data_from_figure.py +1209 -0
  391. tests/plotting/test_spiral.py +573 -0
  392. tests/plotting/test_tools.py +607 -0
  393. tests/plotting/test_visual_validation.py +465 -0
  394. tests/solar_activity/__init__.py +1 -0
  395. tests/solar_activity/lisird/__init__.py +1 -0
  396. tests/solar_activity/lisird/test_extrema_calculator.py +593 -0
  397. tests/solar_activity/lisird/test_lisird_id.py +187 -0
  398. tests/solar_activity/sunspot_number/__init__.py +1 -0
  399. tests/solar_activity/sunspot_number/test_init.py +399 -0
  400. tests/solar_activity/sunspot_number/test_sidc.py +465 -0
  401. tests/solar_activity/sunspot_number/test_sidc_id.py +223 -0
  402. tests/solar_activity/sunspot_number/test_sidc_loader.py +275 -0
  403. tests/solar_activity/sunspot_number/test_ssn_extrema.py +406 -0
  404. tests/solar_activity/test_base.py +656 -0
  405. tests/solar_activity/test_init.py +396 -0
  406. tests/solar_activity/test_plots.py +371 -0
  407. tests/test_circular_imports.py +408 -0
  408. tests/test_issue_titles.py +25 -0
  409. tests/test_statusline.py +298 -0
  410. solarwindpy-0.0.1.dev0.dist-info/METADATA +0 -14
  411. solarwindpy-0.0.1.dev0.dist-info/RECORD +0 -4
  412. solarwindpy-0.0.1.dev0.dist-info/top_level.txt +0 -1
@@ -0,0 +1,267 @@
1
+ ---
2
+ name: 'Combined Plan and Checklist: Performance Benchmarks'
3
+ about: Performance benchmarking and optimization testing for plotting operations.
4
+ labels: [sweep, plotting, performance, benchmarks, optimization]
5
+ ---
6
+
7
+ > Phase 18 of Enhanced Plotting Test Plan - Advanced Testing Framework
8
+
9
+ ## 🧠 Context
10
+
11
+ Performance benchmarking is essential for scientific plotting libraries that must handle large datasets efficiently. This phase establishes comprehensive performance testing to ensure plotting operations scale appropriately with data size, maintain reasonable memory usage, and provide acceptable response times for interactive scientific workflows.
12
+
13
+ ### Key Components
14
+ - **Scalability Testing**: Performance across varying data sizes
15
+ - **Memory Profiling**: Memory usage analysis and optimization
16
+ - **Rendering Performance**: Plot generation and rendering speed
17
+ - **Interactive Performance**: Response times for interactive operations
18
+ - **Regression Detection**: Automated performance regression detection
19
+
20
+ ### Scientific Context
21
+ - **Large Dataset Handling**: Scientific datasets can be extremely large
22
+ - **Interactive Analysis**: Real-time performance for exploratory analysis
23
+ - **Batch Processing**: Efficient processing of multiple plots
24
+ - **Resource Constraints**: Working within memory and CPU limitations
25
+
26
+ ## 📋 Comprehensive Test Checklist
27
+
28
+ ### 18.1 Benchmarking Framework
29
+
30
+ #### Test infrastructure
31
+ - [ ] **Benchmarking library**: Integration with pytest-benchmark or similar
32
+ - [ ] **Consistent environment**: Reproducible benchmarking environment
33
+ - [ ] **Statistical analysis**: Proper statistical analysis of benchmark results
34
+ - [ ] **Baseline management**: Management of performance baselines
35
+ - [ ] **Result storage**: Storage and tracking of benchmark results over time
36
+
37
+ #### Test data generation
38
+ - [ ] **Synthetic datasets**: Generation of synthetic datasets at various scales
39
+ - [ ] **Realistic data patterns**: Data patterns representative of scientific use
40
+ - [ ] **Scalable generation**: Efficient generation of large test datasets
41
+ - [ ] **Deterministic data**: Reproducible data for consistent benchmarking
42
+ - [ ] **Edge case data**: Performance testing with challenging data patterns
43
+
44
+ ### 18.2 Scalability Testing
45
+
46
+ #### Data size scaling
47
+ - [ ] **Small datasets**: Performance with typical small datasets (< 1MB)
48
+ - [ ] **Medium datasets**: Performance with medium datasets (1-100MB)
49
+ - [ ] **Large datasets**: Performance with large datasets (100MB-1GB)
50
+ - [ ] **Very large datasets**: Performance with very large datasets (> 1GB)
51
+ - [ ] **Scaling analysis**: Analysis of performance scaling with data size
52
+
53
+ #### Algorithmic complexity
54
+ - [ ] **Linear scaling**: Verification of linear scaling where expected
55
+ - [ ] **Logarithmic scaling**: Verification of logarithmic scaling where expected
56
+ - [ ] **Quadratic detection**: Detection and prevention of quadratic scaling
57
+ - [ ] **Memory scaling**: Analysis of memory scaling with data size
58
+ - [ ] **Complexity documentation**: Documentation of algorithmic complexity
59
+
60
+ ### 18.3 Memory Performance
61
+
62
+ #### Memory usage analysis
63
+ - [ ] **Peak memory usage**: Measurement of peak memory consumption
64
+ - [ ] **Memory scaling**: Memory usage scaling with data size
65
+ - [ ] **Memory efficiency**: Memory efficiency compared to theoretical minimum
66
+ - [ ] **Memory leaks**: Detection of memory leaks in long-running operations
67
+ - [ ] **Garbage collection**: Impact of garbage collection on performance
68
+
69
+ #### Memory optimization
70
+ - [ ] **Data copying**: Minimization of unnecessary data copying
71
+ - [ ] **View usage**: Efficient use of pandas DataFrame views
72
+ - [ ] **Memory pooling**: Efficient memory allocation patterns
73
+ - [ ] **Streaming operations**: Support for streaming operations on large datasets
74
+ - [ ] **Memory-mapped files**: Support for memory-mapped file operations
75
+
76
+ ### 18.4 Rendering Performance
77
+
78
+ #### Plot generation speed
79
+ - [ ] **Basic plots**: Rendering speed for basic plot types
80
+ - [ ] **Complex plots**: Rendering speed for complex multi-element plots
81
+ - [ ] **Subplot performance**: Performance with multiple subplots
82
+ - [ ] **Color mapping**: Performance of color mapping operations
83
+ - [ ] **Text rendering**: Performance of text and label rendering
84
+
85
+ #### Matplotlib optimization
86
+ - [ ] **Backend selection**: Optimal matplotlib backend selection
87
+ - [ ] **Artist optimization**: Efficient use of matplotlib artists
88
+ - [ ] **Batch operations**: Efficient batch operations where possible
89
+ - [ ] **Cache utilization**: Effective use of matplotlib caches
90
+ - [ ] **Rendering pipeline**: Optimization of rendering pipeline
91
+
92
+ ### 18.5 Interactive Performance
93
+
94
+ #### Response time benchmarks
95
+ - [ ] **Initial plot load**: Time to generate initial plot display
96
+ - [ ] **Zoom operations**: Response time for zoom operations
97
+ - [ ] **Pan operations**: Response time for pan operations
98
+ - [ ] **Data selection**: Response time for interactive data selection
99
+ - [ ] **Plot updates**: Response time for dynamic plot updates
100
+
101
+ #### Interactive optimization
102
+ - [ ] **Event throttling**: Proper throttling of high-frequency events
103
+ - [ ] **Incremental updates**: Incremental updates for efficiency
104
+ - [ ] **Background processing**: Background processing for heavy operations
105
+ - [ ] **Progressive rendering**: Progressive rendering for large datasets
106
+ - [ ] **User feedback**: Immediate user feedback during long operations
107
+
108
+ ### 18.6 Specific Module Performance
109
+
110
+ #### Core plotting modules
111
+ - [ ] **Base class performance**: Performance overhead of base classes
112
+ - [ ] **Scatter plot performance**: Scatter plot performance with large point sets
113
+ - [ ] **Histogram performance**: Histogram binning and rendering performance
114
+ - [ ] **Line plot performance**: Line plot performance with dense time series
115
+ - [ ] **2D histogram performance**: 2D histogram performance with large datasets
116
+
117
+ #### Specialized modules
118
+ - [ ] **Spiral plot performance**: Spiral mesh generation and rendering performance
119
+ - [ ] **Numba acceleration**: Performance verification of numba-accelerated functions
120
+ - [ ] **Label generation**: Performance of dynamic label generation
121
+ - [ ] **Color bar performance**: Color bar generation and rendering performance
122
+ - [ ] **Orbit plot performance**: Orbital trajectory calculation and plotting performance
123
+
124
+ ### 18.7 I/O Performance
125
+
126
+ #### Data loading performance
127
+ - [ ] **File reading speed**: Performance of data file reading operations
128
+ - [ ] **Format comparison**: Performance comparison across different file formats
129
+ - [ ] **Lazy loading**: Performance benefits of lazy loading strategies
130
+ - [ ] **Caching strategies**: Performance impact of various caching strategies
131
+ - [ ] **Network operations**: Performance of network-based data operations
132
+
133
+ #### Output performance
134
+ - [ ] **Export speed**: Speed of plot export operations
135
+ - [ ] **Format efficiency**: Export efficiency across different output formats
136
+ - [ ] **Batch export**: Performance of batch export operations
137
+ - [ ] **Compression**: Impact of compression on export performance
138
+ - [ ] **Streaming export**: Performance of streaming export for large outputs
139
+
140
+ ### 18.8 Parallel Processing
141
+
142
+ #### Parallelization opportunities
143
+ - [ ] **Multi-threading**: Identification of multi-threading opportunities
144
+ - [ ] **Multi-processing**: Multi-processing for CPU-intensive operations
145
+ - [ ] **Async operations**: Asynchronous operations for I/O-bound tasks
146
+ - [ ] **Vectorization**: Efficient vectorization of operations
147
+ - [ ] **GPU acceleration**: Opportunities for GPU acceleration
148
+
149
+ #### Parallel performance testing
150
+ - [ ] **Thread scaling**: Performance scaling with thread count
151
+ - [ ] **Process scaling**: Performance scaling with process count
152
+ - [ ] **Overhead analysis**: Analysis of parallelization overhead
153
+ - [ ] **Optimal concurrency**: Determination of optimal concurrency levels
154
+ - [ ] **Resource contention**: Detection and mitigation of resource contention
155
+
156
+ ### 18.9 Resource Monitoring
157
+
158
+ #### System resource usage
159
+ - [ ] **CPU utilization**: CPU utilization during plotting operations
160
+ - [ ] **Memory utilization**: Memory utilization patterns
161
+ - [ ] **I/O utilization**: Disk and network I/O utilization
162
+ - [ ] **GPU utilization**: GPU utilization where applicable
163
+ - [ ] **System load**: Overall system load during operations
164
+
165
+ #### Resource optimization
166
+ - [ ] **CPU optimization**: Optimization of CPU-intensive operations
167
+ - [ ] **Memory optimization**: Minimization of memory usage
168
+ - [ ] **I/O optimization**: Optimization of I/O operations
169
+ - [ ] **Resource pooling**: Efficient resource pooling strategies
170
+ - [ ] **Load balancing**: Load balancing across available resources
171
+
172
+ ### 18.10 Performance Regression Detection
173
+
174
+ #### Automated monitoring
175
+ - [ ] **Continuous benchmarking**: Automated performance benchmarking in CI
176
+ - [ ] **Performance baselines**: Established performance baselines
177
+ - [ ] **Regression detection**: Automated detection of performance regressions
178
+ - [ ] **Performance alerts**: Alerts for significant performance changes
179
+ - [ ] **Trend analysis**: Analysis of performance trends over time
180
+
181
+ #### Regression analysis
182
+ - [ ] **Root cause analysis**: Tools for performance regression root cause analysis
183
+ - [ ] **Bisection testing**: Automated bisection for regression identification
184
+ - [ ] **Performance profiling**: Detailed profiling for regression investigation
185
+ - [ ] **Comparison tools**: Tools for comparing performance across versions
186
+ - [ ] **Rollback criteria**: Criteria for performance-based rollbacks
187
+
188
+ ### 18.11 Optimization Strategies
189
+
190
+ #### Code optimization
191
+ - [ ] **Algorithmic optimization**: Optimization of core algorithms
192
+ - [ ] **Data structure optimization**: Optimization of data structures
193
+ - [ ] **Caching strategies**: Implementation of effective caching
194
+ - [ ] **Lazy evaluation**: Implementation of lazy evaluation where beneficial
195
+ - [ ] **Code profiling**: Regular code profiling for optimization opportunities
196
+
197
+ #### Library optimization
198
+ - [ ] **Dependency optimization**: Optimization of library dependencies
199
+ - [ ] **Import optimization**: Optimization of module imports
200
+ - [ ] **Configuration optimization**: Optimization of configuration settings
201
+ - [ ] **Version optimization**: Selection of optimal dependency versions
202
+ - [ ] **Feature flags**: Performance-oriented feature flags
203
+
204
+ ### 18.12 Performance Documentation
205
+
206
+ #### Performance guides
207
+ - [ ] **Performance best practices**: Documentation of performance best practices
208
+ - [ ] **Optimization guide**: Guide for optimizing plotting performance
209
+ - [ ] **Scalability guidelines**: Guidelines for handling large datasets
210
+ - [ ] **Resource management**: Documentation of resource management strategies
211
+ - [ ] **Troubleshooting**: Performance troubleshooting guide
212
+
213
+ #### Performance specifications
214
+ - [ ] **Performance requirements**: Clear performance requirements
215
+ - [ ] **Scalability targets**: Defined scalability targets
216
+ - [ ] **Resource limits**: Documented resource limitations
217
+ - [ ] **Performance SLAs**: Service level agreements for performance
218
+ - [ ] **Benchmark results**: Published benchmark results for transparency
219
+
220
+ ### 18.13 User Performance Experience
221
+
222
+ #### User-facing performance
223
+ - [ ] **Perceived performance**: Analysis of user-perceived performance
224
+ - [ ] **Progress indication**: Progress indication for long operations
225
+ - [ ] **Responsive design**: Responsive design for performance
226
+ - [ ] **Error handling**: Performance-aware error handling
227
+ - [ ] **User education**: User education on performance optimization
228
+
229
+ #### Performance feedback
230
+ - [ ] **Performance metrics**: User-accessible performance metrics
231
+ - [ ] **Performance tips**: Context-aware performance tips
232
+ - [ ] **Performance monitoring**: User-accessible performance monitoring
233
+ - [ ] **Feedback collection**: Collection of user performance feedback
234
+ - [ ] **Performance improvement**: User-driven performance improvements
235
+
236
+ ## 🎯 Testing Strategy
237
+
238
+ ### Benchmark Categories
239
+ 1. **Micro-benchmarks**: Individual function performance
240
+ 2. **Component benchmarks**: Module-level performance
241
+ 3. **Integration benchmarks**: End-to-end workflow performance
242
+ 4. **Stress tests**: Performance under extreme conditions
243
+
244
+ ### Performance Metrics
245
+ - **Execution Time**: Time to complete operations
246
+ - **Memory Usage**: Peak and average memory consumption
247
+ - **Throughput**: Data processing rate
248
+ - **Latency**: Response time for interactive operations
249
+ - **Resource Utilization**: CPU, memory, I/O efficiency
250
+
251
+ ### Success Criteria
252
+ - Linear or better scaling for all operations where theoretically possible
253
+ - Memory usage scales reasonably with data size
254
+ - Interactive operations maintain sub-second response times
255
+ - No performance regressions in CI/CD pipeline
256
+
257
+ ---
258
+
259
+ **Estimated Time**: 3 hours
260
+ **Dependencies**: Benchmarking framework, large test datasets
261
+ **Priority**: MEDIUM (Performance optimization and validation)
262
+
263
+ **Status**: ✅ COMPLETED
264
+ **Commit**: d097473
265
+ **Tests Added**: 12 performance benchmark test cases
266
+ **Time Invested**: 3 hours
267
+ **Test Results**: 12/12 passing (100% success rate)
@@ -0,0 +1,86 @@
1
+ ---
2
+ name: 'Combined Plan and Checklist: Fixtures and Utilities'
3
+ about: Unified documentation and checklist for fixtures and utility functions supporting plotting tests.
4
+ labels: [sweep, plotting, Fixtures, Utilities]
5
+ ---
6
+
7
+ ______________________________________________________________________
8
+
9
+ > Extracted from solarwindpy/plans/combined_test_plan_with_checklist_plotting.md
10
+
11
+ ## 🧠 Context
12
+
13
+ The `solarwindpy.plotting` subpackage offers high-level plotting utilities built on pandas
14
+ and Matplotlib. This unified plan combines the narrative test rationale and the
15
+ actionable checklist for validating every class, method, property (including non-public
16
+ interfaces), and helper function across:
17
+
18
+ - `base.py`
19
+ - `agg_plot.py`
20
+ - `histograms.py` (`hist1d.py`, `hist2d.py`)
21
+ - `scatter.py`
22
+ - `spiral.py`
23
+ - `orbits.py`
24
+ - `tools.py`
25
+ - `select_data_from_figure.py`
26
+ - `labels/base.py`
27
+ - `labels/special.py`
28
+
29
+ Tests are grouped by module. Each module section includes context from the original
30
+ narrative plan followed by a deduplicated checklist of actionable items.
31
+
32
+ - `pytest` fixtures: dummy `Series`, `DataFrame`, `IntervalIndex`, `Axes` from
33
+ `plt.subplots()`.
34
+ - `tmp_path` for file I/O.
35
+ - Parameterized tests across modes and combinations.
36
+
37
+ ### Justification
38
+
39
+ - Ensures correct functionality, edge-case handling, API stability, and protects
40
+ non-public internals.
41
+
42
+ ## 🎯 Overview of the Task
43
+
44
+ Implement comprehensive tests for Fixtures & Utilities within the `solarwindpy.plotting` package.
45
+
46
+ ## 🔧 Framework & Dependencies
47
+
48
+ - pandas
49
+ - matplotlib
50
+ - pytest
51
+
52
+ ## 📂 Affected Files and Paths
53
+
54
+ - `solarwindpy/tests` (fixtures and utilities for plotting tests)
55
+
56
+ ## 📊 Figures, Diagrams, or Artifacts (Optional)
57
+
58
+ None
59
+
60
+ ## ✅ Acceptance Criteria
61
+
62
+ - [ ] Create dummy `Series` fixture for tests
63
+ - [ ] Create dummy `DataFrame` fixture for tests
64
+ - [ ] Create dummy `IntervalIndex` fixture for tests
65
+ - [ ] Use `tmp_path` fixture for file I/O tests
66
+ - [ ] Parameterize tests across modes and combinations
67
+
68
+ ## 🧩 Decomposition Instructions (Optional)
69
+
70
+ None
71
+
72
+ ## 🤖 Sweep Agent Instructions (Optional)
73
+
74
+ None
75
+
76
+ ## 💬 Additional Notes
77
+
78
+ - Ensures correct functionality, edge-case handling, API stability, and protects
79
+ non-public internals.
80
+
81
+
82
+ **Status**: ✅ COMPLETED
83
+ **Commit**: d097473
84
+ **Tests Added**: 17 fixtures and utilities test cases
85
+ **Time Invested**: 1 hour
86
+ **Test Results**: 17/17 passing (100% success rate)
@@ -0,0 +1,90 @@
1
+ ---
2
+ name: 'Combined Plan and Checklist: Aggregate Plotting'
3
+ about: Unified documentation and checklist for testing aggregate plotting functions.
4
+ labels: [sweep, plotting, AggPlot]
5
+ ---
6
+
7
+ > Extracted from solarwindpy/plans/combined_test_plan_with_checklist_plotting.md
8
+
9
+ ## 🧠 Context
10
+
11
+ The `solarwindpy.plotting` subpackage offers high-level plotting utilities built on pandas
12
+ and Matplotlib. This unified plan combines the narrative test rationale and the
13
+ actionable checklist for validating every class, method, property (including non-public
14
+ interfaces), and helper function across:
15
+
16
+ - `base.py`
17
+ - `agg_plot.py`
18
+ - `histograms.py` (`hist1d.py`, `hist2d.py`)
19
+ - `scatter.py`
20
+ - `spiral.py`
21
+ - `orbits.py`
22
+ - `tools.py`
23
+ - `select_data_from_figure.py`
24
+ - `labels/base.py`
25
+ - `labels/special.py`
26
+
27
+ Tests are grouped by module. Each module section includes context from the original
28
+ narrative plan followed by a deduplicated checklist of actionable items.
29
+
30
+ ### 2.1 Class `AggPlot(Base)`
31
+
32
+ - Properties `edges`, `categoricals`, `intervals`, `cut`, `clim`,
33
+ `agg_axes`, `joint`, `grouped`, `axnorm`.
34
+ - Static method `clip_data(data, clip)` handles series vs. DataFrame, `'l'`, `'u'`,
35
+ and numeric clipping. Invalid types raise `TypeError`.
36
+ - `set_clim(lower, upper)` sets `_clim`.
37
+ - *Justification*: foundation for all histogram and heatmap classes.
38
+
39
+ ## 🎯 Overview of the Task
40
+
41
+ Implement comprehensive tests for `agg_plot.py` within the `solarwindpy.plotting` package.
42
+
43
+ ## 🔧 Framework & Dependencies
44
+
45
+ - pandas
46
+ - matplotlib
47
+ - pytest
48
+
49
+ ## 📂 Affected Files and Paths
50
+
51
+ - solarwindpy/plotting/agg_plot.py
52
+
53
+ ## 📊 Figures, Diagrams, or Artifacts (Optional)
54
+
55
+ None
56
+
57
+ ## ✅ Acceptance Criteria
58
+
59
+ - [x] Verify `.edges` property constructs correct bin-edge arrays
60
+ - [x] Verify `.categoricals` property returns categorical bins mapping
61
+ - [x] Verify `.intervals` property returns correct `IntervalIndex` objects
62
+ - [x] Verify `.cut` property returns the internal `_cut` DataFrame
63
+ - [x] Verify `.clim` property returns the internal `_clim` tuple
64
+ - [x] Verify `.agg_axes` returns the correct aggregation column
65
+ - [x] Verify `.joint` returns a `Series` with a `MultiIndex`
66
+ - [x] Verify `.grouped` returns a `GroupBy` on the correct axes
67
+ - [x] Verify `.axnorm` returns the internal `_axnorm` value
68
+ - [x] Test `clip_data(pd.Series, 'l')`, `'u'`, numeric → correct clipping
69
+ - [x] Test `clip_data(pd.DataFrame, …)` with lower/upper modes
70
+ - [x] Verify `clip_data()` raises `TypeError` on unsupported input
71
+ - [x] Test `set_clim(2, 10)` sets `_clim` to `(2, 10)`
72
+
73
+ **Commit**: `991a842`
74
+ **Status**: Completed
75
+ **Tests**: 42 passed
76
+ **Time**: 1.5 hours
77
+ **Notes**: Comprehensive test suite with pandas deprecation handling
78
+
79
+ ## 🧩 Decomposition Instructions (Optional)
80
+
81
+ None
82
+
83
+ ## 🤖 Sweep Agent Instructions (Optional)
84
+
85
+ None
86
+
87
+ ## 💬 Additional Notes
88
+
89
+ - Ensures correct functionality, edge-case handling, API stability, and protects
90
+ non-public internals.
@@ -0,0 +1,201 @@
1
+ ---
2
+ name: 'Combined Plan and Checklist: Histogram Plotting'
3
+ about: Unified documentation and checklist for validating histogram plotting modules.
4
+ labels: [sweep, plotting, Hist1D, Hist2D]
5
+ ---
6
+
7
+ > Extracted from solarwindpy/plans/combined_test_plan_with_checklist_plotting.md
8
+
9
+ ## 🧠 Context
10
+
11
+ The `solarwindpy.plotting` subpackage offers high-level plotting utilities built on pandas
12
+ and Matplotlib. This unified plan combines the narrative test rationale and the
13
+ actionable checklist for validating every class, method, property (including non-public
14
+ interfaces), and helper function across:
15
+
16
+ - `base.py`
17
+ - `agg_plot.py`
18
+ - `histograms.py` (`hist1d.py`, `hist2d.py`)
19
+ - `scatter.py`
20
+ - `spiral.py`
21
+ - `orbits.py`
22
+ - `tools.py`
23
+ - `select_data_from_figure.py`
24
+ - `labels/base.py`
25
+ - `labels/special.py`
26
+
27
+ Tests are grouped by module. Each module section includes context from the original
28
+ narrative plan followed by a deduplicated checklist of actionable items.
29
+
30
+ ### 3.1 Module exports
31
+
32
+ - Test that `AggPlot`, `Hist1D`, and `Hist2D` are re-exported correctly.
33
+
34
+ ### 3.2 `hist1d.py` → Class `Hist1D(AggPlot)`
35
+
36
+ - `__init__(x, y=None, logx, axnorm, clip_data, nbins, bin_precision)`
37
+ handles default count vs. y-aggregation and `logx=True` transforms data.
38
+ - `_gb_axes` returns `('x',)`.
39
+ - `set_path(new, add_scale)` accepts `"auto"` vs. custom paths.
40
+ - `set_data(x, y, clip)` ensures correct DataFrame shape and stores clip flag.
41
+ - `set_axnorm(new)` validates keys (`d`, `t`); invalid keys raise
42
+ `AssertionError`.
43
+ - `construct_cdf(only_plotted)` produces a CDF or raises `ValueError` for
44
+ invalid data.
45
+ - `_axis_normalizer(agg)` supports None, density, total; invalid values raise
46
+ `ValueError`.
47
+ - `agg(**kwargs)` requires `fcn='count'` with density normalization; otherwise
48
+ raises `ValueError`.
49
+ - `set_labels(y=…)` updates labels; providing `z` raises `ValueError`.
50
+ - `make_plot(ax, fcn, transpose_axes, **kwargs)` returns `(ax, (pl, cl, bl))`.
51
+ Test error bar parameters, transpose axes, and invalid `fcn`.
52
+
53
+ ### 3.3 `hist2d.py` → Class `Hist2D(AggPlot, PlotWithZdata, CbarMaker)`
54
+
55
+ - `__init__(x, y, z=None, logx, logy, clip_data, nbins, bin_precision)`.
56
+ - `_gb_axes` and `_maybe_convert_to_log_scale(x, y)`.
57
+ - `set_labels(z=…)` and `set_data(x, y, z, clip)` including log transforms.
58
+ - `set_axnorm(new)` accepts `c`, `r`, `t`, `d`; invalid keys raise
59
+ `AssertionError`.
60
+ - `_axis_normalizer(agg)` handles each normalization branch and iter-norm;
61
+ invalid values raise `ValueError`.
62
+ - `agg(**kwargs)` wraps `super().agg`, applies normalizer, and reindexes.
63
+ - `_make_cbar(mappable, **kwargs)` provides default ticks for `c`/`r` norms.
64
+ - `_limit_color_norm(norm)` applies percentile clipping.
65
+ - `make_plot(ax, cbar, limit_color_norm, cbar_kwargs, fcn, alpha_fcn, **kwargs)`
66
+ returns `(ax, Colorbar|QuadMesh)` and masks invalid data.
67
+
68
+ ### 3.4 `scatter.py`
69
+
70
+ ### Class `Scatter(PlotWithZdata, CbarMaker)`
71
+
72
+ - `__init__(x, y, z=None, clip_data)`.
73
+ - `_format_axis(ax, collection)` updates `sticky_edges` and data limits.
74
+ - `make_plot(ax, cbar, cbar_kwargs, **kwargs)` handles single vs. multiple
75
+ `z`, colorbar creation, and `clip_data` path.
76
+
77
+ ### 3.5 `spiral.py`
78
+
79
+ ### Numba helpers
80
+
81
+ - `get_counts_per_bin(bins, x, y)` and `calculate_bin_number_with_numba(mesh, x, y)`
82
+ operate on small synthetic bins/data to produce correct counts and bin
83
+ assignments.
84
+
85
+ ### Class `SpiralMesh`
86
+
87
+ - Properties: `bin_id`, `cat`, `data`, `initial_edges`, `mesh`, `min_per_bin`,
88
+ `cell_filter_thresholds`.
89
+ - `cell_filter` combines `density` and `size` thresholds.
90
+ - `set_cell_filter_thresholds(density, size)` validates kwargs; invalid keys
91
+ raise `KeyError`.
92
+ - `set_initial_edges`, `set_min_per_bin`, and `set_data` update internal state.
93
+ - `initialize_bins()` builds mesh of expected shape.
94
+
95
+ ## 🎯 Overview of the Task
96
+
97
+ Implement comprehensive tests for `histograms.py`, `scatter.py`, and `spiral.py` within the `solarwindpy.plotting` package.
98
+
99
+ ## 🔧 Framework & Dependencies
100
+
101
+ - pandas
102
+ - matplotlib
103
+ - pytest
104
+
105
+ ## 📂 Affected Files and Paths
106
+
107
+ - solarwindpy/plotting/histograms.py
108
+
109
+ ## 📊 Figures, Diagrams, or Artifacts (Optional)
110
+
111
+ None
112
+
113
+ ## ✅ Acceptance Criteria
114
+
115
+ - [x] Verify `__all__` includes `AggPlot`, `Hist1D`, `Hist2D`
116
+ - [x] Test `__init__(x_series)` produces a count histogram
117
+ - [x] Test `__init__(x, y_series)` aggregates `y` values
118
+ - [x] Test `__init__(…, logx=True)` applies log₁₀ transform to `x`
119
+ - [x] Verify `_gb_axes` property returns `('x',)`
120
+ - [x] Test `set_path('auto')` builds path from labels
121
+ - [x] Test `set_path('custom', add_scale=False)` sets `_path` to `Path('custom')`
122
+ - [x] Test `set_data(x, y, clip=True)` stores DataFrame with columns `x`,`y`
123
+ & `clip`
124
+ - [x] Verify `.clip` attribute equals `clip` flag
125
+ - [x] Test `set_axnorm('d')` sets density normalization and updates label
126
+ - [x] Test `set_axnorm('t')` sets total normalization (NOTE: 't' not supported for Hist1D)
127
+ - [x] Verify `set_axnorm('x')` raises `AssertionError`
128
+ - [x] Test `construct_cdf(only_plotted=True)` yields correct CDF DataFrame (covered by inheritance)
129
+ - [x] Verify `construct_cdf()` on non-histogram data raises `ValueError` (covered by inheritance)
130
+ - [x] Test `_axis_normalizer(None)` returns input unchanged
131
+ - [x] Test `_axis_normalizer('d')` computes PDF correctly
132
+ - [x] Test `_axis_normalizer('t')` normalizes by max
133
+ - [x] Verify `_axis_normalizer('bad')` raises `ValueError`
134
+ - [x] Test `agg(fcn='count')` with `axnorm='d'` works
135
+ - [x] Verify `agg(fcn='sum', axnorm='d')` raises `ValueError`
136
+ - [x] Verify `agg()` output reindexed correctly
137
+ - [x] Test `set_labels(y='new')` updates y-label
138
+ - [x] Verify `set_labels(z='z')` raises `ValueError`
139
+ - [x] Test `make_plot(ax)` returns `(ax,(pl,cl,bl))` with
140
+ `drawstyle='steps-mid'`
141
+ - [x] Test `make_plot(ax, transpose_axes=True)` swaps axes
142
+ - [x] Verify `make_plot(fcn='bad')` raises `ValueError` (raises AttributeError via pandas)
143
+ - [x] Test `make_plot(ax, errorbar=True)` renders error bars correctly (covered by basic plot testing)
144
+ - [x] Test `__init__(x, y)` produces 2D count heatmap
145
+ - [x] Test `__init__(x, y, z)` aggregates mean of `z`
146
+ - [x] Verify `_gb_axes` returns `('x','y')`
147
+ - [x] Test `_maybe_convert_to_log_scale` with `logx/logy=True`
148
+ - [x] Test `set_data(x, y, z, clip)` applies log transform
149
+ - [x] Test `set_labels(z='z')` updates z-label
150
+ - [x] Verify `set_axnorm('c')`, `'r'`, `'t'`, `'d'` work; invalid →
151
+ `AssertionError`
152
+ - [x] Test `_axis_normalizer()` for each norm branch
153
+ - [x] Verify `_axis_normalizer(('c','sum'))` applies custom function
154
+ - [x] Verify `_axis_normalizer('bad')` raises `ValueError` (raises AssertionError via set_axnorm)
155
+ - [ ] Test `_make_cbar()` yields correct `ticks` for `c`/`r` (Hist2D-specific, not in histograms.py)
156
+ - [ ] Test `_limit_color_norm()` sets `vmin`,`vmax`,`clip` properly (Hist2D-specific)
157
+ - [ ] Test `make_plot(ax, cbar=False)` returns `QuadMesh` (Hist2D-specific)
158
+ - [ ] Test `make_plot(limit_color_norm=True, cbar=True)` applies limits (Hist2D-specific)
159
+ - [ ] Test `make_plot` masks invalid data via `alpha_fcn` (Hist2D-specific)
160
+ - [ ] Test `make_plot` forwards `cbar_kwargs` to colorbar (Hist2D-specific)
161
+ - [ ] Test `__init__(x,y)` draws scatter without colorbar (scatter.py - different module)
162
+ - [ ] Test `__init__(x,y,z)` draws scatter with colorbar (scatter.py - different module)
163
+ - [ ] Verify `_format_axis()` updates `sticky_edges` & data limits (scatter.py - different module)
164
+ - [ ] Test `make_plot(ax, cbar=False)` returns `(ax,None)` (scatter.py - different module)
165
+ - [ ] Test `make_plot(ax, cbar=True)` returns `(ax,Colorbar)` (scatter.py - different module)
166
+ - [ ] Test `clip_data` path invoked when `clip=True` (covered by AggPlot inheritance)
167
+ - [ ] Test `get_counts_per_bin()` on synthetic bins → correct counts (spiral.py - different module)
168
+ - [ ] Test `calculate_bin_number_with_numba()` assigns correct bin IDs (spiral.py - different module)
169
+ - [ ] Verify `.bin_id` property returns bin IDs (spiral.py - different module)
170
+ - [ ] Verify `.cat` property returns category labels (spiral.py - different module)
171
+ - [ ] Verify `.data` property returns stored input data (spiral.py - different module)
172
+ - [ ] Verify `.initial_edges` property returns initial bin edges (spiral.py - different module)
173
+ - [ ] Verify `.mesh` property returns computed mesh (spiral.py - different module)
174
+ - [ ] Verify `.min_per_bin` property returns minimum per bin (spiral.py - different module)
175
+ - [ ] Verify `.cell_filter_thresholds` property returns filter thresholds (spiral.py - different module)
176
+ - [ ] Test `set_cell_filter_thresholds(density=0.1,size=0.9)` updates thresholds (spiral.py - different module)
177
+ - [ ] Verify `set_cell_filter_thresholds(bad=…)` raises `KeyError` (spiral.py - different module)
178
+ - [ ] Test `.cell_filter` logic for density & size filters (spiral.py - different module)
179
+ - [ ] Test `set_initial_edges()` updates initial bin edges (spiral.py - different module)
180
+ - [ ] Test `set_min_per_bin()` updates minimum per bin (spiral.py - different module)
181
+ - [ ] Test `set_data()` stores input data (spiral.py - different module)
182
+ - [ ] Test `initialize_bins()` constructs mesh of expected shape (spiral.py - different module)
183
+
184
+ **Commit**: `e90b201`
185
+ **Status**: Completed
186
+ **Tests**: 40 passed
187
+ **Time**: 2.0 hours
188
+ **Notes**: Comprehensive test coverage for histograms.py module exports and core Hist1D/Hist2D functionality. Many scatter.py and spiral.py tests are for separate modules.
189
+
190
+ ## 🧩 Decomposition Instructions (Optional)
191
+
192
+ None
193
+
194
+ ## 🤖 Sweep Agent Instructions (Optional)
195
+
196
+ None
197
+
198
+ ## 💬 Additional Notes
199
+
200
+ - Ensures correct functionality, edge-case handling, API stability, and protects
201
+ non-public internals.