solarwindpy 0.0.1.dev0__py3-none-any.whl โ 0.1.1__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.
- plans/.velocity/metrics.json +96 -0
- plans/0-overview-template.md +268 -0
- plans/N-phase-template.md +106 -0
- plans/PLAN_AUDIT_SUMMARY.md +173 -0
- plans/TEMPLATE-USAGE-GUIDE.md +198 -0
- plans/__init__.py +1 -0
- plans/abandoned/compaction-agent-system/0-Overview.md +123 -0
- plans/abandoned/compaction-agent-system/agents-index-update-plan.md +109 -0
- plans/abandoned/compaction-agent-system/compacted_state.md +85 -0
- plans/abandoned/compaction-agent-system/implementation-plan.md +107 -0
- plans/abandoned/compaction-agent-system/system-validation-report.md +159 -0
- plans/abandoned/compaction-agent-system/usage-guide.md +210 -0
- plans/abandoned/hook-system-enhancement/0-Overview.md +214 -0
- plans/abandoned/hook-system-enhancement/1-Phase1-Core-Infrastructure.md +313 -0
- plans/abandoned/hook-system-enhancement/2-Phase2-Intelligent-Testing.md +385 -0
- plans/abandoned/hook-system-enhancement/3-Phase3-Physics-Validation.md +444 -0
- plans/abandoned/hook-system-enhancement/4-Phase4-Performance-Monitoring.md +458 -0
- plans/abandoned/hook-system-enhancement/5-Phase5-Developer-Experience.md +532 -0
- plans/abandoned/hook-system-enhancement/6-Implementation-Timeline.md +274 -0
- plans/abandoned/hook-system-enhancement/7-Risk-Management.md +376 -0
- plans/abandoned/hook-system-enhancement/8-Testing-Strategy.md +579 -0
- plans/abandoned/readthedocs-automation/0-Overview.md +247 -0
- plans/abandoned/readthedocs-automation/1-Emergency-Documentation-Fixes.md +270 -0
- plans/abandoned/readthedocs-automation/2-Template-System-Enhancement.md +811 -0
- plans/abandoned/readthedocs-automation/3-Quality-Audit-ReadTheDocs-Integration.md +844 -0
- plans/abandoned/readthedocs-automation/4-Plan-Consolidation-Cleanup.md +632 -0
- plans/abandoned/readthedocs-automation/9-Closeout.md +207 -0
- plans/abandoned/readthedocs-automation/ABANDONMENT_REASON.md +72 -0
- plans/cicd-architecture-redesign/0-Overview.md +193 -0
- plans/cicd-architecture-redesign/1-Workflow-Creation.md +103 -0
- plans/cicd-architecture-redesign/2-Version-Detection.md +123 -0
- plans/cicd-architecture-redesign/3-Deployment-Gates.md +169 -0
- plans/cicd-architecture-redesign/4-RC-Testing.md +194 -0
- plans/cicd-architecture-redesign/5-TestPyPI-Validation.md +264 -0
- plans/cicd-architecture-redesign/6-Production-Release.md +263 -0
- plans/cicd-architecture-redesign/7-Cleanup.md +243 -0
- plans/cicd-architecture-redesign/8-Documentation.md +285 -0
- plans/cicd-architecture-redesign/Closeout.md +225 -0
- plans/closeout-template.md +259 -0
- plans/completed/circular-import-audit/0-Overview.md +152 -0
- plans/completed/circular-import-audit/1-Static-Dependency-Analysis.md +62 -0
- plans/completed/circular-import-audit/2-Dynamic-Import-Testing.md +56 -0
- plans/completed/circular-import-audit/3-Performance-Impact-Assessment.md +56 -0
- plans/completed/circular-import-audit/4-Issue-Remediation.md +78 -0
- plans/completed/circular-import-audit/5-Preventive-Infrastructure.md +89 -0
- plans/completed/claude-settings-ecosystem-alignment/0-Overview.md +162 -0
- plans/completed/claude-settings-ecosystem-alignment/1-Security-Foundation.md +148 -0
- plans/completed/claude-settings-ecosystem-alignment/2-Hook-Integration.md +158 -0
- plans/completed/claude-settings-ecosystem-alignment/3-Agent-System-Integration.md +177 -0
- plans/completed/claude-settings-ecosystem-alignment/4-Enhanced-Workflow-Automation.md +159 -0
- plans/completed/claude-settings-ecosystem-alignment/5-Validation-Monitoring.md +181 -0
- plans/completed/claude-settings-ecosystem-alignment/compacted_session_state.md +290 -0
- plans/completed/combined_plan_with_checklist_documentation/1-Overview-and-Goals.md +51 -0
- plans/completed/combined_plan_with_checklist_documentation/2-Toolchain-and-Hosting.md +69 -0
- plans/completed/combined_plan_with_checklist_documentation/3-Repository-Structure.md +61 -0
- plans/completed/combined_plan_with_checklist_documentation/4-Configuration-and-Standards.md +70 -0
- plans/completed/combined_plan_with_checklist_documentation/5-Documentation-Content.md +62 -0
- plans/completed/combined_plan_with_checklist_documentation/6-CI-CD-and-Validation.md +58 -0
- plans/completed/combined_plan_with_checklist_documentation/7-Maintenance.md +55 -0
- plans/completed/combined_test_plan_with_checklist_fitfunctions/0-Overview.md +135 -0
- plans/completed/combined_test_plan_with_checklist_fitfunctions/1-Common-fixtures.md +59 -0
- plans/completed/combined_test_plan_with_checklist_fitfunctions/10-power_laws.md +56 -0
- plans/completed/combined_test_plan_with_checklist_fitfunctions/2-core.py-FitFunction.md +118 -0
- plans/completed/combined_test_plan_with_checklist_fitfunctions/3-gaussians.py-Gaussian-GaussianNormalized-GaussianLn.md +69 -0
- plans/completed/combined_test_plan_with_checklist_fitfunctions/4-trend_fits.py-TrendFit.md +99 -0
- plans/completed/combined_test_plan_with_checklist_fitfunctions/5-plots.py-FFPlot.md +98 -0
- plans/completed/combined_test_plan_with_checklist_fitfunctions/6-tex_info.py-TeXinfo.md +79 -0
- plans/completed/combined_test_plan_with_checklist_fitfunctions/7-Justification.md +49 -0
- plans/completed/combined_test_plan_with_checklist_fitfunctions/8-exponentials.md +64 -0
- plans/completed/combined_test_plan_with_checklist_fitfunctions/9-lines.md +58 -0
- plans/completed/combined_test_plan_with_checklist_plotting/0-Overview.md +142 -0
- plans/completed/combined_test_plan_with_checklist_plotting/1-base.py.md +90 -0
- plans/completed/combined_test_plan_with_checklist_plotting/10-labels-special.py.md +102 -0
- plans/completed/combined_test_plan_with_checklist_plotting/11-labels-chemistry.py.md +212 -0
- plans/completed/combined_test_plan_with_checklist_plotting/12-labels-composition.py.md +242 -0
- plans/completed/combined_test_plan_with_checklist_plotting/13-labels-datetime.py.md +247 -0
- plans/completed/combined_test_plan_with_checklist_plotting/14-labels-elemental_abundance.py.md +274 -0
- plans/completed/combined_test_plan_with_checklist_plotting/15-visual-validation.md +256 -0
- plans/completed/combined_test_plan_with_checklist_plotting/16-integration-testing.md +266 -0
- plans/completed/combined_test_plan_with_checklist_plotting/17-performance-benchmarks.md +267 -0
- plans/completed/combined_test_plan_with_checklist_plotting/18-Fixtures-and-Utilities.md +86 -0
- plans/completed/combined_test_plan_with_checklist_plotting/2-agg_plot.py.md +90 -0
- plans/completed/combined_test_plan_with_checklist_plotting/3-histograms.py.md +201 -0
- plans/completed/combined_test_plan_with_checklist_plotting/4-scatter.py.md +167 -0
- plans/completed/combined_test_plan_with_checklist_plotting/5-spiral.py.md +216 -0
- plans/completed/combined_test_plan_with_checklist_plotting/6-orbits.py.md +108 -0
- plans/completed/combined_test_plan_with_checklist_plotting/7-tools.py.md +86 -0
- plans/completed/combined_test_plan_with_checklist_plotting/8-select_data_from_figure.py.md +97 -0
- plans/completed/combined_test_plan_with_checklist_plotting/9-labels-base.py.md +88 -0
- plans/completed/combined_test_plan_with_checklist_solar_activity/.gitkeep +0 -0
- plans/completed/combined_test_plan_with_checklist_solar_activity/0-Overview.md +170 -0
- plans/completed/combined_test_plan_with_checklist_solar_activity/1-Package-Entry-Point-__init__.py.md +121 -0
- plans/completed/combined_test_plan_with_checklist_solar_activity/2-Core-Base-Classes-base.py.md +142 -0
- plans/completed/combined_test_plan_with_checklist_solar_activity/3-Plotting-Helpers-plots.py.md +123 -0
- plans/completed/combined_test_plan_with_checklist_solar_activity/4-LISIRD-Sub-package.md +119 -0
- plans/completed/combined_test_plan_with_checklist_solar_activity/5-Extrema-Calculator.md +103 -0
- plans/completed/combined_test_plan_with_checklist_solar_activity/6-Sunspot-Number-Sub-package.md +163 -0
- plans/completed/combined_test_plan_with_checklist_solar_activity/7-Sunspot-Number-Init.py.md +217 -0
- plans/completed/combined_test_plan_with_checklist_solar_activity/compacted_state.md +52 -0
- plans/completed/compaction-agent-modernization/0-Overview.md +156 -0
- plans/completed/compaction-agent-modernization/1-Architecture-Audit-Gap-Analysis.md +132 -0
- plans/completed/compaction-agent-modernization/2-Token-Baseline-Recalibration.md +153 -0
- plans/completed/compaction-agent-modernization/3-Agent-Reference-Updates.md +184 -0
- plans/completed/compaction-agent-modernization/4-Compression-Algorithm-Modernization.md +238 -0
- plans/completed/compaction-agent-modernization/5-Workflow-Integration-Streamlining.md +252 -0
- plans/completed/compaction-agent-modernization/6-Template-Structure-Optimization.md +240 -0
- plans/completed/compaction-agent-modernization/7-Integration-Testing-Validation.md +292 -0
- plans/completed/compaction-hook-enhancement/0-Overview.md +150 -0
- plans/completed/compaction-hook-enhancement/1-Token-Estimation-Enhancement.md +179 -0
- plans/completed/compaction-hook-enhancement/2-Compression-Intelligence.md +294 -0
- plans/completed/compaction-hook-enhancement/3-Git-Integration-Metadata.md +310 -0
- plans/completed/compaction-hook-enhancement/4-Session-Continuity-Features.md +358 -0
- plans/completed/compaction-hook-enhancement/5-Testing-Strategy.md +404 -0
- plans/completed/compaction-hook-enhancement/6-Integration-Roadmap.md +319 -0
- plans/completed/compaction-hook-enhancement/compacted_state.md +142 -0
- plans/completed/docstring-audit-enhancement/0-Overview.md +274 -0
- plans/completed/docstring-audit-enhancement/1-Infrastructure-Setup-and-Validation-Tools.md +206 -0
- plans/completed/docstring-audit-enhancement/2-Core-Physics-Modules-Enhancement.md +237 -0
- plans/completed/docstring-audit-enhancement/3-Fitfunctions-Mathematical-Modules-Enhancement.md +188 -0
- plans/completed/docstring-audit-enhancement/4-Plotting-Visualization-Modules-Enhancement.md +243 -0
- plans/completed/docstring-audit-enhancement/5-Specialized-Modules-Enhancement.md +216 -0
- plans/completed/docstring-audit-enhancement/6-Validation-and-Integration.md +216 -0
- plans/completed/fitfunctions-testing-implementation/0-Overview.md +130 -0
- plans/completed/fitfunctions-testing-implementation/1-Test-Infrastructure-Setup.md +79 -0
- plans/completed/fitfunctions-testing-implementation/2-Common-Fixtures-Test-Utilities.md +104 -0
- plans/completed/fitfunctions-testing-implementation/3-Core-FitFunction-Testing.md +168 -0
- plans/completed/fitfunctions-testing-implementation/4-Specialized-Function-Classes.md +210 -0
- plans/completed/fitfunctions-testing-implementation/5-Advanced-Classes-Testing.md +214 -0
- plans/completed/fitfunctions-testing-implementation/6-Plotting-Integration-Testing.md +231 -0
- plans/completed/fitfunctions-testing-implementation/7-Extended-Coverage-BONUS.md +184 -0
- plans/completed/numpy-docstring-conversion-plan/numpy-docstring-conversion-plan.md +118 -0
- plans/completed/pr-review-remediation/0-Overview.md +138 -0
- plans/completed/pr-review-remediation/1-Critical-Safety-Improvements.md +179 -0
- plans/completed/pr-review-remediation/2-Smart-Timeouts-Validation.md +399 -0
- plans/completed/pr-review-remediation/3-Enhanced-GitHub-Integration.md +258 -0
- plans/completed/pr-review-remediation/compacted_state.md +66 -0
- plans/completed/python-310-migration/0-Overview.md +390 -0
- plans/completed/python-310-migration/1-Planning-Setup.md +164 -0
- plans/completed/python-310-migration/2-Implementation.md +256 -0
- plans/completed/python-310-migration/3-Testing-Validation.md +335 -0
- plans/completed/python-310-migration/4-Documentation-Release.md +274 -0
- plans/completed/python-310-migration/5-Closeout.md +252 -0
- plans/completed/requirements-management-consolidation/0-Overview.md +118 -0
- plans/completed/requirements-management-consolidation/1-Documentation-Validation-Environment-Setup.md +116 -0
- plans/completed/requirements-management-consolidation/2-Requirements-Consolidation.md +161 -0
- plans/completed/requirements-management-consolidation/3-Workflow-Automation-Final-Integration.md +196 -0
- plans/completed/single-ecosystem-plan-implementation/0-Overview.md +83 -0
- plans/completed/single-ecosystem-plan-implementation/1-Plan-Preservation-Session-Management.md +38 -0
- plans/completed/single-ecosystem-plan-implementation/2-File-Structure-Optimization.md +43 -0
- plans/completed/single-ecosystem-plan-implementation/3-Plan-Migration-Archive-Setup.md +82 -0
- plans/completed/single-ecosystem-plan-implementation/4-Agent-System-Transformation.md +108 -0
- plans/completed/single-ecosystem-plan-implementation/5-Template-System-Enhancement.md +131 -0
- plans/completed/single-ecosystem-plan-implementation/6-Final-Validation-Testing.md +120 -0
- plans/completed/test-directory-consolidation/0-Overview.md +51 -0
- plans/completed/test-directory-consolidation/1-Structure-Preparation.md +82 -0
- plans/completed/test-directory-consolidation/2-File-Migration.md +100 -0
- plans/completed/test-directory-consolidation/3-Import-Transformation.md +117 -0
- plans/completed/test-directory-consolidation/4-Configuration-Consolidation.md +140 -0
- plans/completed/test-directory-consolidation/5-Validation.md +152 -0
- plans/completed/test-directory-consolidation/6-Cleanup.md +156 -0
- plans/completed/test-planning-agents-architecture/0-Overview.md +79 -0
- plans/completed/test-planning-agents-architecture/1-Branch-Isolation-Testing.md +49 -0
- plans/completed/test-planning-agents-architecture/2-Cross-Branch-Coordination.md +51 -0
- plans/completed/test-planning-agents-architecture/3-Merge-Workflow-Testing.md +48 -0
- plans/deployment-semver-pypi-rtd/0-Overview.md +463 -0
- plans/deployment-semver-pypi-rtd/1-Semantic-Versioning-Foundation.md +136 -0
- plans/deployment-semver-pypi-rtd/2-PyPI-Deployment-Infrastructure.md +168 -0
- plans/deployment-semver-pypi-rtd/3-Release-Automation.md +214 -0
- plans/deployment-semver-pypi-rtd/4-Plan-Closeout.md +543 -0
- plans/deployment-semver-pypi-rtd/compacted_session_state.md +172 -0
- plans/deployment-semver-pypi-rtd/compacted_state.md +131 -0
- plans/documentation-code-audit/0-Overview.md +393 -0
- plans/documentation-code-audit/1-Discovery-Inventory.md +183 -0
- plans/documentation-code-audit/2-Execution-Environment-Setup.md +263 -0
- plans/documentation-code-audit/3-Systematic-Validation.md +322 -0
- plans/documentation-code-audit/4-Code-Example-Remediation.md +358 -0
- plans/documentation-code-audit/5-Physics-MultiIndex-Compliance.md +464 -0
- plans/documentation-code-audit/6-Doctest-Integration.md +523 -0
- plans/documentation-code-audit/7-Reporting-Documentation.md +498 -0
- plans/documentation-code-audit/8-Closeout.md +456 -0
- plans/documentation-rebuild-session/compacted_state.md +109 -0
- plans/documentation-rendering-fixes/0-Overview.md +104 -0
- plans/documentation-rendering-fixes/1-Sphinx-Build-Diagnostics-Warning-Audit.md +101 -0
- plans/documentation-rendering-fixes/2-Configuration-Infrastructure-Fixes.md +113 -0
- plans/documentation-rendering-fixes/3-Docstring-Syntax-Audit-Repair.md +131 -0
- plans/documentation-rendering-fixes/4-HTML-Page-Rendering-Verification.md +113 -0
- plans/documentation-rendering-fixes/5-Advanced-Documentation-Quality-Assurance.md +119 -0
- plans/documentation-rendering-fixes/6-Documentation-Build-Optimization-Testing.md +129 -0
- plans/documentation-rendering-fixes/compacted_state.md +132 -0
- plans/documentation-template-fix/0-Overview.md +197 -0
- plans/documentation-template-fix/1-Template-System-Analysis.md +269 -0
- plans/documentation-template-fix/2-Template-Modification.md +609 -0
- plans/documentation-template-fix/3-Build-System-Integration.md +766 -0
- plans/documentation-template-fix/4-Testing-Validation.md +1399 -0
- plans/documentation-template-fix/5-Documentation-Training.md +602 -0
- plans/documentation-workflow-fix/0-Overview.md +222 -0
- plans/documentation-workflow-fix/1-Immediate-Fixes.md +238 -0
- plans/documentation-workflow-fix/2-Configuration-Setup.md +298 -0
- plans/documentation-workflow-fix/3-Pre-commit-Integration.md +382 -0
- plans/documentation-workflow-fix/4-Workflow-Improvements.md +446 -0
- plans/documentation-workflow-fix/5-Documentation-and-Training.md +527 -0
- plans/duplicate-object-warnings-fix-plan.md +130 -0
- plans/github-issues-migration/0-Overview.md +510 -0
- plans/github-issues-migration/1-Foundation-Label-System.md +180 -0
- plans/github-issues-migration/2-Migration-Tool-Rewrite.md +235 -0
- plans/github-issues-migration/3-CLI-Integration-Automation.md +169 -0
- plans/github-issues-migration/4-Validated-Migration.md +252 -0
- plans/github-issues-migration/5-Documentation-Training.md +171 -0
- plans/github-issues-migration/6-Closeout.md +179 -0
- plans/github-workflows-repair/repair-plan.md +299 -0
- plans/issues_from_plans.py +342 -0
- plans/pr-270-doc-validation-fixes/0-Overview.md +354 -0
- plans/pr-270-doc-validation-fixes/1-Critical-PR-Fixes.md +117 -0
- plans/pr-270-doc-validation-fixes/2-Framework-Right-Sizing.md +129 -0
- plans/pr-270-doc-validation-fixes/3-Sustainable-Documentation.md +126 -0
- plans/pr-270-doc-validation-fixes/4-Closeout-Migration.md +143 -0
- plans/pr-270-doc-validation-fixes/PLAN_COMPLETED.md +149 -0
- plans/python-310-migration/0-Overview.md +390 -0
- plans/python-310-migration/1-Planning-Setup.md +164 -0
- plans/python-310-migration/2-Implementation.md +256 -0
- plans/python-310-migration/3-Testing-Validation.md +335 -0
- plans/python-310-migration/4-Documentation-Release.md +274 -0
- plans/python-310-migration/5-Closeout.md +252 -0
- plans/readthedocs-simplified/0-Overview.md +243 -0
- plans/readthedocs-simplified/1-Immediate-Fixes.md +216 -0
- plans/readthedocs-simplified/2-Template-Simplification.md +278 -0
- plans/readthedocs-simplified/3-ReadTheDocs-Setup.md +298 -0
- plans/readthedocs-simplified/4-Testing-Validation.md +328 -0
- plans/readthedocs-simplified/5-Closeout.md +231 -0
- plans/readthedocs-simplified/compacted_state.md +127 -0
- plans/session-compaction-2025-08-12/compacted_state.md +114 -0
- plans/session-compaction-2025-08-13/compacted_state.md +145 -0
- plans/session-continuity-protocol/0-Overview.md +35 -0
- plans/session-continuity-protocol/1-Core-Principles-Framework.md +40 -0
- plans/session-continuity-protocol/2-Pre-Session-Validation-System.md +79 -0
- plans/session-continuity-protocol/3-Context-Switching-Prevention.md +87 -0
- plans/session-continuity-protocol/4-Progress-Tracking-Recovery.md +100 -0
- plans/sphinx-warnings-analysis.md +222 -0
- plans/systemprompt-optimization/0-Overview.md +447 -0
- plans/systemprompt-optimization/1-Deploy-SystemPrompt.md +114 -0
- plans/systemprompt-optimization/2-Documentation-Alignment.md +198 -0
- plans/systemprompt-optimization/3-Monitoring-Infrastructure.md +396 -0
- plans/systemprompt-optimization/4-Implementation-Script.md +450 -0
- plans/systemprompt-optimization/9-Closeout.md +165 -0
- plans/systemprompt-optimization/compacted_state.md +143 -0
- plans/template-value-propositions/0-Overview.md +357 -0
- plans/template-value-propositions/1-Value-Proposition-Framework-Design.md +144 -0
- plans/template-value-propositions/2-Plan-Template-Enhancement.md +178 -0
- plans/template-value-propositions/3-Value-Generator-Hook-Implementation.md +291 -0
- plans/template-value-propositions/4-Value-Validator-Hook-Implementation.md +274 -0
- plans/template-value-propositions/5-Documentation-Agent-Updates.md +219 -0
- plans/template-value-propositions/6-Integration-Testing-Validation.md +247 -0
- plans/tests-audit/0-Overview.md +410 -0
- plans/tests-audit/1-Discovery-Inventory.md +170 -0
- plans/tests-audit/2-Physics-Validation-Audit.md +195 -0
- plans/tests-audit/3-Architecture-Compliance.md +195 -0
- plans/tests-audit/4-Numerical-Stability-Analysis.md +203 -0
- plans/tests-audit/5-Documentation-Enhancement.md +220 -0
- plans/tests-audit/6-Audit-Deliverables.md +220 -0
- plans/tests-audit/7-Closeout.md +252 -0
- plans/tests-audit/artifacts/ARCHITECTURE_COMPLIANCE_REPORT.md +315 -0
- plans/tests-audit/artifacts/ARCHITECTURE_RECOMMENDATIONS.md +943 -0
- plans/tests-audit/artifacts/COMPREHENSIVE_AUDIT_REPORT.md +356 -0
- plans/tests-audit/artifacts/CONTRIBUTING_ENHANCED_TEMPLATE.md +419 -0
- plans/tests-audit/artifacts/COVERAGE_GAP_ANALYSIS.md +152 -0
- plans/tests-audit/artifacts/DOCUMENTATION_ENHANCEMENT_REPORT.md +502 -0
- plans/tests-audit/artifacts/EXECUTIVE_AUDIT_SUMMARY.md +129 -0
- plans/tests-audit/artifacts/IMPLEMENTATION_ROADMAP.md +647 -0
- plans/tests-audit/artifacts/NUMERICAL_RECOMMENDATIONS.md +739 -0
- plans/tests-audit/artifacts/NUMERICAL_STABILITY_GUIDE_TEMPLATE.rst +451 -0
- plans/tests-audit/artifacts/NUMERICAL_STABILITY_REPORT.md +301 -0
- plans/tests-audit/artifacts/PHASE_3_SUMMARY.md +280 -0
- plans/tests-audit/artifacts/PHASE_4_SUMMARY.md +229 -0
- plans/tests-audit/artifacts/PHASE_5_SUMMARY.md +292 -0
- plans/tests-audit/artifacts/PHASE_6_CLOSEOUT.md +278 -0
- plans/tests-audit/artifacts/PHYSICS_GUIDE_TEMPLATE.rst +268 -0
- plans/tests-audit/artifacts/PHYSICS_VALIDATION_REPORT.md +235 -0
- plans/tests-audit/artifacts/TECHNICAL_DELIVERABLES_PACKAGE.md +2502 -0
- plans/tests-audit/artifacts/TEST_INVENTORY.csv +1204 -0
- plans/tests-audit/artifacts/TEST_INVENTORY.md +135 -0
- plans/tests-audit/artifacts/test_discovery_analysis.py +231 -0
- plans/tests-audit/artifacts/test_parser.py +395 -0
- solarwindpy/README.md +3 -0
- solarwindpy/Untitled.ipynb +54 -0
- solarwindpy/__init__.py +74 -0
- solarwindpy/core/__init__.py +23 -0
- solarwindpy/core/alfvenic_turbulence.py +804 -0
- solarwindpy/core/base.py +267 -0
- solarwindpy/core/ions.py +309 -0
- solarwindpy/core/plasma.py +2133 -0
- solarwindpy/core/spacecraft.py +256 -0
- solarwindpy/core/tensor.py +90 -0
- solarwindpy/core/units_constants.py +199 -0
- solarwindpy/core/vector.py +328 -0
- solarwindpy/fitfunctions/__init__.py +20 -0
- solarwindpy/fitfunctions/core.py +734 -0
- solarwindpy/fitfunctions/exponentials.py +188 -0
- solarwindpy/fitfunctions/gaussians.py +264 -0
- solarwindpy/fitfunctions/lines.py +116 -0
- solarwindpy/fitfunctions/moyal.py +71 -0
- solarwindpy/fitfunctions/plots.py +751 -0
- solarwindpy/fitfunctions/power_laws.py +209 -0
- solarwindpy/fitfunctions/tex_info.py +568 -0
- solarwindpy/fitfunctions/trend_fits.py +482 -0
- solarwindpy/instabilities/__init__.py +16 -0
- solarwindpy/instabilities/beta_ani.py +82 -0
- solarwindpy/instabilities/verscharen2016.py +631 -0
- solarwindpy/plotting/__init__.py +33 -0
- solarwindpy/plotting/agg_plot.py +489 -0
- solarwindpy/plotting/base.py +465 -0
- solarwindpy/plotting/hist1d.py +405 -0
- solarwindpy/plotting/hist2d.py +1035 -0
- solarwindpy/plotting/histograms.py +1845 -0
- solarwindpy/plotting/labels/__init__.py +104 -0
- solarwindpy/plotting/labels/base.py +686 -0
- solarwindpy/plotting/labels/chemistry.py +19 -0
- solarwindpy/plotting/labels/composition.py +100 -0
- solarwindpy/plotting/labels/datetime.py +235 -0
- solarwindpy/plotting/labels/elemental_abundance.py +73 -0
- solarwindpy/plotting/labels/special.py +794 -0
- solarwindpy/plotting/orbits.py +515 -0
- solarwindpy/plotting/scatter.py +99 -0
- solarwindpy/plotting/select_data_from_figure.py +329 -0
- solarwindpy/plotting/spiral.py +980 -0
- solarwindpy/plotting/tools.py +434 -0
- solarwindpy/scripts/__init__.py +1 -0
- solarwindpy/scripts/logs/.gitignore +1 -0
- solarwindpy/solar_activity/__init__.py +53 -0
- solarwindpy/solar_activity/base.py +605 -0
- solarwindpy/solar_activity/lisird/__init__.py +3 -0
- solarwindpy/solar_activity/lisird/extrema_calculator.py +394 -0
- solarwindpy/solar_activity/lisird/lisird.py +319 -0
- solarwindpy/solar_activity/plots.py +116 -0
- solarwindpy/solar_activity/sunspot_number/.DS_Store +0 -0
- solarwindpy/solar_activity/sunspot_number/__init__.py +3 -0
- solarwindpy/solar_activity/sunspot_number/sidc.py +556 -0
- solarwindpy/solar_activity/sunspot_number/ssn_extrema.csv +72 -0
- solarwindpy/solar_activity/sunspot_number/ssn_extrema.csv.silso +72 -0
- solarwindpy/tools/__init__.py +162 -0
- solarwindpy-0.1.1.dist-info/METADATA +181 -0
- solarwindpy-0.1.1.dist-info/RECORD +409 -0
- {solarwindpy-0.0.1.dev0.dist-info โ solarwindpy-0.1.1.dist-info}/WHEEL +1 -1
- solarwindpy-0.1.1.dist-info/licenses/LICENSE.rst +32 -0
- solarwindpy-0.1.1.dist-info/top_level.txt +3 -0
- tests/__init__.py +1 -0
- tests/conftest.py +10 -0
- tests/core/__init__.py +1 -0
- tests/core/test_alfvenic_turbulence.py +544 -0
- tests/core/test_base.py +112 -0
- tests/core/test_base_head_tail.py +29 -0
- tests/core/test_base_mi_tuples.py +11 -0
- tests/core/test_core_verify_datetimeindex.py +32 -0
- tests/core/test_ions.py +325 -0
- tests/core/test_plasma.py +2581 -0
- tests/core/test_plasma_io.py +12 -0
- tests/core/test_quantities.py +507 -0
- tests/core/test_spacecraft.py +210 -0
- tests/core/test_units_constants.py +22 -0
- tests/data/epoch.csv +4 -0
- tests/data/plasma.csv +4 -0
- tests/data/spacecraft.csv +4 -0
- tests/fitfunctions/conftest.py +60 -0
- tests/fitfunctions/test_core.py +193 -0
- tests/fitfunctions/test_exponentials.py +342 -0
- tests/fitfunctions/test_gaussians.py +142 -0
- tests/fitfunctions/test_lines.py +349 -0
- tests/fitfunctions/test_moyal.py +258 -0
- tests/fitfunctions/test_plots.py +258 -0
- tests/fitfunctions/test_power_laws.py +365 -0
- tests/fitfunctions/test_tex_info.py +183 -0
- tests/fitfunctions/test_trend_fit_properties.py +31 -0
- tests/fitfunctions/test_trend_fits.py +244 -0
- tests/plotting/__init__.py +1 -0
- tests/plotting/labels/__init__.py +1 -0
- tests/plotting/labels/test_chemistry.py +243 -0
- tests/plotting/labels/test_composition.py +345 -0
- tests/plotting/labels/test_datetime.py +445 -0
- tests/plotting/labels/test_elemental_abundance.py +366 -0
- tests/plotting/labels/test_init.py +66 -0
- tests/plotting/labels/test_labels_base.py +347 -0
- tests/plotting/labels/test_special.py +550 -0
- tests/plotting/test_agg_plot.py +602 -0
- tests/plotting/test_base.py +752 -0
- tests/plotting/test_fixtures_utilities.py +775 -0
- tests/plotting/test_histograms.py +546 -0
- tests/plotting/test_integration.py +675 -0
- tests/plotting/test_orbits.py +435 -0
- tests/plotting/test_performance.py +708 -0
- tests/plotting/test_scatter.py +752 -0
- tests/plotting/test_select_data_from_figure.py +1209 -0
- tests/plotting/test_spiral.py +573 -0
- tests/plotting/test_tools.py +607 -0
- tests/plotting/test_visual_validation.py +465 -0
- tests/solar_activity/__init__.py +1 -0
- tests/solar_activity/lisird/__init__.py +1 -0
- tests/solar_activity/lisird/test_extrema_calculator.py +593 -0
- tests/solar_activity/lisird/test_lisird_id.py +187 -0
- tests/solar_activity/sunspot_number/__init__.py +1 -0
- tests/solar_activity/sunspot_number/test_init.py +399 -0
- tests/solar_activity/sunspot_number/test_sidc.py +465 -0
- tests/solar_activity/sunspot_number/test_sidc_id.py +223 -0
- tests/solar_activity/sunspot_number/test_sidc_loader.py +275 -0
- tests/solar_activity/sunspot_number/test_ssn_extrema.py +406 -0
- tests/solar_activity/test_base.py +656 -0
- tests/solar_activity/test_init.py +396 -0
- tests/solar_activity/test_plots.py +371 -0
- tests/test_circular_imports.py +408 -0
- tests/test_issue_titles.py +25 -0
- tests/test_statusline.py +298 -0
- solarwindpy-0.0.1.dev0.dist-info/METADATA +0 -14
- solarwindpy-0.0.1.dev0.dist-info/RECORD +0 -4
- 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*
|