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,278 @@
1
+ # Phase 2: Template Simplification
2
+
3
+ ## Phase Metadata
4
+ - **Phase**: 2/4
5
+ - **Estimated Duration**: 30 minutes
6
+ - **Dependencies**: Phase 1 (clean doc8 validation)
7
+ - **Status**: Not Started
8
+
9
+ ## ๐ŸŽฏ Phase Objective
10
+ Preserve the essential template infrastructure for API documentation persistence while removing unnecessary complexity. Maintain the **only mechanism** for customizing ephemeral API documentation files.
11
+
12
+ ## ๐Ÿง  Phase Context
13
+
14
+ ### Why Templates Are Essential (Not Optional)
15
+ The documentation build process works as follows:
16
+ 1. `sphinx-apidoc` generates RST files in `docs/source/api/`
17
+ 2. These files are **ephemeral** (destroyed on every build)
18
+ 3. These files are **git-ignored** (line 75 in `.gitignore`)
19
+ 4. Templates provide the **only way** to customize these generated files
20
+
21
+ **Without templates**: 100% of API documentation customizations are lost on every build.
22
+
23
+ ### Current Template Infrastructure
24
+ ```
25
+ docs/source/_templates/autosummary/
26
+ โ”œโ”€โ”€ module.rst # Template for module-level documentation
27
+ โ””โ”€โ”€ class.rst # Template for class-level documentation
28
+ ```
29
+
30
+ **Post-processing**: `docs/add_no_index.py` adds `:no-index:` directives after generation.
31
+
32
+ ## ๐Ÿ“‹ Implementation Tasks
33
+
34
+ ### Task 2.1: Template Infrastructure Audit (5 minutes)
35
+
36
+ **Examine current template system**:
37
+ ```bash
38
+ cd docs/source/_templates/autosummary/
39
+ ls -la
40
+ cat module.rst
41
+ cat class.rst
42
+ ```
43
+
44
+ **Document current capabilities**:
45
+ - Template syntax and variables available
46
+ - Post-processing workflow integration
47
+ - Sphinx configuration dependencies
48
+
49
+ **Check build integration**:
50
+ ```bash
51
+ cd docs
52
+ grep -r "autosummary" source/conf.py
53
+ grep -r "_templates" source/conf.py
54
+ ```
55
+
56
+ ### Task 2.2: Review Current Templates (10 minutes)
57
+
58
+ **Analyze module.rst template**:
59
+ ```bash
60
+ cd docs/source/_templates/autosummary/
61
+ cat module.rst
62
+ ```
63
+
64
+ **Current content** (as of audit):
65
+ ```rst
66
+ {{ fullname | escape | underline}}
67
+
68
+ .. automodule:: {{ fullname }}
69
+ :members:
70
+ :show-inheritance:
71
+ :undoc-members:
72
+ :no-index:
73
+ ```
74
+
75
+ **Assess complexity level**:
76
+ - โœ… **Simple, standard format** - Good baseline
77
+ - โœ… **Essential directives present** - Maintains functionality
78
+ - โœ… **No over-engineering** - Already simplified
79
+
80
+ **Analyze class.rst template**:
81
+ ```bash
82
+ cat class.rst
83
+ ```
84
+
85
+ **Document any complexity** that should be simplified.
86
+
87
+ ### Task 2.3: Template Enhancement Strategy (10 minutes)
88
+
89
+ **Keep Essential Elements**:
90
+ 1. **Basic template structure** - Required for persistence
91
+ 2. **Standard Sphinx directives** - `:members:`, `:show-inheritance:`
92
+ 3. **Post-processing compatibility** - `:no-index:` directive support
93
+
94
+ **Remove/Avoid Complex Elements**:
95
+ 1. **Physics-specific sections** - Defer to future enhancement
96
+ 2. **Conditional logic** - Keep templates simple
97
+ 3. **Advanced formatting** - Standard autosummary sufficient
98
+ 4. **Custom validation** - Rely on Sphinx warnings
99
+
100
+ **Document Template Usage**:
101
+ Create `docs/template-usage.md` with:
102
+ - How to customize API documentation
103
+ - Template file locations and purpose
104
+ - Build process integration
105
+ - When to edit templates vs docstrings
106
+
107
+ ### Task 2.4: Post-Processing Validation (3 minutes)
108
+
109
+ **Verify post-processing workflow**:
110
+ ```bash
111
+ cd docs
112
+ cat add_no_index.py
113
+ ```
114
+
115
+ **Test post-processing script**:
116
+ ```bash
117
+ # Generate API docs
118
+ make api
119
+
120
+ # Check that :no-index: is added
121
+ grep -r "no-index" source/api/ | head -5
122
+ ```
123
+
124
+ **Ensure integration works**:
125
+ - Post-processing runs after template application
126
+ - `:no-index:` directives added correctly
127
+ - No conflicts with template customizations
128
+
129
+ ### Task 2.5: Template Documentation (2 minutes)
130
+
131
+ **Create template usage guide**:
132
+
133
+ **Target**: `docs/template-usage.md`
134
+
135
+ ```markdown
136
+ # Template Usage Guide
137
+
138
+ ## Overview
139
+ Templates in `docs/source/_templates/autosummary/` control the format of auto-generated API documentation.
140
+
141
+ ## Why Templates Matter
142
+ - API files in `docs/source/api/` are ephemeral (regenerated on every build)
143
+ - Templates provide the ONLY way to customize API documentation
144
+ - Changes to templates persist across rebuilds
145
+
146
+ ## Template Files
147
+ - `module.rst` - Controls module-level documentation format
148
+ - `class.rst` - Controls class-level documentation format
149
+
150
+ ## Editing Process
151
+ 1. Edit template files in `docs/source/_templates/autosummary/`
152
+ 2. Run `make api` to regenerate API documentation
153
+ 3. Run `make html` to build full documentation
154
+ 4. Verify changes appear in generated documentation
155
+
156
+ ## Build Process
157
+ 1. `sphinx-apidoc` generates RST files using templates
158
+ 2. `add_no_index.py` post-processes files (adds :no-index:)
159
+ 3. Sphinx builds final HTML documentation
160
+
161
+ ## Important Notes
162
+ - NEVER edit files in `docs/source/api/` directly (they're regenerated)
163
+ - All API customizations must go in templates
164
+ - Templates use Jinja2 syntax with Sphinx variables
165
+ ```
166
+
167
+ ## โœ… Phase Acceptance Criteria
168
+
169
+ ### Template Infrastructure
170
+ - [ ] Existing templates preserved and functional
171
+ - [ ] Template complexity remains minimal (no physics enhancements)
172
+ - [ ] Post-processing integration working correctly
173
+ - [ ] Template usage clearly documented
174
+
175
+ ### Build Process
176
+ - [ ] `make api` generates API documentation using templates
177
+ - [ ] `make html` builds complete documentation successfully
178
+ - [ ] Post-processing adds `:no-index:` directives correctly
179
+ - [ ] No template-related Sphinx warnings
180
+
181
+ ### Documentation Quality
182
+ - [ ] Generated API documentation maintains professional quality
183
+ - [ ] All modules and classes properly documented
184
+ - [ ] Navigation and cross-references working
185
+ - [ ] Consistent formatting across all API documentation
186
+
187
+ ## ๐Ÿงช Phase Testing Strategy
188
+
189
+ ### Template Persistence Test
190
+ 1. **Make template customization**: Add comment to module.rst
191
+ 2. **Regenerate documentation**: Run `make api && make html`
192
+ 3. **Verify persistence**: Confirm customization appears in generated docs
193
+ 4. **Repeat build**: Verify customization survives multiple rebuilds
194
+
195
+ ### Build Integration Test
196
+ 1. **Clean build**: `make clean && make api && make html`
197
+ 2. **Check for errors**: No template-related warnings
198
+ 3. **Verify output**: All API modules properly documented
199
+ 4. **Post-processing check**: `:no-index:` directives present
200
+
201
+ ## ๐Ÿ“Š Expected Results
202
+
203
+ ### Template System Status
204
+ - **Complexity**: Minimal (basic templates only)
205
+ - **Functionality**: Full persistence capability preserved
206
+ - **Maintainability**: Simple, standard patterns
207
+ - **Documentation**: Clear usage guidelines
208
+
209
+ ### Build Performance
210
+ - **Generation time**: Fast (no complex template processing)
211
+ - **Error rate**: Low (simple templates, fewer failure points)
212
+ - **Output quality**: Professional, consistent formatting
213
+
214
+ ## ๐Ÿ”— Phase Dependencies
215
+
216
+ ### Requires from Phase 1
217
+ - **Clean doc8 validation**: No linting errors blocking builds
218
+ - **Working documentation build**: `make html` succeeds
219
+
220
+ ### Provides for Phase 3
221
+ - **Stable template system**: ReadTheDocs can use templates reliably
222
+ - **Documented process**: Clear understanding of customization workflow
223
+ - **Baseline functionality**: API documentation generation working
224
+
225
+ ## โš ๏ธ Risk Assessment
226
+
227
+ ### Low Risk Elements
228
+ - **Template preservation**: Existing system already works
229
+ - **Minimal changes**: Avoiding complex modifications
230
+ - **Standard patterns**: Using established Sphinx/autosummary features
231
+
232
+ ### Risk Mitigation
233
+ - **Incremental testing**: Test each template change individually
234
+ - **Backup current templates**: Save originals before any modifications
235
+ - **Document all changes**: Clear record of modifications made
236
+
237
+ ## ๐Ÿ’ฌ Implementation Notes
238
+
239
+ ### Simplification Philosophy
240
+ 1. **Preserve core functionality**: Templates must enable persistence
241
+ 2. **Avoid premature optimization**: Physics enhancements can wait
242
+ 3. **Standard patterns**: Use established Sphinx conventions
243
+ 4. **Clear documentation**: Enable future developers to understand system
244
+
245
+ ### Template Enhancement Path
246
+ If physics-specific documentation is needed later:
247
+ 1. **Incremental addition**: Add features one at a time
248
+ 2. **Conditional logic**: Use template conditionals for module-specific content
249
+ 3. **Testing framework**: Validate enhancements don't break builds
250
+ 4. **Separate plan**: Major enhancements deserve their own implementation plan
251
+
252
+ ---
253
+
254
+ ## Phase Completion
255
+
256
+ ### Commit Message
257
+ ```
258
+ refactor: simplify documentation templates for maintainability
259
+
260
+ - Preserve essential template infrastructure for API doc persistence
261
+ - Document template usage and customization process
262
+ - Maintain post-processing integration (add_no_index.py)
263
+ - Remove complex enhancements to focus on core functionality
264
+
265
+ Phase 2 of readthedocs-simplified plan: Template system simplified
266
+ ```
267
+
268
+ ### Success Verification
269
+ - [ ] Templates generate API documentation correctly
270
+ - [ ] Post-processing adds `:no-index:` directives
271
+ - [ ] Template customizations persist across rebuilds
272
+ - [ ] Documentation build completes without template errors
273
+ - [ ] Template usage guide created and accurate
274
+ - [ ] Ready to proceed to Phase 3 (ReadTheDocs Setup)
275
+
276
+ ---
277
+
278
+ *Phase 2 Priority: Maintain essential template persistence while keeping complexity minimal*
@@ -0,0 +1,298 @@
1
+ # Phase 3: ReadTheDocs Setup
2
+
3
+ ## Phase Metadata
4
+ - **Phase**: 3/4
5
+ - **Estimated Duration**: 40 minutes
6
+ - **Dependencies**: Phase 1 (clean builds), Phase 2 (working templates)
7
+ - **Status**: Not Started
8
+
9
+ ## ๐ŸŽฏ Phase Objective
10
+ Configure minimal ReadTheDocs integration to deploy SolarWindPy documentation online with standard HTML output. Focus on working deployment quickly rather than advanced features.
11
+
12
+ ## ๐Ÿง  Phase Context
13
+
14
+ ### ReadTheDocs Integration Strategy
15
+ - **Minimal configuration**: Use standard, proven patterns
16
+ - **HTML output only**: Skip PDF/EPUB for simplicity
17
+ - **Manual setup**: Avoid complex webhook automation initially
18
+ - **Standard theme**: Use sphinx_rtd_theme (ReadTheDocs default)
19
+
20
+ ### What We're NOT Building
21
+ - โŒ **Multiple output formats** (PDF/EPUB) - HTML sufficient
22
+ - โŒ **Complex build hooks** - Standard Python package build
23
+ - โŒ **Advanced webhook integration** - Manual deployment acceptable
24
+ - โŒ **Custom styling** - Default theme works fine
25
+
26
+ ## ๐Ÿ“‹ Implementation Tasks
27
+
28
+ ### Task 3.1: ReadTheDocs Configuration File (15 minutes)
29
+
30
+ **Create minimal `.readthedocs.yaml`**:
31
+
32
+ **Target**: `.readthedocs.yaml` (repository root)
33
+
34
+ ```yaml
35
+ version: 2
36
+
37
+ build:
38
+ os: ubuntu-22.04
39
+ tools:
40
+ python: "3.11"
41
+
42
+ python:
43
+ install:
44
+ - requirements: requirements.txt
45
+ - requirements: docs/requirements.txt
46
+ - method: pip
47
+ path: .
48
+
49
+ sphinx:
50
+ configuration: docs/source/conf.py
51
+ builder: html
52
+ ```
53
+
54
+ **Configuration rationale**:
55
+ - **Ubuntu 22.04**: Latest stable ReadTheDocs environment
56
+ - **Python 3.11**: Modern Python version with good package compatibility
57
+ - **requirements.txt**: Standard package dependencies
58
+ - **docs/requirements.txt**: Documentation-specific dependencies
59
+ - **HTML builder only**: Simplest, most reliable output format
60
+
61
+ ### Task 3.2: Documentation Requirements File (5 minutes)
62
+
63
+ **Check if `docs/requirements.txt` exists**:
64
+ ```bash
65
+ ls -la docs/requirements.txt
66
+ ```
67
+
68
+ **If missing, create `docs/requirements.txt`**:
69
+ ```txt
70
+ sphinx>=4.0
71
+ sphinx-rtd-theme
72
+ ```
73
+
74
+ **If exists, verify contents include**:
75
+ - sphinx (version 4.0 or higher)
76
+ - sphinx-rtd-theme
77
+ - Any other documentation dependencies
78
+
79
+ **Validate requirements**:
80
+ ```bash
81
+ pip install -r docs/requirements.txt
82
+ ```
83
+
84
+ ### Task 3.3: Sphinx Configuration for ReadTheDocs (10 minutes)
85
+
86
+ **Check current `docs/source/conf.py` for ReadTheDocs compatibility**:
87
+
88
+ **Add ReadTheDocs detection (if not present)**:
89
+ ```python
90
+ import os
91
+
92
+ # ReadTheDocs environment detection
93
+ on_rtd = os.environ.get('READTHEDOCS') == 'True'
94
+
95
+ if on_rtd:
96
+ # ReadTheDocs-specific settings
97
+ html_theme = 'sphinx_rtd_theme'
98
+ else:
99
+ # Local development (use same theme for consistency)
100
+ html_theme = 'sphinx_rtd_theme'
101
+ ```
102
+
103
+ **Verify essential configuration**:
104
+ ```python
105
+ # Ensure these settings exist
106
+ extensions = [
107
+ 'sphinx.ext.autodoc',
108
+ 'sphinx.ext.autosummary',
109
+ 'sphinx.ext.viewcode',
110
+ 'sphinx.ext.napoleon', # If using NumPy/Google docstrings
111
+ ]
112
+
113
+ autosummary_generate = True
114
+ ```
115
+
116
+ **Test configuration locally**:
117
+ ```bash
118
+ cd docs
119
+ make clean
120
+ make html
121
+ # Should build successfully with sphinx_rtd_theme
122
+ ```
123
+
124
+ ### Task 3.4: Manual ReadTheDocs Project Setup (10 minutes)
125
+
126
+ **ReadTheDocs account setup steps**:
127
+
128
+ 1. **Access ReadTheDocs**:
129
+ - Go to https://readthedocs.org/dashboard/import/
130
+ - Sign in with GitHub account
131
+
132
+ 2. **Import repository**:
133
+ - Select SolarWindPy repository from GitHub
134
+ - Use repository URL: https://github.com/space-physics/solarwindpy
135
+ - Or appropriate repository URL
136
+
137
+ 3. **Project configuration**:
138
+ ```
139
+ Project name: solarwindpy
140
+ Project slug: solarwindpy
141
+ Repository URL: [GitHub URL]
142
+ Default branch: master
143
+ Language: English
144
+ Programming language: Python
145
+ ```
146
+
147
+ 4. **Build settings**:
148
+ ```
149
+ Configuration file: .readthedocs.yaml
150
+ Documentation type: Sphinx Html
151
+ Python version: 3.11
152
+ ```
153
+
154
+ 5. **Advanced settings**:
155
+ ```
156
+ Install project: Yes
157
+ Requirements file: requirements.txt
158
+ Python interpreter: CPython 3.11
159
+ ```
160
+
161
+ **Manual verification needed** (cannot be automated):
162
+ - ReadTheDocs account access required
163
+ - GitHub repository permissions
164
+ - Manual configuration through web interface
165
+
166
+ ## โœ… Phase Acceptance Criteria
167
+
168
+ ### Configuration Files
169
+ - [ ] `.readthedocs.yaml` created with minimal, working configuration
170
+ - [ ] `docs/requirements.txt` exists with necessary dependencies
171
+ - [ ] `docs/source/conf.py` compatible with ReadTheDocs environment
172
+ - [ ] Local build succeeds with ReadTheDocs-compatible settings
173
+
174
+ ### ReadTheDocs Integration
175
+ - [ ] ReadTheDocs project created and configured
176
+ - [ ] Repository successfully imported
177
+ - [ ] Initial build triggered and monitored
178
+ - [ ] HTML documentation accessible online
179
+
180
+ ### Build Verification
181
+ - [ ] ReadTheDocs build completes without critical errors
182
+ - [ ] Generated documentation displays correctly
183
+ - [ ] Navigation and search functionality working
184
+ - [ ] API documentation appears in online version
185
+
186
+ ## ๐Ÿงช Phase Testing Strategy
187
+
188
+ ### Local ReadTheDocs Simulation
189
+ 1. **Environment test**: Use Python 3.11 in clean environment
190
+ 2. **Dependency test**: Install from requirements.txt only
191
+ 3. **Build test**: Generate documentation with sphinx_rtd_theme
192
+ 4. **Output verification**: Check HTML output matches expectations
193
+
194
+ ### ReadTheDocs Platform Testing
195
+ 1. **Manual build trigger**: Initiate first build through web interface
196
+ 2. **Build log review**: Check for errors or warnings in ReadTheDocs logs
197
+ 3. **Output verification**: Access generated documentation URL
198
+ 4. **Navigation test**: Verify all sections accessible
199
+
200
+ ## ๐Ÿ“Š Expected Results
201
+
202
+ ### Local Build Performance
203
+ - **Build time**: < 5 minutes for complete documentation
204
+ - **Output quality**: Professional appearance with sphinx_rtd_theme
205
+ - **Error rate**: Zero critical errors, minimal warnings
206
+ - **Functionality**: All links and navigation working
207
+
208
+ ### ReadTheDocs Deployment
209
+ - **Deployment URL**: https://solarwindpy.readthedocs.io/
210
+ - **Update mechanism**: Manual builds initially (webhook setup optional)
211
+ - **Build success rate**: 100% for basic HTML generation
212
+ - **Documentation freshness**: Updated when manually triggered
213
+
214
+ ## ๐Ÿ”— Phase Dependencies
215
+
216
+ ### Requires from Previous Phases
217
+ - **Phase 1**: Clean doc8 validation (no linting blocking builds)
218
+ - **Phase 2**: Working template system (API documentation generation)
219
+
220
+ ### Provides for Phase 4
221
+ - **ReadTheDocs project**: Configured and accessible
222
+ - **Build baseline**: Known working configuration
223
+ - **Deployment target**: URL for testing and validation
224
+
225
+ ## โš ๏ธ Risk Assessment
226
+
227
+ ### Configuration Risks
228
+ - **Dependency conflicts**: requirements.txt incompatibility
229
+ - **Sphinx version issues**: Newer/older versions causing problems
230
+ - **Theme compatibility**: sphinx_rtd_theme integration issues
231
+
232
+ ### Platform Risks
233
+ - **ReadTheDocs account access**: May require permissions setup
234
+ - **Repository permissions**: GitHub integration configuration
235
+ - **Build environment**: ReadTheDocs platform changes
236
+
237
+ ### Mitigation Strategies
238
+ - **Test locally first**: Verify configuration works before ReadTheDocs
239
+ - **Standard dependencies**: Use well-established package versions
240
+ - **Incremental debugging**: Address one issue at a time
241
+
242
+ ## ๐Ÿ’ฌ Implementation Notes
243
+
244
+ ### Minimal Configuration Philosophy
245
+ 1. **Use defaults where possible**: ReadTheDocs has good standard settings
246
+ 2. **Avoid premature optimization**: Advanced features can be added later
247
+ 3. **Focus on reliability**: Working deployment is priority #1
248
+ 4. **Document assumptions**: Make configuration decisions explicit
249
+
250
+ ### ReadTheDocs Platform Notes
251
+ - **Build time limits**: Free accounts have build time restrictions
252
+ - **Concurrent builds**: May queue behind other projects
253
+ - **Environment consistency**: ReadTheDocs controls build environment
254
+ - **Debugging access**: Build logs available through web interface
255
+
256
+ ### Future Enhancement Path
257
+ If advanced features are needed later:
258
+ 1. **PDF/EPUB output**: Add to .readthedocs.yaml formats section
259
+ 2. **Webhook automation**: Configure GitHub integration
260
+ 3. **Custom domain**: Set up custom documentation URL
261
+ 4. **Build optimization**: Add caching and dependency optimization
262
+
263
+ ---
264
+
265
+ ## Phase Completion
266
+
267
+ ### Commit Message
268
+ ```
269
+ feat: add basic ReadTheDocs configuration
270
+
271
+ - Create minimal .readthedocs.yaml for HTML documentation
272
+ - Ensure docs/requirements.txt includes necessary dependencies
273
+ - Configure Sphinx for ReadTheDocs compatibility
274
+ - Document manual ReadTheDocs project setup process
275
+
276
+ Phase 3 of readthedocs-simplified plan: ReadTheDocs deployment ready
277
+ ```
278
+
279
+ ### Success Verification
280
+ - [ ] `.readthedocs.yaml` committed to repository root
281
+ - [ ] `docs/requirements.txt` contains sphinx and sphinx_rtd_theme
282
+ - [ ] Local documentation builds with ReadTheDocs-compatible settings
283
+ - [ ] ReadTheDocs project configured and first build attempted
284
+ - [ ] Documentation accessible at readthedocs.io URL
285
+ - [ ] Ready to proceed to Phase 4 (Testing & Validation)
286
+
287
+ ### Manual Setup Documentation
288
+ **Record ReadTheDocs project details for reference**:
289
+ ```
290
+ Project URL: https://readthedocs.org/projects/solarwindpy/
291
+ Documentation URL: https://solarwindpy.readthedocs.io/
292
+ Build status: [Record first build result]
293
+ Configuration: Using .readthedocs.yaml from repository
294
+ ```
295
+
296
+ ---
297
+
298
+ *Phase 3 Priority: Get working documentation online with minimal configuration complexity*