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,264 @@
|
|
|
1
|
+
# Phase 5: TestPyPI Validation
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
Perform comprehensive validation of the v0.1.0-rc5 package deployed to TestPyPI to ensure functionality, dependencies, and metadata correctness before proceeding to production release.
|
|
5
|
+
|
|
6
|
+
## Objectives
|
|
7
|
+
- Validate package installation from TestPyPI
|
|
8
|
+
- Test core functionality and imports
|
|
9
|
+
- Verify dependency resolution
|
|
10
|
+
- Confirm metadata accuracy
|
|
11
|
+
- Validate version detection
|
|
12
|
+
- Document any issues requiring resolution
|
|
13
|
+
|
|
14
|
+
## Tasks
|
|
15
|
+
|
|
16
|
+
### Task 5.1: Clean Environment Installation Test (15 minutes)
|
|
17
|
+
**Purpose**: Verify package installs correctly in fresh environment
|
|
18
|
+
|
|
19
|
+
**Implementation Steps:**
|
|
20
|
+
```bash
|
|
21
|
+
# Create completely clean test environment
|
|
22
|
+
conda create -n solarwindpy-test python=3.12 -y
|
|
23
|
+
conda activate solarwindpy-test
|
|
24
|
+
|
|
25
|
+
# Install from TestPyPI with PyPI fallback for dependencies
|
|
26
|
+
pip install --index-url https://test.pypi.org/simple/ \
|
|
27
|
+
--extra-index-url https://pypi.org/simple/ \
|
|
28
|
+
solarwindpy==0.1.0rc5
|
|
29
|
+
|
|
30
|
+
# Verify installation succeeded
|
|
31
|
+
echo "Installation completed. Testing import..."
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
**Success Criteria:**
|
|
35
|
+
- No installation errors
|
|
36
|
+
- All dependencies resolve correctly
|
|
37
|
+
- Package installs to expected location
|
|
38
|
+
|
|
39
|
+
### Task 5.2: Core Functionality Validation (10 minutes)
|
|
40
|
+
**Purpose**: Confirm essential package functionality works correctly
|
|
41
|
+
|
|
42
|
+
**Implementation Steps:**
|
|
43
|
+
```python
|
|
44
|
+
# Test basic imports and version detection
|
|
45
|
+
python -c "
|
|
46
|
+
import solarwindpy as swp
|
|
47
|
+
print(f'SolarWindPy version: {swp.__version__}')
|
|
48
|
+
print('Basic import successful')
|
|
49
|
+
|
|
50
|
+
# Test core classes
|
|
51
|
+
from solarwindpy.core import Plasma, Ion
|
|
52
|
+
print('Core classes imported successfully')
|
|
53
|
+
|
|
54
|
+
# Test key modules
|
|
55
|
+
import solarwindpy.plotting as pp
|
|
56
|
+
import solarwindpy.tools as tools
|
|
57
|
+
print('Key modules imported successfully')
|
|
58
|
+
|
|
59
|
+
# Test package structure
|
|
60
|
+
print('Available modules:', [attr for attr in dir(swp) if not attr.startswith('_')])
|
|
61
|
+
"
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**Expected Output:**
|
|
65
|
+
```
|
|
66
|
+
SolarWindPy version: 0.1.0rc5
|
|
67
|
+
Basic import successful
|
|
68
|
+
Core classes imported successfully
|
|
69
|
+
Key modules imported successfully
|
|
70
|
+
Available modules: [list of available modules]
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Task 5.3: Dependency Chain Validation (5 minutes)
|
|
74
|
+
**Purpose**: Ensure all required dependencies are properly resolved
|
|
75
|
+
|
|
76
|
+
**Implementation Steps:**
|
|
77
|
+
```bash
|
|
78
|
+
# List installed packages and versions
|
|
79
|
+
pip list | grep -E "(numpy|pandas|matplotlib|scipy|astropy)"
|
|
80
|
+
|
|
81
|
+
# Test scientific computing stack
|
|
82
|
+
python -c "
|
|
83
|
+
import numpy as np
|
|
84
|
+
import pandas as pd
|
|
85
|
+
import matplotlib.pyplot as plt
|
|
86
|
+
from scipy import stats
|
|
87
|
+
from astropy import units as u
|
|
88
|
+
print('All core dependencies available')
|
|
89
|
+
print(f'NumPy: {np.__version__}')
|
|
90
|
+
print(f'Pandas: {pd.__version__}')
|
|
91
|
+
print(f'Matplotlib: {plt.matplotlib.__version__}')
|
|
92
|
+
"
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
**Expected Behavior:**
|
|
96
|
+
- All core scientific dependencies present
|
|
97
|
+
- Version compatibility maintained
|
|
98
|
+
- No import errors or warnings
|
|
99
|
+
|
|
100
|
+
## Comprehensive Test Suite
|
|
101
|
+
|
|
102
|
+
### Test 5.4: Metadata Verification (5 minutes)
|
|
103
|
+
**Check Package Information:**
|
|
104
|
+
```bash
|
|
105
|
+
# Display package metadata
|
|
106
|
+
pip show solarwindpy
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
**Verify Expected Metadata:**
|
|
110
|
+
- **Name**: solarwindpy
|
|
111
|
+
- **Version**: 0.1.0rc5
|
|
112
|
+
- **Summary**: Solar wind plasma analysis toolkit
|
|
113
|
+
- **Author**: [Expected author information]
|
|
114
|
+
- **License**: [Expected license]
|
|
115
|
+
- **Dependencies**: Correct requirement versions
|
|
116
|
+
|
|
117
|
+
### Test 5.5: Basic Data Processing Test (5 minutes)
|
|
118
|
+
**Purpose**: Validate core data processing functionality
|
|
119
|
+
|
|
120
|
+
**Implementation Steps:**
|
|
121
|
+
```python
|
|
122
|
+
python -c "
|
|
123
|
+
import solarwindpy as swp
|
|
124
|
+
import numpy as np
|
|
125
|
+
import pandas as pd
|
|
126
|
+
from datetime import datetime, timedelta
|
|
127
|
+
|
|
128
|
+
# Create sample time series data
|
|
129
|
+
start_time = datetime(2023, 1, 1)
|
|
130
|
+
times = pd.date_range(start_time, periods=100, freq='1min')
|
|
131
|
+
|
|
132
|
+
# Test basic data structures work
|
|
133
|
+
print('Testing basic data operations...')
|
|
134
|
+
data = pd.DataFrame({'test': np.random.randn(100)}, index=times)
|
|
135
|
+
print(f'Created DataFrame with {len(data)} points')
|
|
136
|
+
print('Basic data processing test passed')
|
|
137
|
+
"
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## Installation Variants Testing
|
|
141
|
+
|
|
142
|
+
### Test 5.6: Different Python Versions (Optional - 10 minutes)
|
|
143
|
+
**Purpose**: Validate compatibility across Python versions
|
|
144
|
+
|
|
145
|
+
**Test Matrix:**
|
|
146
|
+
```bash
|
|
147
|
+
# Test with Python 3.9 (if time permits)
|
|
148
|
+
conda create -n test-py39 python=3.9 -y
|
|
149
|
+
conda activate test-py39
|
|
150
|
+
pip install --index-url https://test.pypi.org/simple/ \
|
|
151
|
+
--extra-index-url https://pypi.org/simple/ \
|
|
152
|
+
solarwindpy==0.1.0rc5
|
|
153
|
+
python -c "import solarwindpy; print(solarwindpy.__version__)"
|
|
154
|
+
conda deactivate
|
|
155
|
+
|
|
156
|
+
# Test with Python 3.11 (if time permits)
|
|
157
|
+
conda create -n test-py311 python=3.11 -y
|
|
158
|
+
conda activate test-py311
|
|
159
|
+
pip install --index-url https://test.pypi.org/simple/ \
|
|
160
|
+
--extra-index-url https://pypi.org/simple/ \
|
|
161
|
+
solarwindpy==0.1.0rc5
|
|
162
|
+
python -c "import solarwindpy; print(solarwindpy.__version__)"
|
|
163
|
+
conda deactivate
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
## Acceptance Criteria
|
|
167
|
+
|
|
168
|
+
### Installation Requirements ✅
|
|
169
|
+
- [ ] Package installs without errors in clean environment
|
|
170
|
+
- [ ] All dependencies resolve correctly from PyPI
|
|
171
|
+
- [ ] No conflicts with existing packages
|
|
172
|
+
- [ ] Installation completes in reasonable time
|
|
173
|
+
|
|
174
|
+
### Functionality Requirements ✅
|
|
175
|
+
- [ ] Core imports work without errors
|
|
176
|
+
- [ ] Version detection returns "0.1.0rc5"
|
|
177
|
+
- [ ] Key classes (Plasma, Ion) importable
|
|
178
|
+
- [ ] Module structure accessible
|
|
179
|
+
- [ ] Basic operations execute successfully
|
|
180
|
+
|
|
181
|
+
### Metadata Requirements ✅
|
|
182
|
+
- [ ] Package metadata complete and accurate
|
|
183
|
+
- [ ] Dependencies listed correctly
|
|
184
|
+
- [ ] Version number formatted properly
|
|
185
|
+
- [ ] License and author information present
|
|
186
|
+
|
|
187
|
+
### Quality Requirements ✅
|
|
188
|
+
- [ ] No deprecation warnings on import
|
|
189
|
+
- [ ] No missing dependency errors
|
|
190
|
+
- [ ] Scientific computing stack functional
|
|
191
|
+
- [ ] Basic data processing operations work
|
|
192
|
+
|
|
193
|
+
## Issue Documentation
|
|
194
|
+
|
|
195
|
+
### If Installation Fails
|
|
196
|
+
**Document:**
|
|
197
|
+
- Exact error messages
|
|
198
|
+
- Python version and platform
|
|
199
|
+
- Dependency conflicts
|
|
200
|
+
- Network/proxy issues
|
|
201
|
+
|
|
202
|
+
**Resolution Steps:**
|
|
203
|
+
- Check TestPyPI package integrity
|
|
204
|
+
- Verify dependency versions
|
|
205
|
+
- Test with different Python versions
|
|
206
|
+
- Review package configuration
|
|
207
|
+
|
|
208
|
+
### If Functionality Issues
|
|
209
|
+
**Document:**
|
|
210
|
+
- Specific failing imports or operations
|
|
211
|
+
- Error messages and tracebacks
|
|
212
|
+
- Expected vs actual behavior
|
|
213
|
+
- Workaround attempts
|
|
214
|
+
|
|
215
|
+
**Resolution Steps:**
|
|
216
|
+
- Review package build process
|
|
217
|
+
- Check missing files or modules
|
|
218
|
+
- Validate entry points
|
|
219
|
+
- Test local development install
|
|
220
|
+
|
|
221
|
+
## Environment Cleanup
|
|
222
|
+
```bash
|
|
223
|
+
# Remove test environments after validation
|
|
224
|
+
conda env remove -n solarwindpy-test
|
|
225
|
+
conda env remove -n test-py39
|
|
226
|
+
conda env remove -n test-py311
|
|
227
|
+
|
|
228
|
+
# Return to development environment
|
|
229
|
+
conda activate solarwindpy-20250403
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
## Progress Tracking
|
|
233
|
+
- [ ] Task 5.1: Clean installation test completed
|
|
234
|
+
- [ ] Task 5.2: Core functionality validated
|
|
235
|
+
- [ ] Task 5.3: Dependency chain verified
|
|
236
|
+
- [ ] Task 5.4: Metadata confirmed correct
|
|
237
|
+
- [ ] Task 5.5: Basic data processing tested
|
|
238
|
+
- [ ] Task 5.6: Multiple Python versions tested (optional)
|
|
239
|
+
- [ ] All acceptance criteria met
|
|
240
|
+
- [ ] Issues documented and resolved
|
|
241
|
+
- [ ] Ready for Phase 6: Production Release
|
|
242
|
+
|
|
243
|
+
## Time Estimate
|
|
244
|
+
**Total: 30 minutes**
|
|
245
|
+
- Task 5.1: 15 minutes
|
|
246
|
+
- Task 5.2: 10 minutes
|
|
247
|
+
- Task 5.3: 5 minutes
|
|
248
|
+
- Task 5.4: 5 minutes
|
|
249
|
+
- Task 5.5: 5 minutes
|
|
250
|
+
- Task 5.6: 10 minutes (optional)
|
|
251
|
+
|
|
252
|
+
## Risk Mitigation
|
|
253
|
+
- **Clean Environments**: Prevent contamination from development setup
|
|
254
|
+
- **Multiple Tests**: Validate different aspects of functionality
|
|
255
|
+
- **Documentation**: Record issues for systematic resolution
|
|
256
|
+
- **Fallback Plan**: Manual PyPI upload available if automation fails
|
|
257
|
+
- **Version Control**: TestPyPI provides safe testing ground
|
|
258
|
+
|
|
259
|
+
## Notes
|
|
260
|
+
- TestPyPI validation is critical before production PyPI deployment
|
|
261
|
+
- This phase confirms the entire packaging and distribution pipeline
|
|
262
|
+
- Success here provides confidence for v0.1.0 production release
|
|
263
|
+
- Any issues discovered must be resolved before proceeding
|
|
264
|
+
- Clean test environments ensure realistic user experience simulation
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
# Phase 6: Production Release
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
Execute the full production release of SolarWindPy v0.1.0 to PyPI, creating the first official stable release with complete CI/CD pipeline validation.
|
|
5
|
+
|
|
6
|
+
## Objectives
|
|
7
|
+
- Create v0.1.0 production release tag
|
|
8
|
+
- Trigger full deployment pipeline
|
|
9
|
+
- Validate production PyPI deployment
|
|
10
|
+
- Confirm GitHub Release creation
|
|
11
|
+
- Initiate conda-forge update process
|
|
12
|
+
- Establish v0.1.0 as stable baseline
|
|
13
|
+
|
|
14
|
+
## Tasks
|
|
15
|
+
|
|
16
|
+
### Task 6.1: Create Production Release Tag (10 minutes)
|
|
17
|
+
**Implementation Steps:**
|
|
18
|
+
```bash
|
|
19
|
+
# Ensure on master with all changes
|
|
20
|
+
git checkout master
|
|
21
|
+
git pull origin master
|
|
22
|
+
|
|
23
|
+
# Verify RC testing completed successfully
|
|
24
|
+
git tag --list | grep v0.1.0
|
|
25
|
+
# Should show: v0.1.0-rc5 (and any previous RCs)
|
|
26
|
+
|
|
27
|
+
# Create production release tag
|
|
28
|
+
git tag -a v0.1.0 -m "SolarWindPy v0.1.0 - First Stable Release
|
|
29
|
+
|
|
30
|
+
Major Features:
|
|
31
|
+
- Solar wind plasma analysis toolkit
|
|
32
|
+
- MultiIndex DataFrame architecture for efficient data handling
|
|
33
|
+
- Physics validation and instability calculations
|
|
34
|
+
- Comprehensive plotting and visualization tools
|
|
35
|
+
- Full test coverage and documentation
|
|
36
|
+
|
|
37
|
+
Tested via:
|
|
38
|
+
- Release candidate v0.1.0-rc5 validation
|
|
39
|
+
- TestPyPI deployment verification
|
|
40
|
+
- Cross-platform compatibility testing
|
|
41
|
+
- Complete CI/CD pipeline validation"
|
|
42
|
+
|
|
43
|
+
# Push production tag to trigger full pipeline
|
|
44
|
+
git push origin v0.1.0
|
|
45
|
+
echo "Production release v0.1.0 tag pushed - monitoring workflow..."
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Task 6.2: Monitor Full Pipeline Execution (30 minutes)
|
|
49
|
+
**Expected Workflow Sequence:**
|
|
50
|
+
|
|
51
|
+
**1. Tag Detection (2 minutes)**
|
|
52
|
+
```
|
|
53
|
+
✅ Version Detection: "Production release detected: v0.1.0"
|
|
54
|
+
✅ is_prerelease=false set correctly
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
**2. Quality Checks (15 minutes)**
|
|
58
|
+
```
|
|
59
|
+
✅ Test Matrix: 12 jobs (3 OS × 4 Python versions)
|
|
60
|
+
✅ Ubuntu: Python 3.9, 3.10, 3.11, 3.12
|
|
61
|
+
✅ macOS: Python 3.9, 3.10, 3.11, 3.12
|
|
62
|
+
✅ Windows: Python 3.9, 3.10, 3.11, 3.12
|
|
63
|
+
✅ Code formatting (black)
|
|
64
|
+
✅ Linting (flake8)
|
|
65
|
+
✅ Package building
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
**3. Release Branch Creation (1 minute)**
|
|
69
|
+
```
|
|
70
|
+
✅ Branch: release/v0.1.0 created
|
|
71
|
+
✅ Audit trail established
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**4. TestPyPI Deployment (3 minutes)**
|
|
75
|
+
```
|
|
76
|
+
✅ Package built successfully
|
|
77
|
+
✅ Uploaded to TestPyPI
|
|
78
|
+
✅ Version 0.1.0 available at test.pypi.org
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
**5. Production PyPI Deployment (5 minutes)**
|
|
82
|
+
```
|
|
83
|
+
✅ Condition check: is_prerelease == 'false' ✓
|
|
84
|
+
✅ Package uploaded to PyPI
|
|
85
|
+
✅ Version 0.1.0 live at pypi.org/project/solarwindpy/
|
|
86
|
+
✅ Production deployment successful
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
**6. GitHub Release Creation (2 minutes)**
|
|
90
|
+
```
|
|
91
|
+
✅ Release created: https://github.com/[repo]/releases/tag/v0.1.0
|
|
92
|
+
✅ Release notes populated
|
|
93
|
+
✅ Assets attached (if configured)
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**7. Conda-Forge Integration (2 minutes)**
|
|
97
|
+
```
|
|
98
|
+
✅ Issue created in conda-forge/solarwindpy-feedstock
|
|
99
|
+
✅ Automatic PR process initiated
|
|
100
|
+
✅ Community package update triggered
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Task 6.3: Validate Production PyPI Deployment (10 minutes)
|
|
104
|
+
**Verification Steps:**
|
|
105
|
+
|
|
106
|
+
**Check PyPI Package Page:**
|
|
107
|
+
1. Visit: https://pypi.org/project/solarwindpy/
|
|
108
|
+
2. Confirm v0.1.0 is latest version
|
|
109
|
+
3. Verify metadata, description, and links
|
|
110
|
+
4. Check download statistics
|
|
111
|
+
|
|
112
|
+
**Test Production Installation:**
|
|
113
|
+
```bash
|
|
114
|
+
# Create fresh test environment
|
|
115
|
+
conda create -n prod-test python=3.12 -y
|
|
116
|
+
conda activate prod-test
|
|
117
|
+
|
|
118
|
+
# Install from production PyPI (should work without --index-url)
|
|
119
|
+
pip install solarwindpy==0.1.0
|
|
120
|
+
|
|
121
|
+
# Verify installation
|
|
122
|
+
python -c "import solarwindpy; print(f'Production version: {solarwindpy.__version__}')"
|
|
123
|
+
# Expected: Production version: 0.1.0
|
|
124
|
+
|
|
125
|
+
# Test core functionality
|
|
126
|
+
python -c "
|
|
127
|
+
import solarwindpy as swp
|
|
128
|
+
from solarwindpy.core import Plasma, Ion
|
|
129
|
+
print('Production release functional test passed')
|
|
130
|
+
"
|
|
131
|
+
|
|
132
|
+
# Cleanup
|
|
133
|
+
conda deactivate
|
|
134
|
+
conda env remove -n prod-test
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### Task 6.4: Verify GitHub Release (5 minutes)
|
|
138
|
+
**Release Validation:**
|
|
139
|
+
1. Navigate to repository releases page
|
|
140
|
+
2. Confirm v0.1.0 release created
|
|
141
|
+
3. Verify release notes content
|
|
142
|
+
4. Check asset attachments (if applicable)
|
|
143
|
+
5. Validate release permalink functionality
|
|
144
|
+
|
|
145
|
+
**Expected GitHub Release Content:**
|
|
146
|
+
- **Tag**: v0.1.0
|
|
147
|
+
- **Title**: SolarWindPy v0.1.0 - First Stable Release
|
|
148
|
+
- **Body**: Generated from tag message or template
|
|
149
|
+
- **Assets**: Source code archives (auto-generated)
|
|
150
|
+
- **Status**: Published (not draft)
|
|
151
|
+
|
|
152
|
+
### Task 6.5: Monitor Conda-Forge Process (5 minutes)
|
|
153
|
+
**Community Package Tracking:**
|
|
154
|
+
|
|
155
|
+
**Check Conda-Forge Issue:**
|
|
156
|
+
1. Visit conda-forge/solarwindpy-feedstock repository
|
|
157
|
+
2. Look for new issue titled "Update solarwindpy to v0.1.0"
|
|
158
|
+
3. Verify issue contains PyPI link
|
|
159
|
+
4. Monitor for community maintainer response
|
|
160
|
+
|
|
161
|
+
**Expected Timeline:**
|
|
162
|
+
- **Immediate**: Issue created automatically
|
|
163
|
+
- **1-7 days**: Maintainer creates update PR
|
|
164
|
+
- **3-14 days**: PR reviewed and merged
|
|
165
|
+
- **Post-merge**: Package available via `conda install solarwindpy`
|
|
166
|
+
|
|
167
|
+
## Success Validation Matrix
|
|
168
|
+
|
|
169
|
+
| Component | Expected Behavior | Validation Method |
|
|
170
|
+
|-----------|------------------|------------------|
|
|
171
|
+
| Tag Detection | is_prerelease=false | GitHub Actions logs |
|
|
172
|
+
| Quality Checks | All 12 jobs pass | Actions status page |
|
|
173
|
+
| TestPyPI | v0.1.0 deployed | test.pypi.org/project/solarwindpy |
|
|
174
|
+
| PyPI | v0.1.0 deployed | pypi.org/project/solarwindpy |
|
|
175
|
+
| GitHub Release | Release created | github.com/[repo]/releases |
|
|
176
|
+
| Conda-Forge | Issue opened | conda-forge/solarwindpy-feedstock |
|
|
177
|
+
| Installation | pip install works | Clean environment test |
|
|
178
|
+
|
|
179
|
+
## Acceptance Criteria
|
|
180
|
+
|
|
181
|
+
### Pipeline Execution ✅
|
|
182
|
+
- [ ] v0.1.0 tag triggers workflow successfully
|
|
183
|
+
- [ ] Production release detected correctly
|
|
184
|
+
- [ ] All quality checks pass
|
|
185
|
+
- [ ] Release branch created: release/v0.1.0
|
|
186
|
+
|
|
187
|
+
### Deployment Success ✅
|
|
188
|
+
- [ ] TestPyPI deployment completes
|
|
189
|
+
- [ ] PyPI production deployment completes
|
|
190
|
+
- [ ] GitHub Release created with correct content
|
|
191
|
+
- [ ] Conda-forge issue opened automatically
|
|
192
|
+
|
|
193
|
+
### Validation Confirmation ✅
|
|
194
|
+
- [ ] Package installable from PyPI without index-url
|
|
195
|
+
- [ ] Version reports as 0.1.0 (no rc suffix)
|
|
196
|
+
- [ ] Core functionality works in clean environment
|
|
197
|
+
- [ ] GitHub Release accessible and complete
|
|
198
|
+
- [ ] Community package process initiated
|
|
199
|
+
|
|
200
|
+
## Risk Mitigation
|
|
201
|
+
|
|
202
|
+
### Deployment Failures
|
|
203
|
+
- **TestPyPI First**: Validates packaging before production
|
|
204
|
+
- **Conditional Logic**: Production deployment only after TestPyPI success
|
|
205
|
+
- **Rollback Plan**: Can delete PyPI release if critical issues found
|
|
206
|
+
- **Manual Fallback**: twine upload available as backup
|
|
207
|
+
|
|
208
|
+
### Quality Issues
|
|
209
|
+
- **Comprehensive Testing**: 12-job matrix validates cross-platform
|
|
210
|
+
- **RC Validation**: v0.1.0-rc5 testing provided confidence
|
|
211
|
+
- **Immediate Verification**: Post-deployment installation testing
|
|
212
|
+
|
|
213
|
+
### Community Impact
|
|
214
|
+
- **Stable Foundation**: Establishes v0.1.0 as baseline for future releases
|
|
215
|
+
- **Package Discovery**: PyPI listing enables community adoption
|
|
216
|
+
- **Documentation**: Release notes provide clear feature summary
|
|
217
|
+
|
|
218
|
+
## Troubleshooting
|
|
219
|
+
|
|
220
|
+
### Pipeline Failures
|
|
221
|
+
1. **Quality Checks Fail**: Review specific platform/Python issues
|
|
222
|
+
2. **TestPyPI Fails**: Check packaging configuration and secrets
|
|
223
|
+
3. **PyPI Fails**: Verify PYPI_API_TOKEN and no version conflicts
|
|
224
|
+
4. **GitHub Release Fails**: Check repository permissions and token scope
|
|
225
|
+
|
|
226
|
+
### Post-Deployment Issues
|
|
227
|
+
1. **Installation Problems**: Check dependency versions and conflicts
|
|
228
|
+
2. **Functionality Issues**: Review package contents and imports
|
|
229
|
+
3. **Metadata Problems**: Update setup.py/pyproject.toml and re-release
|
|
230
|
+
|
|
231
|
+
## Progress Tracking
|
|
232
|
+
- [ ] Task 6.1: v0.1.0 production tag created and pushed
|
|
233
|
+
- [ ] Task 6.2: Full pipeline execution monitored and validated
|
|
234
|
+
- [ ] Task 6.3: Production PyPI deployment verified
|
|
235
|
+
- [ ] Task 6.4: GitHub Release confirmed functional
|
|
236
|
+
- [ ] Task 6.5: Conda-forge process initiated
|
|
237
|
+
- [ ] All acceptance criteria met
|
|
238
|
+
- [ ] v0.1.0 stable release established
|
|
239
|
+
- [ ] Ready for Phase 7: Cleanup
|
|
240
|
+
|
|
241
|
+
## Time Estimate
|
|
242
|
+
**Total: 1 hour**
|
|
243
|
+
- Task 6.1: 10 minutes
|
|
244
|
+
- Task 6.2: 30 minutes
|
|
245
|
+
- Task 6.3: 10 minutes
|
|
246
|
+
- Task 6.4: 5 minutes
|
|
247
|
+
- Task 6.5: 5 minutes
|
|
248
|
+
|
|
249
|
+
## Milestone Achievement
|
|
250
|
+
This phase completes the primary objective: **SolarWindPy v0.1.0 successfully released to PyPI**
|
|
251
|
+
|
|
252
|
+
**Impact:**
|
|
253
|
+
- First stable release available to scientific community
|
|
254
|
+
- Complete CI/CD pipeline proven functional
|
|
255
|
+
- Foundation established for future releases
|
|
256
|
+
- Community adoption enabled through PyPI and conda-forge
|
|
257
|
+
|
|
258
|
+
## Notes
|
|
259
|
+
- This is the critical production deployment phase
|
|
260
|
+
- Success here validates the entire CI/CD redesign effort
|
|
261
|
+
- v0.1.0 becomes the stable baseline for all future development
|
|
262
|
+
- Community visibility significantly increased through PyPI listing
|
|
263
|
+
- Conda-forge integration enables broader scientific community access
|