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,119 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'Combined Plan and Checklist: LISIRD Sub-package'
|
|
3
|
+
about: Test plan and checklist for the solar_activity LISIRD sub-package.
|
|
4
|
+
labels: [sweep, SolarActivity, LISIRD]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<!--
|
|
8
|
+
This file was extracted from combined_test_plan_with_checklist_solar_activity.md.
|
|
9
|
+
Source lines: 1-45, 141-179, 239-263
|
|
10
|
+
-->
|
|
11
|
+
|
|
12
|
+
<!-- markdownlint-disable MD024 -->
|
|
13
|
+
|
|
14
|
+
# Combined Test Plan and Checklist for `solar_activity` Submodule (update-2025 branch)
|
|
15
|
+
|
|
16
|
+
## Overview
|
|
17
|
+
|
|
18
|
+
This document describes a comprehensive test suite for the
|
|
19
|
+
**solar_activity** submodule of SolarWindPy. The goals are to verify
|
|
20
|
+
behavior, mock external interactions, and isolate side effects.
|
|
21
|
+
|
|
22
|
+
### Checklist
|
|
23
|
+
|
|
24
|
+
- [ ] Use `pytest` and `unittest.mock` to verify classes, methods, and properties
|
|
25
|
+
- [ ] Mock external I/O such as HTTP downloads and file reads
|
|
26
|
+
- [ ] Use fixtures (`tmp_path`, `monkeypatch`) to isolate side effects
|
|
27
|
+
|
|
28
|
+
## Test Framework & Dependencies
|
|
29
|
+
|
|
30
|
+
- `pytest`
|
|
31
|
+
- `unittest.mock` (for HTTP and filesystem mocking)
|
|
32
|
+
- `pytest-monkeypatch` (monkeypatch fixture)
|
|
33
|
+
- `tmp_path` fixture (built into `pytest` for temporary directories)
|
|
34
|
+
|
|
35
|
+
### Checklist
|
|
36
|
+
|
|
37
|
+
- [ ] Ensure `pytest` is available
|
|
38
|
+
- [ ] Ensure `unittest.mock` is available for HTTP and filesystem mocking
|
|
39
|
+
- [ ] Ensure `pytest-monkeypatch` plugin is available
|
|
40
|
+
- [ ] Ensure `tmp_path` fixture from core `pytest` is available
|
|
41
|
+
|
|
42
|
+
## Fixtures
|
|
43
|
+
|
|
44
|
+
| Fixture | Purpose |
|
|
45
|
+
| ----------------- | -------------------------------------------- |
|
|
46
|
+
| `tmp_path` | Simulate `data_path` directories & files |
|
|
47
|
+
| `monkeypatch` | Patch network calls (e.g., `urllib.request`) |
|
|
48
|
+
| custom DataFrames | Provide synthetic time series inputs |
|
|
49
|
+
|
|
50
|
+
### Checklist
|
|
51
|
+
|
|
52
|
+
- [ ] Use `tmp_path` to simulate `data_path` directories & files
|
|
53
|
+
- [ ] Use `monkeypatch` to patch network calls such as `urllib.request`
|
|
54
|
+
- [ ] Use custom DataFrames for synthetic time series inputs
|
|
55
|
+
|
|
56
|
+
## 4. LISIRD Sub-package
|
|
57
|
+
|
|
58
|
+
### 4.1 `class LISIRD_ID`
|
|
59
|
+
|
|
60
|
+
#### Checklist
|
|
61
|
+
|
|
62
|
+
- [ ] Valid keys build URLs
|
|
63
|
+
- [ ] Invalid keys raise error
|
|
64
|
+
|
|
65
|
+
### 4.2 `class LISIRDLoader`
|
|
66
|
+
|
|
67
|
+
#### Checklist
|
|
68
|
+
|
|
69
|
+
- [ ] For `"Lalpha"`, unequal missing values in `convert_nans` raise `NotImplementedError`
|
|
70
|
+
- [ ] For other keys, `convert_nans` is a no-op
|
|
71
|
+
- [ ] DataFrame with duplicated `milliseconds` dropped in `verify_monotonic_epoch`
|
|
72
|
+
- [ ] Manual timestamps dropped for `"f107-penticton"` in `verify_monotonic_epoch`
|
|
73
|
+
- [ ] Mock `urllib.request.urlopen` to return JSON; assert CSV & JSON outputs in
|
|
74
|
+
`download_data`
|
|
75
|
+
- [ ] Fake CSV & JSON in `data_path/today.*`, assert `loader.data` & `loader.meta`
|
|
76
|
+
in `load_data`
|
|
77
|
+
|
|
78
|
+
### 4.3 `class LISIRD`
|
|
79
|
+
|
|
80
|
+
#### Checklist
|
|
81
|
+
|
|
82
|
+
- [ ] Monkeypatch loader to return dummy data
|
|
83
|
+
- [ ] Assert `normalized` behavior
|
|
84
|
+
- [ ] Assert `run_normalization` behavior
|
|
85
|
+
- [ ] Assert `interpolate_data()` behavior
|
|
86
|
+
|
|
87
|
+
### 4.4 `class LISIRDExtrema`
|
|
88
|
+
|
|
89
|
+
#### Checklist
|
|
90
|
+
|
|
91
|
+
- [ ] Monkeypatch `ExtremaCalculator` to return known `formatted_extrema`
|
|
92
|
+
|
|
93
|
+
______________________________________________________________________
|
|
94
|
+
|
|
95
|
+
## Test File Structure
|
|
96
|
+
|
|
97
|
+
```text
|
|
98
|
+
tests/
|
|
99
|
+
solar_activity/
|
|
100
|
+
test_init.py
|
|
101
|
+
test_base.py
|
|
102
|
+
test_plots.py
|
|
103
|
+
lisird/
|
|
104
|
+
test_lisird_id.py
|
|
105
|
+
test_lisird_loader.py
|
|
106
|
+
test_lisird.py
|
|
107
|
+
test_extrema_calculator.py
|
|
108
|
+
sunspot_number/
|
|
109
|
+
test_sidc_id.py
|
|
110
|
+
test_sidc_loader.py
|
|
111
|
+
test_sidc.py
|
|
112
|
+
test_ssnextrema.py
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### Checklist
|
|
116
|
+
|
|
117
|
+
- [ ] Mirror the test file structure as described above
|
|
118
|
+
- [ ] Add this plan as `solar_activity_TEST_PLAN.md` at the root of the
|
|
119
|
+
`solar_activity` module
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'Combined Plan and Checklist: Extrema Calculator'
|
|
3
|
+
about: Test plan and checklist for the solar_activity extrema calculator.
|
|
4
|
+
labels: [sweep, SolarActivity, SolarCycleExtrema]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<!--
|
|
8
|
+
This file was extracted from combined_test_plan_with_checklist_solar_activity.md.
|
|
9
|
+
Source lines: 1-45, 181-197, 239-263
|
|
10
|
+
-->
|
|
11
|
+
|
|
12
|
+
<!-- markdownlint-disable MD024 -->
|
|
13
|
+
|
|
14
|
+
# Combined Test Plan and Checklist for `solar_activity` Submodule (update-2025 branch)
|
|
15
|
+
|
|
16
|
+
## Overview
|
|
17
|
+
|
|
18
|
+
This document describes a comprehensive test suite for the
|
|
19
|
+
**solar_activity** submodule of SolarWindPy. The goals are to verify
|
|
20
|
+
behavior, mock external interactions, and isolate side effects.
|
|
21
|
+
|
|
22
|
+
### Checklist
|
|
23
|
+
|
|
24
|
+
- [ ] Use `pytest` and `unittest.mock` to verify classes, methods, and properties
|
|
25
|
+
- [ ] Mock external I/O such as HTTP downloads and file reads
|
|
26
|
+
- [ ] Use fixtures (`tmp_path`, `monkeypatch`) to isolate side effects
|
|
27
|
+
|
|
28
|
+
______________________________________________________________________
|
|
29
|
+
|
|
30
|
+
## Test Framework & Dependencies
|
|
31
|
+
|
|
32
|
+
- `pytest`
|
|
33
|
+
- `unittest.mock` (for HTTP and filesystem mocking)
|
|
34
|
+
- `pytest-monkeypatch` (monkeypatch fixture)
|
|
35
|
+
- `tmp_path` fixture (built into `pytest` for temporary directories)
|
|
36
|
+
|
|
37
|
+
### Checklist
|
|
38
|
+
|
|
39
|
+
- [ ] Ensure `pytest` is available
|
|
40
|
+
- [ ] Ensure `unittest.mock` is available for HTTP and filesystem mocking
|
|
41
|
+
- [ ] Ensure `pytest-monkeypatch` plugin is available
|
|
42
|
+
- [ ] Ensure `tmp_path` fixture from core `pytest` is available
|
|
43
|
+
|
|
44
|
+
______________________________________________________________________
|
|
45
|
+
|
|
46
|
+
## Fixtures
|
|
47
|
+
|
|
48
|
+
| Fixture | Purpose |
|
|
49
|
+
| ----------------- | -------------------------------------------- |
|
|
50
|
+
| `tmp_path` | Simulate `data_path` directories & files |
|
|
51
|
+
| `monkeypatch` | Patch network calls (e.g., `urllib.request`) |
|
|
52
|
+
| custom DataFrames | Provide synthetic time series inputs |
|
|
53
|
+
|
|
54
|
+
### Checklist
|
|
55
|
+
|
|
56
|
+
- [ ] Use `tmp_path` to simulate `data_path` directories & files
|
|
57
|
+
- [ ] Use `monkeypatch` to patch network calls such as `urllib.request`
|
|
58
|
+
- [ ] Use custom DataFrames for synthetic time series inputs
|
|
59
|
+
|
|
60
|
+
## 5. Extrema Calculator
|
|
61
|
+
|
|
62
|
+
### 5.1 `class ExtremaCalculator`
|
|
63
|
+
|
|
64
|
+
#### Checklist
|
|
65
|
+
|
|
66
|
+
- [ ] `set_name`: invalid names raise `ValueError`
|
|
67
|
+
- [ ] `set_data`: handle window and data shift
|
|
68
|
+
- [ ] `set_threshold`: callable vs scalar
|
|
69
|
+
- [ ] `find_threshold_crossings`: correct crossing indices
|
|
70
|
+
- [ ] `cut_data_into_extrema_finding_intervals`: correct binning
|
|
71
|
+
- [ ] `_find_extrema` logic
|
|
72
|
+
- [ ] `_validate_extrema` logic
|
|
73
|
+
- [ ] `format_extrema` logic
|
|
74
|
+
- [ ] `find_extrema` logic
|
|
75
|
+
- [ ] `make_plot`: conditional plotting
|
|
76
|
+
|
|
77
|
+
______________________________________________________________________
|
|
78
|
+
|
|
79
|
+
## Test File Structure
|
|
80
|
+
|
|
81
|
+
```text
|
|
82
|
+
tests/
|
|
83
|
+
solar_activity/
|
|
84
|
+
test_init.py
|
|
85
|
+
test_base.py
|
|
86
|
+
test_plots.py
|
|
87
|
+
lisird/
|
|
88
|
+
test_lisird_id.py
|
|
89
|
+
test_lisird_loader.py
|
|
90
|
+
test_lisird.py
|
|
91
|
+
test_extrema_calculator.py
|
|
92
|
+
sunspot_number/
|
|
93
|
+
test_sidc_id.py
|
|
94
|
+
test_sidc_loader.py
|
|
95
|
+
test_sidc.py
|
|
96
|
+
test_ssnextrema.py
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Checklist
|
|
100
|
+
|
|
101
|
+
- [ ] Mirror the test file structure as described above
|
|
102
|
+
- [ ] Add this plan as `solar_activity_TEST_PLAN.md` at the root of the
|
|
103
|
+
`solar_activity` module
|
plans/completed/combined_test_plan_with_checklist_solar_activity/6-Sunspot-Number-Sub-package.md
ADDED
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'Combined Plan and Checklist: Sunspot Number Sub-package'
|
|
3
|
+
about: Test plan and checklist for the solar_activity sunspot number sub-package.
|
|
4
|
+
labels: [sweep, SolarActivity, SSN]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
# 6-Sunspot-Number-Sub-package
|
|
9
|
+
|
|
10
|
+
## 🧠 Context
|
|
11
|
+
|
|
12
|
+
> Extracted from plans/combined_test_plan_with_checklist_solar_activity.md
|
|
13
|
+
|
|
14
|
+
<!-- markdownlint-disable-next-line MD013 -->
|
|
15
|
+
|
|
16
|
+
### Combined Test Plan and Checklist for `solar_activity` Submodule (update-2025 branch)
|
|
17
|
+
|
|
18
|
+
## Overview
|
|
19
|
+
|
|
20
|
+
This document describes a comprehensive test suite for the **solar_activity**
|
|
21
|
+
submodule of SolarWindPy. The goals are to verify behavior, mock external
|
|
22
|
+
interactions, and isolate side effects.
|
|
23
|
+
|
|
24
|
+
### Overview Checklist
|
|
25
|
+
|
|
26
|
+
- [ ] Use `pytest` and `unittest.mock` to verify classes, methods, and properties
|
|
27
|
+
- [ ] Mock external I/O such as HTTP downloads and file reads
|
|
28
|
+
- [ ] Use fixtures (`tmp_path`, `monkeypatch`) to isolate side effects
|
|
29
|
+
|
|
30
|
+
______________________________________________________________________
|
|
31
|
+
|
|
32
|
+
## 🎯 Overview of the Task
|
|
33
|
+
|
|
34
|
+
## 6. Sunspot Number Sub-package
|
|
35
|
+
|
|
36
|
+
### 6.1 `class SIDC_ID`
|
|
37
|
+
|
|
38
|
+
#### SIDC_ID Checklist
|
|
39
|
+
|
|
40
|
+
- [ ] Valid keys build URLs
|
|
41
|
+
- [ ] Invalid keys raise error
|
|
42
|
+
|
|
43
|
+
### 6.2 `class SIDCLoader`
|
|
44
|
+
|
|
45
|
+
#### SIDCLoader Checklist
|
|
46
|
+
|
|
47
|
+
- [ ] `convert_nans`: replace `-1` with `np.nan`
|
|
48
|
+
- [ ] `download_data`: mock `pd.read_csv`; assert CSV is created
|
|
49
|
+
- [ ] `load_data`: verify `cycle` column is produced
|
|
50
|
+
|
|
51
|
+
### 6.3 `class SIDC`
|
|
52
|
+
|
|
53
|
+
#### SIDC Checklist
|
|
54
|
+
|
|
55
|
+
- [ ] Init with dummy loader & `SSNExtrema`
|
|
56
|
+
- [ ] Test `calculate_extrema_kind`
|
|
57
|
+
- [ ] Test `calculate_edge`
|
|
58
|
+
- [ ] Test `normalized`
|
|
59
|
+
- [ ] Test `run_normalization`
|
|
60
|
+
- [ ] Test `cut_spec_by_ssn_band`
|
|
61
|
+
- [ ] Test `interpolate_data`
|
|
62
|
+
- [ ] Test `plot_on_colorbar`
|
|
63
|
+
|
|
64
|
+
### 6.4 `class SSNExtrema`
|
|
65
|
+
|
|
66
|
+
#### SSNExtrema Checklist
|
|
67
|
+
|
|
68
|
+
- [ ] Temporary `ssn_extrema.csv`, assert parsed `data`
|
|
69
|
+
- [ ] Passing args/kwargs raises `ValueError`
|
|
70
|
+
|
|
71
|
+
______________________________________________________________________
|
|
72
|
+
|
|
73
|
+
## 🔧 Framework & Dependencies
|
|
74
|
+
|
|
75
|
+
- `pytest`
|
|
76
|
+
- `unittest.mock` (for HTTP and filesystem mocking)
|
|
77
|
+
- `pytest-monkeypatch` (monkeypatch fixture)
|
|
78
|
+
- `tmp_path` fixture (built into `pytest` for temporary directories)
|
|
79
|
+
|
|
80
|
+
### Framework Checklist
|
|
81
|
+
|
|
82
|
+
- [ ] Ensure `pytest` is available
|
|
83
|
+
- [ ] Ensure `unittest.mock` is available for HTTP and filesystem mocking
|
|
84
|
+
- [ ] Ensure `pytest-monkeypatch` plugin is available
|
|
85
|
+
- [ ] Ensure `tmp_path` fixture from core `pytest` is available
|
|
86
|
+
|
|
87
|
+
______________________________________________________________________
|
|
88
|
+
|
|
89
|
+
## 📂 Affected Files and Paths
|
|
90
|
+
|
|
91
|
+
### Fixtures
|
|
92
|
+
|
|
93
|
+
| Fixture | Purpose |
|
|
94
|
+
| ----------------- | -------------------------------------------- |
|
|
95
|
+
| `tmp_path` | Simulate `data_path` directories & files |
|
|
96
|
+
| `monkeypatch` | Patch network calls (e.g., `urllib.request`) |
|
|
97
|
+
| custom DataFrames | Provide synthetic time series inputs |
|
|
98
|
+
|
|
99
|
+
### Fixtures Checklist
|
|
100
|
+
|
|
101
|
+
- [ ] Use `tmp_path` to simulate `data_path` directories & files
|
|
102
|
+
- [ ] Use `monkeypatch` to patch network calls such as `urllib.request`
|
|
103
|
+
- [ ] Use custom DataFrames for synthetic time series inputs
|
|
104
|
+
|
|
105
|
+
### Test File Structure
|
|
106
|
+
|
|
107
|
+
```text
|
|
108
|
+
tests/
|
|
109
|
+
solar_activity/
|
|
110
|
+
test_init.py
|
|
111
|
+
test_base.py
|
|
112
|
+
test_plots.py
|
|
113
|
+
lisird/
|
|
114
|
+
test_lisird_id.py
|
|
115
|
+
test_lisird_loader.py
|
|
116
|
+
test_lisird.py
|
|
117
|
+
test_extrema_calculator.py
|
|
118
|
+
sunspot_number/
|
|
119
|
+
test_sidc_id.py
|
|
120
|
+
test_sidc_loader.py
|
|
121
|
+
test_sidc.py
|
|
122
|
+
test_ssnextrema.py
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Test File Structure Checklist
|
|
126
|
+
|
|
127
|
+
- [ ] Mirror the test file structure as described above
|
|
128
|
+
- [ ] Add this plan as `solar_activity_TEST_PLAN.md` at the root of the
|
|
129
|
+
`solar_activity` module
|
|
130
|
+
|
|
131
|
+
## 📊 Figures, Diagrams, or Artifacts (Optional)
|
|
132
|
+
|
|
133
|
+
_None._
|
|
134
|
+
|
|
135
|
+
## ✅ Acceptance Criteria
|
|
136
|
+
|
|
137
|
+
- [ ] Valid keys build URLs
|
|
138
|
+
- [ ] Invalid keys raise error
|
|
139
|
+
- [ ] `convert_nans`: replace `-1` with `np.nan`
|
|
140
|
+
- [ ] `download_data`: mock `pd.read_csv`; assert CSV is created
|
|
141
|
+
- [ ] `load_data`: verify `cycle` column is produced
|
|
142
|
+
- [ ] Init with dummy loader & `SSNExtrema`
|
|
143
|
+
- [ ] Test `calculate_extrema_kind`
|
|
144
|
+
- [ ] Test `calculate_edge`
|
|
145
|
+
- [ ] Test `normalized`
|
|
146
|
+
- [ ] Test `run_normalization`
|
|
147
|
+
- [ ] Test `cut_spec_by_ssn_band`
|
|
148
|
+
- [ ] Test `interpolate_data`
|
|
149
|
+
- [ ] Test `plot_on_colorbar`
|
|
150
|
+
- [ ] Temporary `ssn_extrema.csv`, assert parsed `data`
|
|
151
|
+
- [ ] Passing args/kwargs raises `ValueError`
|
|
152
|
+
|
|
153
|
+
## 🧩 Decomposition Instructions (Optional)
|
|
154
|
+
|
|
155
|
+
_None._
|
|
156
|
+
|
|
157
|
+
## 🤖 Sweep Agent Instructions (Optional)
|
|
158
|
+
|
|
159
|
+
_None._
|
|
160
|
+
|
|
161
|
+
## 💬 Additional Notes
|
|
162
|
+
|
|
163
|
+
_None._
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'Combined Plan and Checklist: Sunspot Number Package Init'
|
|
3
|
+
about: Unified documentation and checklist for validating sunspot_number package initialization.
|
|
4
|
+
labels: [sweep, SolarActivity, sunspot_number, package_init]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
> Phase 7 of Enhanced Solar Activity Test Plan
|
|
8
|
+
|
|
9
|
+
## 🧠 Context
|
|
10
|
+
|
|
11
|
+
The `solarwindpy.solar_activity.sunspot_number.__init__.py` module serves as the package initialization file for sunspot number functionality. While minimal, it plays a crucial role in establishing the package structure and ensuring proper import accessibility of the SIDC interface module.
|
|
12
|
+
|
|
13
|
+
### Key Components
|
|
14
|
+
- **Package Structure**: Defines `sunspot_number` as a proper Python package
|
|
15
|
+
- **Module Exports**: Controls what's available when importing from the package
|
|
16
|
+
- **SIDC Integration**: Imports and exposes the `sidc` module functionality
|
|
17
|
+
|
|
18
|
+
### Dependencies
|
|
19
|
+
- Imports `sidc` module from the same package
|
|
20
|
+
- Relies on proper package structure for import resolution
|
|
21
|
+
|
|
22
|
+
## 📋 Comprehensive Test Checklist
|
|
23
|
+
|
|
24
|
+
### 7.1 Package Structure and Imports
|
|
25
|
+
|
|
26
|
+
#### Import verification
|
|
27
|
+
- [ ] **Module import**: `from . import sidc` executes successfully
|
|
28
|
+
- [ ] **Import accessibility**: `sidc` module accessible after import
|
|
29
|
+
- [ ] **Relative import**: Relative import syntax works correctly
|
|
30
|
+
- [ ] **No import errors**: Import statement doesn't raise ImportError
|
|
31
|
+
|
|
32
|
+
#### Package structure
|
|
33
|
+
- [ ] **Package recognition**: `sunspot_number` recognized as Python package
|
|
34
|
+
- [ ] **Init file presence**: `__init__.py` file exists and is valid Python
|
|
35
|
+
- [ ] **Package hierarchy**: Proper nesting within `solar_activity` parent package
|
|
36
|
+
- [ ] **Module accessibility**: Imported modules accessible from package namespace
|
|
37
|
+
|
|
38
|
+
### 7.2 Module Accessibility
|
|
39
|
+
|
|
40
|
+
#### SIDC module access
|
|
41
|
+
- [ ] **Direct access**: `sidc` module accessible after package import
|
|
42
|
+
- [ ] **Functional access**: SIDC functionality accessible through package
|
|
43
|
+
- [ ] **Attribute access**: `sunspot_number.sidc` provides access to SIDC module
|
|
44
|
+
- [ ] **Import path validation**: Valid import paths from external modules
|
|
45
|
+
|
|
46
|
+
#### Package-level imports
|
|
47
|
+
- [ ] **External imports**: Package importable from external modules
|
|
48
|
+
- [ ] **Submodule imports**: Submodules importable through package
|
|
49
|
+
- [ ] **Import patterns**: Multiple import patterns work correctly
|
|
50
|
+
- [ ] **Circular import prevention**: No circular import issues
|
|
51
|
+
|
|
52
|
+
### 7.3 Package Documentation and Metadata
|
|
53
|
+
|
|
54
|
+
#### Module docstring
|
|
55
|
+
- [ ] **Docstring presence**: Module has descriptive docstring
|
|
56
|
+
- [ ] **Documentation accuracy**: Docstring accurately describes package purpose
|
|
57
|
+
- [ ] **Docstring format**: Follows standard Python docstring conventions
|
|
58
|
+
- [ ] **Content relevance**: Documentation relevant to sunspot number functionality
|
|
59
|
+
|
|
60
|
+
#### Package metadata (if present)
|
|
61
|
+
- [ ] **Version information**: Version information properly defined
|
|
62
|
+
- [ ] **Author information**: Author/maintainer information if present
|
|
63
|
+
- [ ] **Package description**: Clear description of package purpose
|
|
64
|
+
- [ ] **Metadata consistency**: Consistent with parent package metadata
|
|
65
|
+
|
|
66
|
+
### 7.4 Import Behavior Testing
|
|
67
|
+
|
|
68
|
+
#### Standard import patterns
|
|
69
|
+
- [ ] **Full package import**: `import solarwindpy.solar_activity.sunspot_number`
|
|
70
|
+
- [ ] **From import**: `from solarwindpy.solar_activity import sunspot_number`
|
|
71
|
+
- [ ] **Submodule import**: `from solarwindpy.solar_activity.sunspot_number import sidc`
|
|
72
|
+
- [ ] **Aliased imports**: Import with aliases works correctly
|
|
73
|
+
|
|
74
|
+
#### Import error handling
|
|
75
|
+
- [ ] **Missing dependencies**: Graceful handling of missing `sidc` module
|
|
76
|
+
- [ ] **Import failure recovery**: Proper error messages for import failures
|
|
77
|
+
- [ ] **Dependency validation**: Validation of required dependencies
|
|
78
|
+
- [ ] **Error propagation**: Appropriate error propagation to importing code
|
|
79
|
+
|
|
80
|
+
### 7.5 Integration with Parent Package
|
|
81
|
+
|
|
82
|
+
#### Solar activity integration
|
|
83
|
+
- [ ] **Parent package access**: Accessible from parent `solar_activity` package
|
|
84
|
+
- [ ] **Namespace consistency**: Consistent with parent package namespace
|
|
85
|
+
- [ ] **Import coordination**: Proper coordination with parent package imports
|
|
86
|
+
- [ ] **Package hierarchy**: Maintains proper package hierarchy
|
|
87
|
+
|
|
88
|
+
#### Cross-module integration
|
|
89
|
+
- [ ] **LISIRD compatibility**: Compatible with LISIRD sub-package
|
|
90
|
+
- [ ] **Base class integration**: Integrates with solar activity base classes
|
|
91
|
+
- [ ] **Plotting integration**: Integrates with solar activity plotting utilities
|
|
92
|
+
- [ ] **Aggregation compatibility**: Compatible with `get_all_indices()` functionality
|
|
93
|
+
|
|
94
|
+
### 7.6 Namespace Management
|
|
95
|
+
|
|
96
|
+
#### Symbol exposure
|
|
97
|
+
- [ ] **SIDC exposure**: SIDC module properly exposed through package
|
|
98
|
+
- [ ] **Namespace pollution**: No unnecessary namespace pollution
|
|
99
|
+
- [ ] **Clean imports**: Clean import behavior without side effects
|
|
100
|
+
- [ ] **Symbol accessibility**: Required symbols accessible through package
|
|
101
|
+
|
|
102
|
+
#### Import side effects
|
|
103
|
+
- [ ] **No side effects**: Import doesn't cause unwanted side effects
|
|
104
|
+
- [ ] **Clean namespace**: Package namespace remains clean
|
|
105
|
+
- [ ] **Module isolation**: Modules remain properly isolated
|
|
106
|
+
- [ ] **Import performance**: Import performance acceptable
|
|
107
|
+
|
|
108
|
+
### 7.7 Error Handling and Edge Cases
|
|
109
|
+
|
|
110
|
+
#### Import error scenarios
|
|
111
|
+
- [ ] **Missing SIDC**: Behavior when SIDC module unavailable
|
|
112
|
+
- [ ] **Corrupted module**: Handling of corrupted SIDC module
|
|
113
|
+
- [ ] **Permission errors**: Handling of file permission issues
|
|
114
|
+
- [ ] **Path resolution**: Proper path resolution for imports
|
|
115
|
+
|
|
116
|
+
#### Edge case handling
|
|
117
|
+
- [ ] **Empty package**: Handling of empty or minimal package
|
|
118
|
+
- [ ] **Multiple imports**: Behavior with repeated imports
|
|
119
|
+
- [ ] **Import from different contexts**: Imports from different execution contexts
|
|
120
|
+
- [ ] **Reload behavior**: Package reload behavior if applicable
|
|
121
|
+
|
|
122
|
+
### 7.8 Testing Infrastructure
|
|
123
|
+
|
|
124
|
+
#### Test setup
|
|
125
|
+
- [ ] **Import testing**: Framework for testing import behavior
|
|
126
|
+
- [ ] **Mock support**: Support for mocking SIDC module if needed
|
|
127
|
+
- [ ] **Isolation testing**: Testing import isolation
|
|
128
|
+
- [ ] **Error simulation**: Simulation of import error conditions
|
|
129
|
+
|
|
130
|
+
#### Test patterns
|
|
131
|
+
- [ ] **Unit tests**: Unit tests for package initialization
|
|
132
|
+
- [ ] **Integration tests**: Integration tests with parent package
|
|
133
|
+
- [ ] **Import tests**: Specific tests for import patterns
|
|
134
|
+
- [ ] **Error condition tests**: Tests for error conditions
|
|
135
|
+
|
|
136
|
+
### 7.9 Performance Considerations
|
|
137
|
+
|
|
138
|
+
#### Import performance
|
|
139
|
+
- [ ] **Import speed**: Package imports quickly
|
|
140
|
+
- [ ] **Memory usage**: Minimal memory overhead from imports
|
|
141
|
+
- [ ] **Lazy loading**: Efficient lazy loading where applicable
|
|
142
|
+
- [ ] **Import caching**: Proper caching of imported modules
|
|
143
|
+
|
|
144
|
+
#### Resource efficiency
|
|
145
|
+
- [ ] **Minimal overhead**: Minimal package initialization overhead
|
|
146
|
+
- [ ] **Resource cleanup**: Proper cleanup of resources if applicable
|
|
147
|
+
- [ ] **Memory management**: Efficient memory management during imports
|
|
148
|
+
- [ ] **Performance monitoring**: Monitoring of import performance
|
|
149
|
+
|
|
150
|
+
### 7.10 Documentation and Usage
|
|
151
|
+
|
|
152
|
+
#### Usage documentation
|
|
153
|
+
- [ ] **Import examples**: Clear examples of package import patterns
|
|
154
|
+
- [ ] **Usage patterns**: Documentation of common usage patterns
|
|
155
|
+
- [ ] **Best practices**: Best practices for using the package
|
|
156
|
+
- [ ] **Integration examples**: Examples of integration with other modules
|
|
157
|
+
|
|
158
|
+
#### Developer documentation
|
|
159
|
+
- [ ] **Package structure**: Documentation of package structure
|
|
160
|
+
- [ ] **Import behavior**: Documentation of import behavior
|
|
161
|
+
- [ ] **Extension guidelines**: Guidelines for extending the package
|
|
162
|
+
- [ ] **Maintenance notes**: Notes for package maintenance
|
|
163
|
+
|
|
164
|
+
### 7.11 Quality Assurance
|
|
165
|
+
|
|
166
|
+
#### Code quality
|
|
167
|
+
- [ ] **PEP 8 compliance**: Code follows PEP 8 style guidelines
|
|
168
|
+
- [ ] **Import style**: Import statements follow recommended style
|
|
169
|
+
- [ ] **Documentation style**: Documentation follows style guidelines
|
|
170
|
+
- [ ] **Consistency**: Consistent with other package modules
|
|
171
|
+
|
|
172
|
+
#### Validation
|
|
173
|
+
- [ ] **Import validation**: Validation of import statements
|
|
174
|
+
- [ ] **Package validation**: Validation of package structure
|
|
175
|
+
- [ ] **Documentation validation**: Validation of documentation accuracy
|
|
176
|
+
- [ ] **Integration validation**: Validation of integration with other modules
|
|
177
|
+
|
|
178
|
+
## 🎯 Testing Strategy
|
|
179
|
+
|
|
180
|
+
### Unit Testing Approach
|
|
181
|
+
- Test package import functionality in isolation
|
|
182
|
+
- Verify SIDC module accessibility through package
|
|
183
|
+
- Test various import patterns and error conditions
|
|
184
|
+
- Validate package structure and hierarchy
|
|
185
|
+
|
|
186
|
+
### Integration Testing
|
|
187
|
+
- Test integration with parent solar_activity package
|
|
188
|
+
- Verify compatibility with other solar activity modules
|
|
189
|
+
- Test end-to-end import workflows
|
|
190
|
+
- Validate namespace management across modules
|
|
191
|
+
|
|
192
|
+
### Error Testing
|
|
193
|
+
- Test behavior with missing or corrupted SIDC module
|
|
194
|
+
- Test import error handling and recovery
|
|
195
|
+
- Test edge cases and boundary conditions
|
|
196
|
+
- Validate error messages and propagation
|
|
197
|
+
|
|
198
|
+
### Performance Testing
|
|
199
|
+
- Monitor import performance and memory usage
|
|
200
|
+
- Test repeated import behavior
|
|
201
|
+
- Validate resource cleanup and management
|
|
202
|
+
- Ensure minimal package initialization overhead
|
|
203
|
+
|
|
204
|
+
## 🎯 Success Criteria
|
|
205
|
+
|
|
206
|
+
- Package imports successfully in all supported Python environments
|
|
207
|
+
- SIDC module accessible through package namespace
|
|
208
|
+
- No import errors or unexpected side effects
|
|
209
|
+
- Clean integration with parent package structure
|
|
210
|
+
- Proper error handling for import failures
|
|
211
|
+
- Documentation accurately reflects package behavior
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
**Estimated Time**: 0.5 hours
|
|
216
|
+
**Dependencies**: SIDC module, package structure
|
|
217
|
+
**Priority**: LOW (Simple package initialization, but needed for 100% coverage)
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Compacted Context State - Solar Activity Test Implementation
|
|
2
|
+
|
|
3
|
+
## Compaction Metadata
|
|
4
|
+
- **Plan Name**: combined_test_plan_with_checklist_solar_activity
|
|
5
|
+
- **Source Agent**: PlanImplementer
|
|
6
|
+
- **Agent Context**: Implementation workflow state
|
|
7
|
+
- **Compaction Timestamp**: 2025-08-12T15:30:00Z
|
|
8
|
+
- **Token Efficiency**: ~1100 → 520 tokens (53% reduction)
|
|
9
|
+
- **Session Extension**: 580 token capacity increase (1.53x session length)
|
|
10
|
+
- **Git Validation**: ✅ Commits verified with feature branch alignment
|
|
11
|
+
- **Resumption Quality**: High based on complete phase tracking
|
|
12
|
+
|
|
13
|
+
## Current State Summary
|
|
14
|
+
- **Active Objectives**: Phase 3 plotting helpers testing, maintain ≥95% coverage target
|
|
15
|
+
- **Immediate Tasks**: implement plots.py testing, continue LISIRD sub-package Phase 4
|
|
16
|
+
- **Critical Dependencies**: pytest + unittest.mock framework, HTTP mocking patterns
|
|
17
|
+
- **Branch Status**: feature/solar-activity-testing active, plan branch 5776cec synchronized
|
|
18
|
+
- **Integration Points**: TestEngineer patterns, tmp_path isolation, synthetic fixtures
|
|
19
|
+
|
|
20
|
+
## Progress Snapshot (Git-Validated)
|
|
21
|
+
- **Branch State**: plan/solar-activity-testing ↔ feature/solar-activity-testing sync confirmed
|
|
22
|
+
- **Verified Completion**: 2/7 phases ✓ with commits: c145774 (Phase 1), 2713d8a (Phase 2)
|
|
23
|
+
- **Velocity Intelligence**: 4 hours actual vs 4 hours estimated (100% accuracy calibration)
|
|
24
|
+
- **Progress Quality**: 44/47 tests passing (93.6% success rate) with professional fixtures
|
|
25
|
+
- **Session Continuity**: Phase 3 priorities validated with 8.5 hours remaining estimate
|
|
26
|
+
- **Evidence Integrity**: 2 commits confirm accuracy, TestEngineer validation patterns preserved
|
|
27
|
+
|
|
28
|
+
## Agent-Specific Compacted Context
|
|
29
|
+
|
|
30
|
+
### [For PlanImplementer] Implementation State
|
|
31
|
+
- **Active Implementation**: Phase 3 plotting helpers on feature/solar-activity-testing branch
|
|
32
|
+
- **Branch Coordination**: plan ↔ feature sync with commit alignment c145774, 2713d8a
|
|
33
|
+
- **QA Status**: 93.6% test success rate (44/47), professional pytest patterns established
|
|
34
|
+
- **Archived Implementation**: Phase-1: __init__.py complete, Phase-2: base.py complete with comprehensive coverage
|
|
35
|
+
|
|
36
|
+
## Resumption Instructions
|
|
37
|
+
|
|
38
|
+
### Immediate Session Startup (2 minutes)
|
|
39
|
+
1. **Git Recovery**: `git checkout feature/solar-activity-testing` and validate sync status
|
|
40
|
+
2. **Context Restoration**: Resume PlanImplementer workflow at Phase 3: Plotting Helpers (plots.py)
|
|
41
|
+
3. **Priority Validation**: Confirm plots.py testing aligns with 2-hour estimate
|
|
42
|
+
|
|
43
|
+
### Agent-Specific Resumption
|
|
44
|
+
- **PlanImplementer**: Continue Phase 3 implementation, maintain HTTP mocking patterns, target ≥95% coverage
|
|
45
|
+
- **Next Phases**: 4-LISIRD (3h), 5-Extrema (2h), 6-Sunspot (3h), 7-Init (0.5h) = 8.5h remaining
|
|
46
|
+
- **Quality Standards**: Maintain pytest + unittest.mock + tmp_path pattern from Phases 1-2
|
|
47
|
+
|
|
48
|
+
### Quality Continuity Checklist
|
|
49
|
+
- [ ] PlanImplementer context restored at Phase 3: Plotting Helpers
|
|
50
|
+
- [ ] Git state validated: feature branch active and synchronized
|
|
51
|
+
- [ ] Session priorities confirmed: plots.py testing within 2-hour token budget
|
|
52
|
+
- [ ] TestEngineer integration ready: professional patterns established from Phases 1-2
|