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.
- 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.0.dist-info/METADATA +181 -0
- solarwindpy-0.1.0.dist-info/RECORD +409 -0
- {solarwindpy-0.0.1.dev0.dist-info → solarwindpy-0.1.0.dist-info}/WHEEL +1 -1
- solarwindpy-0.1.0.dist-info/licenses/LICENSE.rst +32 -0
- solarwindpy-0.1.0.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,274 @@
|
|
|
1
|
+
# SolarWindPy Docstring Audit and Enhancement Plan
|
|
2
|
+
|
|
3
|
+
## **Executive Summary**
|
|
4
|
+
|
|
5
|
+
**OBJECTIVE**: Conservative docstring audit and format standardization of all 53 Python modules in SolarWindPy package for strict NumPy convention compliance.
|
|
6
|
+
|
|
7
|
+
**SCOPE**: Format standardization and consistency enhancement of existing docstrings across core/, fitfunctions/, plotting/, solar_activity/, instabilities/, and tools/ packages. Focus on compliance over content expansion.
|
|
8
|
+
|
|
9
|
+
**QUALITY TARGET**: 100% NumPy docstring convention compliance through format standardization and minimal content enhancement.
|
|
10
|
+
|
|
11
|
+
## **Business Case and Value Proposition**
|
|
12
|
+
|
|
13
|
+
### **Critical Documentation Issues**
|
|
14
|
+
- **Format Inconsistencies**: Mixed docstring styles (Google/informal vs NumPy format)
|
|
15
|
+
- **Parameter Documentation**: Inconsistent type notation and descriptions
|
|
16
|
+
- **Missing Basic Docstrings**: Some methods and functions completely lack documentation
|
|
17
|
+
- **LaTeX Formatting**: Inconsistent mathematical notation formatting
|
|
18
|
+
- **Return Documentation**: Missing or incomplete Returns sections
|
|
19
|
+
|
|
20
|
+
### **Benefits of Standardization**
|
|
21
|
+
- **Format Consistency**: Uniform NumPy docstring format across entire codebase
|
|
22
|
+
- **Developer Experience**: Standardized documentation improves maintainability
|
|
23
|
+
- **Tool Compatibility**: Better pydocstyle and Sphinx integration
|
|
24
|
+
- **Code Quality**: Consistent formatting standards improve readability
|
|
25
|
+
- **IDE Integration**: Enhanced autocomplete through standardized parameter documentation
|
|
26
|
+
|
|
27
|
+
## **Scope Analysis**
|
|
28
|
+
|
|
29
|
+
### **Module Inventory (53 Python files)**
|
|
30
|
+
|
|
31
|
+
#### **Core Physics Modules (9 files)**
|
|
32
|
+
- `core/__init__.py` - Package entry point
|
|
33
|
+
- `core/base.py` - Base class with logging and utilities
|
|
34
|
+
- `core/plasma.py` - Main Plasma container class
|
|
35
|
+
- `core/ions.py` - Ion species handling
|
|
36
|
+
- `core/spacecraft.py` - Spacecraft trajectory data
|
|
37
|
+
- `core/vector.py` - Vector mathematical operations
|
|
38
|
+
- `core/tensor.py` - Tensor mathematical operations
|
|
39
|
+
- `core/units_constants.py` - Physical constants and conversions
|
|
40
|
+
- `core/alfvenic_turbulence.py` - Alfven wave turbulence calculations
|
|
41
|
+
|
|
42
|
+
#### **Fitfunctions Mathematical Modules (10 files)**
|
|
43
|
+
- `fitfunctions/__init__.py` - Package entry point
|
|
44
|
+
- `fitfunctions/core.py` - Abstract FitFunction base class
|
|
45
|
+
- `fitfunctions/gaussians.py` - Gaussian distribution fits
|
|
46
|
+
- `fitfunctions/exponentials.py` - Exponential function fits
|
|
47
|
+
- `fitfunctions/lines.py` - Linear regression fits
|
|
48
|
+
- `fitfunctions/power_laws.py` - Power law function fits
|
|
49
|
+
- `fitfunctions/moyal.py` - Moyal distribution fits
|
|
50
|
+
- `fitfunctions/trend_fits.py` - Trend analysis fits
|
|
51
|
+
- `fitfunctions/plots.py` - Fit visualization tools
|
|
52
|
+
- `fitfunctions/tex_info.py` - LaTeX formatting utilities
|
|
53
|
+
|
|
54
|
+
#### **Plotting Visualization Modules (18 files)**
|
|
55
|
+
- `plotting/__init__.py` - Package entry point
|
|
56
|
+
- `plotting/base.py` - Base plotting utilities
|
|
57
|
+
- `plotting/agg_plot.py` - Aggregated plot utilities
|
|
58
|
+
- `plotting/histograms.py` - Histogram plotting (deprecated, use hist1d/hist2d)
|
|
59
|
+
- `plotting/hist1d.py` - 1D histogram plots
|
|
60
|
+
- `plotting/hist2d.py` - 2D histogram plots
|
|
61
|
+
- `plotting/scatter.py` - Scatter plot utilities
|
|
62
|
+
- `plotting/spiral.py` - Spiral mesh calculations
|
|
63
|
+
- `plotting/orbits.py` - Orbital trajectory plots
|
|
64
|
+
- `plotting/tools.py` - General plotting tools
|
|
65
|
+
- `plotting/select_data_from_figure.py` - Interactive data selection
|
|
66
|
+
- `plotting/labels/__init__.py` - Labels package entry point
|
|
67
|
+
- `plotting/labels/base.py` - Base label formatting
|
|
68
|
+
- `plotting/labels/special.py` - Special scientific labels
|
|
69
|
+
- `plotting/labels/chemistry.py` - Chemical species labels
|
|
70
|
+
- `plotting/labels/composition.py` - Composition ratio labels
|
|
71
|
+
- `plotting/labels/datetime.py` - Time formatting labels
|
|
72
|
+
- `plotting/labels/elemental_abundance.py` - Element abundance labels
|
|
73
|
+
|
|
74
|
+
#### **Solar Activity Modules (8 files)**
|
|
75
|
+
- `solar_activity/__init__.py` - Package entry point
|
|
76
|
+
- `solar_activity/base.py` - Base solar activity classes
|
|
77
|
+
- `solar_activity/plots.py` - Solar activity plotting
|
|
78
|
+
- `solar_activity/lisird/__init__.py` - LISIRD package entry point
|
|
79
|
+
- `solar_activity/lisird/lisird.py` - LISIRD data interface
|
|
80
|
+
- `solar_activity/lisird/extrema_calculator.py` - Solar extrema calculations
|
|
81
|
+
- `solar_activity/sunspot_number/__init__.py` - Sunspot package entry point
|
|
82
|
+
- `solar_activity/sunspot_number/sidc.py` - SIDC sunspot data interface
|
|
83
|
+
|
|
84
|
+
#### **Instabilities Physics Modules (2 files)**
|
|
85
|
+
- `instabilities/__init__.py` - Package entry point
|
|
86
|
+
- `instabilities/beta_ani.py` - Beta-anisotropy instability calculations
|
|
87
|
+
- `instabilities/verscharen2016.py` - Verscharen 2016 instability model
|
|
88
|
+
|
|
89
|
+
#### **Tools and Utilities (6 files)**
|
|
90
|
+
- `tools/__init__.py` - Package entry point
|
|
91
|
+
- `scripts/__init__.py` - Scripts package entry point
|
|
92
|
+
- `plans/__init__.py` - Plans package entry point
|
|
93
|
+
- `plans/issues_from_plans.py` - Issue generation utility
|
|
94
|
+
- `__init__.py` - Main package entry point
|
|
95
|
+
- Additional utility scripts
|
|
96
|
+
|
|
97
|
+
## **Implementation Strategy**
|
|
98
|
+
|
|
99
|
+
### **Quality Standards**
|
|
100
|
+
|
|
101
|
+
#### **NumPy Docstring Convention Requirements**
|
|
102
|
+
```python
|
|
103
|
+
def function(param1, param2=None):
|
|
104
|
+
"""Short one-line summary.
|
|
105
|
+
|
|
106
|
+
Longer description with more details about the function's
|
|
107
|
+
purpose and behavior.
|
|
108
|
+
|
|
109
|
+
Parameters
|
|
110
|
+
----------
|
|
111
|
+
param1 : type
|
|
112
|
+
Description of param1.
|
|
113
|
+
param2 : type, optional
|
|
114
|
+
Description of param2. Default is None.
|
|
115
|
+
|
|
116
|
+
Returns
|
|
117
|
+
-------
|
|
118
|
+
type
|
|
119
|
+
Description of return value.
|
|
120
|
+
|
|
121
|
+
Raises
|
|
122
|
+
------
|
|
123
|
+
ValueError
|
|
124
|
+
When invalid input is provided.
|
|
125
|
+
|
|
126
|
+
Examples
|
|
127
|
+
--------
|
|
128
|
+
>>> result = function(1, 2)
|
|
129
|
+
>>> print(result)
|
|
130
|
+
3
|
|
131
|
+
|
|
132
|
+
Notes
|
|
133
|
+
-----
|
|
134
|
+
Additional technical notes about the implementation.
|
|
135
|
+
|
|
136
|
+
References
|
|
137
|
+
----------
|
|
138
|
+
.. [1] Author, "Title", Journal, Year.
|
|
139
|
+
"""
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
#### **Scientific Documentation Requirements**
|
|
143
|
+
- **Mathematical Notation**: Proper LaTeX formatting in docstrings
|
|
144
|
+
- **Physical Units**: Clear unit specifications for all quantities
|
|
145
|
+
- **Literature References**: Proper citations for physics algorithms
|
|
146
|
+
- **Parameter Validation**: Clear documentation of expected ranges/values
|
|
147
|
+
|
|
148
|
+
#### **Coverage Requirements**
|
|
149
|
+
- **100% Public API**: All public classes, methods, functions documented
|
|
150
|
+
- **Module-Level**: Comprehensive module docstrings with usage examples
|
|
151
|
+
- **Property Documentation**: All properties with getter/setter documentation
|
|
152
|
+
- **Internal Methods**: Key internal methods documented for maintainability
|
|
153
|
+
|
|
154
|
+
### **Validation Framework**
|
|
155
|
+
|
|
156
|
+
#### **Automated Validation Tools**
|
|
157
|
+
- **pydocstyle**: NumPy convention compliance checking
|
|
158
|
+
- **Sphinx Integration**: Documentation build validation
|
|
159
|
+
- **Custom Validators**: Physics-specific validation (units, equations)
|
|
160
|
+
- **Example Testing**: Docstring example code validation
|
|
161
|
+
|
|
162
|
+
#### **Manual Review Checklist**
|
|
163
|
+
- [ ] NumPy format compliance
|
|
164
|
+
- [ ] Complete parameter documentation
|
|
165
|
+
- [ ] Proper return value documentation
|
|
166
|
+
- [ ] Exception documentation
|
|
167
|
+
- [ ] Usage examples included
|
|
168
|
+
- [ ] Mathematical notation correct
|
|
169
|
+
- [ ] Physical units specified
|
|
170
|
+
- [ ] Literature references included
|
|
171
|
+
|
|
172
|
+
## **Phase Structure**
|
|
173
|
+
|
|
174
|
+
### **Phase 1: Infrastructure Setup and Validation Tools** (Est. 3 hours)
|
|
175
|
+
- Set up pydocstyle configuration for NumPy convention
|
|
176
|
+
- Create baseline documentation coverage analysis
|
|
177
|
+
- Configure validation scripts for format compliance
|
|
178
|
+
- Establish Sphinx integration for consistent builds
|
|
179
|
+
|
|
180
|
+
### **Phase 2: Core Physics Modules Format Standardization** (Est. 8 hours)
|
|
181
|
+
**Target: 9 core module files**
|
|
182
|
+
- Convert existing docstrings to strict NumPy format
|
|
183
|
+
- Standardize parameter type notation (e.g., array_like)
|
|
184
|
+
- Add missing Returns sections where functions return values
|
|
185
|
+
- Standardize existing LaTeX equation formatting
|
|
186
|
+
|
|
187
|
+
### **Phase 3: Fitfunctions Mathematical Modules Format Standardization** (Est. 7 hours)
|
|
188
|
+
**Target: 10 fitfunction module files**
|
|
189
|
+
- Convert docstrings to NumPy format compliance
|
|
190
|
+
- Standardize mathematical notation formatting
|
|
191
|
+
- Ensure consistent parameter documentation format
|
|
192
|
+
- Add basic docstrings where completely missing
|
|
193
|
+
|
|
194
|
+
### **Phase 4: Plotting Visualization Modules Format Standardization** (Est. 10 hours)
|
|
195
|
+
**Target: 18 plotting module files**
|
|
196
|
+
- Convert mixed docstring styles to NumPy format
|
|
197
|
+
- Standardize parameter documentation for plotting functions
|
|
198
|
+
- Add basic module-level docstrings where missing
|
|
199
|
+
- Ensure consistent Returns section formatting
|
|
200
|
+
|
|
201
|
+
### **Phase 5: Specialized Modules Format Standardization** (Est. 6 hours)
|
|
202
|
+
**Target: 16 specialized module files (solar_activity, instabilities, tools, etc.)**
|
|
203
|
+
- Convert existing docstrings to NumPy format
|
|
204
|
+
- Add basic docstrings for undocumented functions
|
|
205
|
+
- Standardize parameter and return documentation
|
|
206
|
+
- Ensure consistent module-level documentation
|
|
207
|
+
|
|
208
|
+
### **Phase 6: Validation and Integration** (Est. 3 hours)
|
|
209
|
+
- Run comprehensive pydocstyle validation
|
|
210
|
+
- Fix remaining format compliance issues
|
|
211
|
+
- Validate Sphinx documentation builds
|
|
212
|
+
- Ensure consistency across all modules
|
|
213
|
+
|
|
214
|
+
## **Success Criteria**
|
|
215
|
+
|
|
216
|
+
### **Primary Success Metrics**
|
|
217
|
+
- **100% NumPy Convention Compliance**: All docstrings pass pydocstyle validation
|
|
218
|
+
- **Complete API Coverage**: Every public method, class, and function documented
|
|
219
|
+
- **Enhanced Sphinx Build**: Comprehensive auto-generated documentation
|
|
220
|
+
- **Example Code Validation**: All docstring examples execute successfully
|
|
221
|
+
|
|
222
|
+
### **Quality Assurance Metrics**
|
|
223
|
+
- **Zero pydocstyle Violations**: Clean docstring format compliance
|
|
224
|
+
- **Comprehensive Parameter Documentation**: All parameters with types and descriptions
|
|
225
|
+
- **Mathematical Notation**: Proper LaTeX formatting in scientific modules
|
|
226
|
+
- **Usage Examples**: Practical examples for key functionality
|
|
227
|
+
|
|
228
|
+
## **Timeline and Resource Allocation**
|
|
229
|
+
|
|
230
|
+
### **Total Estimated Duration: 37 hours**
|
|
231
|
+
- **Phase 1**: 3 hours (Infrastructure)
|
|
232
|
+
- **Phase 2**: 8 hours (Core modules - 9 files)
|
|
233
|
+
- **Phase 3**: 7 hours (Fitfunctions - 10 files)
|
|
234
|
+
- **Phase 4**: 10 hours (Plotting - 18 files)
|
|
235
|
+
- **Phase 5**: 6 hours (Specialized - 16 files)
|
|
236
|
+
- **Phase 6**: 3 hours (Validation)
|
|
237
|
+
|
|
238
|
+
### **Resource Requirements**
|
|
239
|
+
- **Technical Expertise**: Python documentation standards, NumPy docstring conventions
|
|
240
|
+
- **Basic Domain Knowledge**: Understanding of existing code functionality
|
|
241
|
+
- **Tools**: pydocstyle, Sphinx, basic LaTeX formatting knowledge
|
|
242
|
+
|
|
243
|
+
## **Risk Mitigation**
|
|
244
|
+
|
|
245
|
+
### **Potential Challenges**
|
|
246
|
+
- **Format Conversion**: Converting mixed docstring styles to NumPy format
|
|
247
|
+
- **Legacy Code**: Inconsistent existing documentation styles
|
|
248
|
+
- **Format Compliance**: Ensuring strict pydocstyle compliance
|
|
249
|
+
- **Large Scope**: 53 modules requiring systematic standardization
|
|
250
|
+
|
|
251
|
+
### **Mitigation Strategies**
|
|
252
|
+
- **Incremental Validation**: Phase-by-phase pydocstyle checking
|
|
253
|
+
- **Conservative Approach**: Focus on format over content to avoid errors
|
|
254
|
+
- **Template Standardization**: Consistent NumPy format patterns
|
|
255
|
+
- **Automated Tooling**: pydocstyle validation pipeline
|
|
256
|
+
|
|
257
|
+
## **Long-term Benefits**
|
|
258
|
+
|
|
259
|
+
### **Maintainability Improvements**
|
|
260
|
+
- **Developer Onboarding**: Clear API documentation for new contributors
|
|
261
|
+
- **Code Comprehension**: Enhanced understanding of complex physics calculations
|
|
262
|
+
- **Debugging Support**: Better documentation aids in troubleshooting
|
|
263
|
+
|
|
264
|
+
### **User Experience Enhancements**
|
|
265
|
+
- **Auto-generated Documentation**: Professional-quality API reference
|
|
266
|
+
- **IDE Integration**: Enhanced autocomplete and help systems
|
|
267
|
+
- **Scientific Integrity**: Proper mathematical notation and citations
|
|
268
|
+
|
|
269
|
+
### **Quality Assurance**
|
|
270
|
+
- **Consistency Standards**: Uniform documentation across entire codebase
|
|
271
|
+
- **Validation Pipeline**: Automated compliance checking in CI/CD
|
|
272
|
+
- **Future-proofing**: Established patterns for new module development
|
|
273
|
+
|
|
274
|
+
This conservative docstring audit and format standardization plan will achieve 100% NumPy docstring convention compliance across SolarWindPy, providing consistent documentation formatting while maintaining scientific accuracy through minimal content changes.
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
# Phase 1: Infrastructure Setup and Validation Tools
|
|
2
|
+
|
|
3
|
+
## **Objective**
|
|
4
|
+
Establish docstring format validation infrastructure and baseline coverage analysis for NumPy convention compliance across the SolarWindPy codebase.
|
|
5
|
+
|
|
6
|
+
## **Scope**
|
|
7
|
+
Set up pydocstyle validation and baseline analysis tools to ensure strict NumPy docstring format compliance across all 53 Python modules.
|
|
8
|
+
|
|
9
|
+
## **Implementation Tasks**
|
|
10
|
+
|
|
11
|
+
### **Task 1: Docstring Validation Tool Configuration** (1 hour)
|
|
12
|
+
|
|
13
|
+
#### **pydocstyle Configuration Setup**
|
|
14
|
+
```ini
|
|
15
|
+
# .pydocstyle configuration file
|
|
16
|
+
[pydocstyle]
|
|
17
|
+
convention = numpy
|
|
18
|
+
match = (?!test_).*\.py
|
|
19
|
+
add-ignore = D100,D104,D105
|
|
20
|
+
add-source = solarwindpy/
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
#### **Configuration Requirements**
|
|
24
|
+
- **Convention**: Strict NumPy docstring format
|
|
25
|
+
- **Scope**: All solarwindpy/ modules excluding test files
|
|
26
|
+
- **Ignored Checks**: Module-level docstrings for __init__.py files (selective)
|
|
27
|
+
- **Source Path**: Target solarwindpy package directory
|
|
28
|
+
|
|
29
|
+
#### **Integration Points**
|
|
30
|
+
- Add pydocstyle to requirements-dev.txt
|
|
31
|
+
- Configure pre-commit hook for docstring validation
|
|
32
|
+
- Set up CI/CD pipeline integration for automated checking
|
|
33
|
+
|
|
34
|
+
### **Task 2: Format Compliance Baseline Analysis** (1 hour)
|
|
35
|
+
|
|
36
|
+
#### **Format Compliance Analysis Script**
|
|
37
|
+
```python
|
|
38
|
+
#!/usr/bin/env python
|
|
39
|
+
"""Docstring format compliance analysis for SolarWindPy modules."""
|
|
40
|
+
|
|
41
|
+
import ast
|
|
42
|
+
import os
|
|
43
|
+
from pathlib import Path
|
|
44
|
+
|
|
45
|
+
class DocstringFormatAnalyzer(ast.NodeVisitor):
|
|
46
|
+
"""Analyze docstring format compliance in Python modules."""
|
|
47
|
+
|
|
48
|
+
def __init__(self):
|
|
49
|
+
self.stats = {
|
|
50
|
+
'total_docstrings': 0,
|
|
51
|
+
'numpy_format': 0,
|
|
52
|
+
'google_format': 0,
|
|
53
|
+
'informal_format': 0,
|
|
54
|
+
'missing_docstrings': 0,
|
|
55
|
+
}
|
|
56
|
+
self.format_issues = []
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
#### **Analysis Targets**
|
|
60
|
+
- **Format Detection**: Identify NumPy vs Google vs informal docstring styles
|
|
61
|
+
- **Missing Docstrings**: Functions/methods completely lacking documentation
|
|
62
|
+
- **Parameter Format**: Inconsistent parameter documentation styles
|
|
63
|
+
- **Returns Section**: Missing or improperly formatted returns documentation
|
|
64
|
+
|
|
65
|
+
#### **Baseline Metrics Collection**
|
|
66
|
+
- Current format compliance percentage by module
|
|
67
|
+
- Identification of mixed docstring styles
|
|
68
|
+
- Priority ranking for standardization based on format inconsistencies
|
|
69
|
+
|
|
70
|
+
### **Task 3: NumPy Format Validation Framework** (0.5 hours)
|
|
71
|
+
|
|
72
|
+
#### **Format Compliance Rules**
|
|
73
|
+
```python
|
|
74
|
+
class NumPyFormatValidator:
|
|
75
|
+
"""Validate NumPy docstring format compliance."""
|
|
76
|
+
|
|
77
|
+
REQUIRED_SECTIONS = {
|
|
78
|
+
'functions': ['Parameters', 'Returns'],
|
|
79
|
+
'methods': ['Parameters', 'Returns'],
|
|
80
|
+
'classes': ['Parameters'],
|
|
81
|
+
'properties': ['Returns'],
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
FORMAT_REQUIREMENTS = {
|
|
85
|
+
'parameter_format': True, # param : type format
|
|
86
|
+
'section_headers': True, # Proper section formatting
|
|
87
|
+
'consistent_style': True, # NumPy format throughout
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
#### **Format Standardization Focus**
|
|
92
|
+
- **Parameter Format**: Consistent `param : type` notation
|
|
93
|
+
- **Section Headers**: Proper underline formatting for NumPy sections
|
|
94
|
+
- **Type Documentation**: Standardized type annotations
|
|
95
|
+
- **Returns Format**: Consistent return value documentation
|
|
96
|
+
|
|
97
|
+
#### **Validation Workflow**
|
|
98
|
+
1. **Format Compliance**: NumPy convention structure validation
|
|
99
|
+
2. **Section Presence**: Required sections existence check
|
|
100
|
+
3. **Style Consistency**: Uniform formatting across modules
|
|
101
|
+
4. **pydocstyle Integration**: Automated compliance checking
|
|
102
|
+
|
|
103
|
+
### **Task 4: Sphinx Integration Setup** (0.5 hours)
|
|
104
|
+
|
|
105
|
+
#### **Sphinx Configuration Updates**
|
|
106
|
+
```python
|
|
107
|
+
# docs/conf.py enhancements
|
|
108
|
+
extensions = [
|
|
109
|
+
'sphinx.ext.autodoc',
|
|
110
|
+
'sphinx.ext.napoleon', # NumPy/Google style docstrings
|
|
111
|
+
'sphinx.ext.viewcode',
|
|
112
|
+
'sphinx.ext.mathjax', # LaTeX math rendering
|
|
113
|
+
'sphinx.ext.doctest', # Docstring example testing
|
|
114
|
+
'numpydoc', # Enhanced NumPy docstring support
|
|
115
|
+
]
|
|
116
|
+
|
|
117
|
+
napoleon_config = {
|
|
118
|
+
'napoleon_google_docstring': False,
|
|
119
|
+
'napoleon_numpy_docstring': True,
|
|
120
|
+
'napoleon_include_init_with_doc': True,
|
|
121
|
+
'napoleon_include_private_with_doc': False,
|
|
122
|
+
'napoleon_include_special_with_doc': True,
|
|
123
|
+
'napoleon_use_admonition_for_examples': False,
|
|
124
|
+
'napoleon_use_admonition_for_notes': False,
|
|
125
|
+
'napoleon_use_admonition_for_references': False,
|
|
126
|
+
'napoleon_use_ivar': False,
|
|
127
|
+
'napoleon_use_param': True,
|
|
128
|
+
'napoleon_use_rtype': True,
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
#### **Documentation Build Configuration**
|
|
133
|
+
- **NumPy Style Support**: Napoleon extension for NumPy format
|
|
134
|
+
- **Consistent Rendering**: Standardized docstring presentation
|
|
135
|
+
- **Format Validation**: Sphinx build warnings for format issues
|
|
136
|
+
- **API Reference**: Clean automated documentation generation
|
|
137
|
+
|
|
138
|
+
## **Validation and Testing Criteria**
|
|
139
|
+
|
|
140
|
+
### **Tool Validation Requirements**
|
|
141
|
+
- [ ] pydocstyle runs successfully on entire codebase
|
|
142
|
+
- [ ] Coverage analysis script executes without errors
|
|
143
|
+
- [ ] Custom validation rules detect compliance issues correctly
|
|
144
|
+
- [ ] Sphinx builds enhanced documentation successfully
|
|
145
|
+
|
|
146
|
+
### **Baseline Format Compliance Metrics**
|
|
147
|
+
- [ ] **Format Distribution**: Percentage of NumPy vs other formats per module
|
|
148
|
+
- [ ] **Priority List**: Modules with highest format inconsistency
|
|
149
|
+
- [ ] **Compliance Report**: pydocstyle violation summary
|
|
150
|
+
- [ ] **Missing Documentation**: Functions completely lacking docstrings
|
|
151
|
+
|
|
152
|
+
### **Infrastructure Quality Checks**
|
|
153
|
+
- [ ] **pydocstyle Integration**: Automated format validation
|
|
154
|
+
- [ ] **Pre-commit Hooks**: Format checking in developer workflow
|
|
155
|
+
- [ ] **Sphinx Build**: Consistent documentation generation
|
|
156
|
+
- [ ] **Format Validation**: NumPy convention compliance checking
|
|
157
|
+
|
|
158
|
+
## **Deliverables**
|
|
159
|
+
|
|
160
|
+
### **Configuration Files**
|
|
161
|
+
- `.pydocstyle` - NumPy convention configuration
|
|
162
|
+
- `scripts/format_analysis.py` - Format compliance analysis tool
|
|
163
|
+
- `scripts/validate_formats.py` - NumPy format validation framework
|
|
164
|
+
- Updated `docs/conf.py` - NumPy-focused Sphinx configuration
|
|
165
|
+
|
|
166
|
+
### **Baseline Reports**
|
|
167
|
+
- **Format Report**: Current docstring format distribution by module
|
|
168
|
+
- **Compliance Report**: pydocstyle violations summary
|
|
169
|
+
- **Priority Matrix**: Standardization priority by format inconsistency
|
|
170
|
+
- **Missing Documentation**: Functions requiring basic docstrings
|
|
171
|
+
|
|
172
|
+
### **Validation Pipeline**
|
|
173
|
+
- **Pre-commit Integration**: Developer workflow validation
|
|
174
|
+
- **CI/CD Checks**: Automated pull request validation
|
|
175
|
+
- **Documentation Build**: Enhanced API reference generation
|
|
176
|
+
- **Example Testing**: Docstring code validation framework
|
|
177
|
+
|
|
178
|
+
## **Success Criteria**
|
|
179
|
+
|
|
180
|
+
### **Primary Infrastructure Goals**
|
|
181
|
+
- **Format Validation**: pydocstyle NumPy convention checking operational
|
|
182
|
+
- **Baseline Analysis**: Current format compliance status established
|
|
183
|
+
- **Standardization Pipeline**: Automated format validation framework
|
|
184
|
+
- **Sphinx Integration**: NumPy-focused documentation build capability
|
|
185
|
+
|
|
186
|
+
### **Quality Assurance Standards**
|
|
187
|
+
- **NumPy Compliance**: Validation rules enforce strict format adherence
|
|
188
|
+
- **Format Consistency**: Uniform docstring style across all modules
|
|
189
|
+
- **pydocstyle Integration**: Zero violations target for format compliance
|
|
190
|
+
- **Developer Integration**: Seamless format checking in development workflow
|
|
191
|
+
|
|
192
|
+
## **Next Phase Prerequisites**
|
|
193
|
+
|
|
194
|
+
### **Infrastructure Readiness**
|
|
195
|
+
- Format validation tools configured and operational
|
|
196
|
+
- Baseline format compliance metrics documented and analyzed
|
|
197
|
+
- Priority standardization list established and reviewed
|
|
198
|
+
- Documentation build pipeline tested for NumPy format support
|
|
199
|
+
|
|
200
|
+
### **Quality Framework**
|
|
201
|
+
- NumPy docstring format enforcement active
|
|
202
|
+
- Format consistency standards defined and implemented
|
|
203
|
+
- pydocstyle validation framework operational
|
|
204
|
+
- Automated format checking integrated into development workflow
|
|
205
|
+
|
|
206
|
+
This infrastructure foundation enables systematic, automated, and consistent docstring format standardization across the entire SolarWindPy codebase while maintaining existing scientific content accuracy.
|