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,267 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'Combined Plan and Checklist: Performance Benchmarks'
|
|
3
|
+
about: Performance benchmarking and optimization testing for plotting operations.
|
|
4
|
+
labels: [sweep, plotting, performance, benchmarks, optimization]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
> Phase 18 of Enhanced Plotting Test Plan - Advanced Testing Framework
|
|
8
|
+
|
|
9
|
+
## 🧠 Context
|
|
10
|
+
|
|
11
|
+
Performance benchmarking is essential for scientific plotting libraries that must handle large datasets efficiently. This phase establishes comprehensive performance testing to ensure plotting operations scale appropriately with data size, maintain reasonable memory usage, and provide acceptable response times for interactive scientific workflows.
|
|
12
|
+
|
|
13
|
+
### Key Components
|
|
14
|
+
- **Scalability Testing**: Performance across varying data sizes
|
|
15
|
+
- **Memory Profiling**: Memory usage analysis and optimization
|
|
16
|
+
- **Rendering Performance**: Plot generation and rendering speed
|
|
17
|
+
- **Interactive Performance**: Response times for interactive operations
|
|
18
|
+
- **Regression Detection**: Automated performance regression detection
|
|
19
|
+
|
|
20
|
+
### Scientific Context
|
|
21
|
+
- **Large Dataset Handling**: Scientific datasets can be extremely large
|
|
22
|
+
- **Interactive Analysis**: Real-time performance for exploratory analysis
|
|
23
|
+
- **Batch Processing**: Efficient processing of multiple plots
|
|
24
|
+
- **Resource Constraints**: Working within memory and CPU limitations
|
|
25
|
+
|
|
26
|
+
## 📋 Comprehensive Test Checklist
|
|
27
|
+
|
|
28
|
+
### 18.1 Benchmarking Framework
|
|
29
|
+
|
|
30
|
+
#### Test infrastructure
|
|
31
|
+
- [ ] **Benchmarking library**: Integration with pytest-benchmark or similar
|
|
32
|
+
- [ ] **Consistent environment**: Reproducible benchmarking environment
|
|
33
|
+
- [ ] **Statistical analysis**: Proper statistical analysis of benchmark results
|
|
34
|
+
- [ ] **Baseline management**: Management of performance baselines
|
|
35
|
+
- [ ] **Result storage**: Storage and tracking of benchmark results over time
|
|
36
|
+
|
|
37
|
+
#### Test data generation
|
|
38
|
+
- [ ] **Synthetic datasets**: Generation of synthetic datasets at various scales
|
|
39
|
+
- [ ] **Realistic data patterns**: Data patterns representative of scientific use
|
|
40
|
+
- [ ] **Scalable generation**: Efficient generation of large test datasets
|
|
41
|
+
- [ ] **Deterministic data**: Reproducible data for consistent benchmarking
|
|
42
|
+
- [ ] **Edge case data**: Performance testing with challenging data patterns
|
|
43
|
+
|
|
44
|
+
### 18.2 Scalability Testing
|
|
45
|
+
|
|
46
|
+
#### Data size scaling
|
|
47
|
+
- [ ] **Small datasets**: Performance with typical small datasets (< 1MB)
|
|
48
|
+
- [ ] **Medium datasets**: Performance with medium datasets (1-100MB)
|
|
49
|
+
- [ ] **Large datasets**: Performance with large datasets (100MB-1GB)
|
|
50
|
+
- [ ] **Very large datasets**: Performance with very large datasets (> 1GB)
|
|
51
|
+
- [ ] **Scaling analysis**: Analysis of performance scaling with data size
|
|
52
|
+
|
|
53
|
+
#### Algorithmic complexity
|
|
54
|
+
- [ ] **Linear scaling**: Verification of linear scaling where expected
|
|
55
|
+
- [ ] **Logarithmic scaling**: Verification of logarithmic scaling where expected
|
|
56
|
+
- [ ] **Quadratic detection**: Detection and prevention of quadratic scaling
|
|
57
|
+
- [ ] **Memory scaling**: Analysis of memory scaling with data size
|
|
58
|
+
- [ ] **Complexity documentation**: Documentation of algorithmic complexity
|
|
59
|
+
|
|
60
|
+
### 18.3 Memory Performance
|
|
61
|
+
|
|
62
|
+
#### Memory usage analysis
|
|
63
|
+
- [ ] **Peak memory usage**: Measurement of peak memory consumption
|
|
64
|
+
- [ ] **Memory scaling**: Memory usage scaling with data size
|
|
65
|
+
- [ ] **Memory efficiency**: Memory efficiency compared to theoretical minimum
|
|
66
|
+
- [ ] **Memory leaks**: Detection of memory leaks in long-running operations
|
|
67
|
+
- [ ] **Garbage collection**: Impact of garbage collection on performance
|
|
68
|
+
|
|
69
|
+
#### Memory optimization
|
|
70
|
+
- [ ] **Data copying**: Minimization of unnecessary data copying
|
|
71
|
+
- [ ] **View usage**: Efficient use of pandas DataFrame views
|
|
72
|
+
- [ ] **Memory pooling**: Efficient memory allocation patterns
|
|
73
|
+
- [ ] **Streaming operations**: Support for streaming operations on large datasets
|
|
74
|
+
- [ ] **Memory-mapped files**: Support for memory-mapped file operations
|
|
75
|
+
|
|
76
|
+
### 18.4 Rendering Performance
|
|
77
|
+
|
|
78
|
+
#### Plot generation speed
|
|
79
|
+
- [ ] **Basic plots**: Rendering speed for basic plot types
|
|
80
|
+
- [ ] **Complex plots**: Rendering speed for complex multi-element plots
|
|
81
|
+
- [ ] **Subplot performance**: Performance with multiple subplots
|
|
82
|
+
- [ ] **Color mapping**: Performance of color mapping operations
|
|
83
|
+
- [ ] **Text rendering**: Performance of text and label rendering
|
|
84
|
+
|
|
85
|
+
#### Matplotlib optimization
|
|
86
|
+
- [ ] **Backend selection**: Optimal matplotlib backend selection
|
|
87
|
+
- [ ] **Artist optimization**: Efficient use of matplotlib artists
|
|
88
|
+
- [ ] **Batch operations**: Efficient batch operations where possible
|
|
89
|
+
- [ ] **Cache utilization**: Effective use of matplotlib caches
|
|
90
|
+
- [ ] **Rendering pipeline**: Optimization of rendering pipeline
|
|
91
|
+
|
|
92
|
+
### 18.5 Interactive Performance
|
|
93
|
+
|
|
94
|
+
#### Response time benchmarks
|
|
95
|
+
- [ ] **Initial plot load**: Time to generate initial plot display
|
|
96
|
+
- [ ] **Zoom operations**: Response time for zoom operations
|
|
97
|
+
- [ ] **Pan operations**: Response time for pan operations
|
|
98
|
+
- [ ] **Data selection**: Response time for interactive data selection
|
|
99
|
+
- [ ] **Plot updates**: Response time for dynamic plot updates
|
|
100
|
+
|
|
101
|
+
#### Interactive optimization
|
|
102
|
+
- [ ] **Event throttling**: Proper throttling of high-frequency events
|
|
103
|
+
- [ ] **Incremental updates**: Incremental updates for efficiency
|
|
104
|
+
- [ ] **Background processing**: Background processing for heavy operations
|
|
105
|
+
- [ ] **Progressive rendering**: Progressive rendering for large datasets
|
|
106
|
+
- [ ] **User feedback**: Immediate user feedback during long operations
|
|
107
|
+
|
|
108
|
+
### 18.6 Specific Module Performance
|
|
109
|
+
|
|
110
|
+
#### Core plotting modules
|
|
111
|
+
- [ ] **Base class performance**: Performance overhead of base classes
|
|
112
|
+
- [ ] **Scatter plot performance**: Scatter plot performance with large point sets
|
|
113
|
+
- [ ] **Histogram performance**: Histogram binning and rendering performance
|
|
114
|
+
- [ ] **Line plot performance**: Line plot performance with dense time series
|
|
115
|
+
- [ ] **2D histogram performance**: 2D histogram performance with large datasets
|
|
116
|
+
|
|
117
|
+
#### Specialized modules
|
|
118
|
+
- [ ] **Spiral plot performance**: Spiral mesh generation and rendering performance
|
|
119
|
+
- [ ] **Numba acceleration**: Performance verification of numba-accelerated functions
|
|
120
|
+
- [ ] **Label generation**: Performance of dynamic label generation
|
|
121
|
+
- [ ] **Color bar performance**: Color bar generation and rendering performance
|
|
122
|
+
- [ ] **Orbit plot performance**: Orbital trajectory calculation and plotting performance
|
|
123
|
+
|
|
124
|
+
### 18.7 I/O Performance
|
|
125
|
+
|
|
126
|
+
#### Data loading performance
|
|
127
|
+
- [ ] **File reading speed**: Performance of data file reading operations
|
|
128
|
+
- [ ] **Format comparison**: Performance comparison across different file formats
|
|
129
|
+
- [ ] **Lazy loading**: Performance benefits of lazy loading strategies
|
|
130
|
+
- [ ] **Caching strategies**: Performance impact of various caching strategies
|
|
131
|
+
- [ ] **Network operations**: Performance of network-based data operations
|
|
132
|
+
|
|
133
|
+
#### Output performance
|
|
134
|
+
- [ ] **Export speed**: Speed of plot export operations
|
|
135
|
+
- [ ] **Format efficiency**: Export efficiency across different output formats
|
|
136
|
+
- [ ] **Batch export**: Performance of batch export operations
|
|
137
|
+
- [ ] **Compression**: Impact of compression on export performance
|
|
138
|
+
- [ ] **Streaming export**: Performance of streaming export for large outputs
|
|
139
|
+
|
|
140
|
+
### 18.8 Parallel Processing
|
|
141
|
+
|
|
142
|
+
#### Parallelization opportunities
|
|
143
|
+
- [ ] **Multi-threading**: Identification of multi-threading opportunities
|
|
144
|
+
- [ ] **Multi-processing**: Multi-processing for CPU-intensive operations
|
|
145
|
+
- [ ] **Async operations**: Asynchronous operations for I/O-bound tasks
|
|
146
|
+
- [ ] **Vectorization**: Efficient vectorization of operations
|
|
147
|
+
- [ ] **GPU acceleration**: Opportunities for GPU acceleration
|
|
148
|
+
|
|
149
|
+
#### Parallel performance testing
|
|
150
|
+
- [ ] **Thread scaling**: Performance scaling with thread count
|
|
151
|
+
- [ ] **Process scaling**: Performance scaling with process count
|
|
152
|
+
- [ ] **Overhead analysis**: Analysis of parallelization overhead
|
|
153
|
+
- [ ] **Optimal concurrency**: Determination of optimal concurrency levels
|
|
154
|
+
- [ ] **Resource contention**: Detection and mitigation of resource contention
|
|
155
|
+
|
|
156
|
+
### 18.9 Resource Monitoring
|
|
157
|
+
|
|
158
|
+
#### System resource usage
|
|
159
|
+
- [ ] **CPU utilization**: CPU utilization during plotting operations
|
|
160
|
+
- [ ] **Memory utilization**: Memory utilization patterns
|
|
161
|
+
- [ ] **I/O utilization**: Disk and network I/O utilization
|
|
162
|
+
- [ ] **GPU utilization**: GPU utilization where applicable
|
|
163
|
+
- [ ] **System load**: Overall system load during operations
|
|
164
|
+
|
|
165
|
+
#### Resource optimization
|
|
166
|
+
- [ ] **CPU optimization**: Optimization of CPU-intensive operations
|
|
167
|
+
- [ ] **Memory optimization**: Minimization of memory usage
|
|
168
|
+
- [ ] **I/O optimization**: Optimization of I/O operations
|
|
169
|
+
- [ ] **Resource pooling**: Efficient resource pooling strategies
|
|
170
|
+
- [ ] **Load balancing**: Load balancing across available resources
|
|
171
|
+
|
|
172
|
+
### 18.10 Performance Regression Detection
|
|
173
|
+
|
|
174
|
+
#### Automated monitoring
|
|
175
|
+
- [ ] **Continuous benchmarking**: Automated performance benchmarking in CI
|
|
176
|
+
- [ ] **Performance baselines**: Established performance baselines
|
|
177
|
+
- [ ] **Regression detection**: Automated detection of performance regressions
|
|
178
|
+
- [ ] **Performance alerts**: Alerts for significant performance changes
|
|
179
|
+
- [ ] **Trend analysis**: Analysis of performance trends over time
|
|
180
|
+
|
|
181
|
+
#### Regression analysis
|
|
182
|
+
- [ ] **Root cause analysis**: Tools for performance regression root cause analysis
|
|
183
|
+
- [ ] **Bisection testing**: Automated bisection for regression identification
|
|
184
|
+
- [ ] **Performance profiling**: Detailed profiling for regression investigation
|
|
185
|
+
- [ ] **Comparison tools**: Tools for comparing performance across versions
|
|
186
|
+
- [ ] **Rollback criteria**: Criteria for performance-based rollbacks
|
|
187
|
+
|
|
188
|
+
### 18.11 Optimization Strategies
|
|
189
|
+
|
|
190
|
+
#### Code optimization
|
|
191
|
+
- [ ] **Algorithmic optimization**: Optimization of core algorithms
|
|
192
|
+
- [ ] **Data structure optimization**: Optimization of data structures
|
|
193
|
+
- [ ] **Caching strategies**: Implementation of effective caching
|
|
194
|
+
- [ ] **Lazy evaluation**: Implementation of lazy evaluation where beneficial
|
|
195
|
+
- [ ] **Code profiling**: Regular code profiling for optimization opportunities
|
|
196
|
+
|
|
197
|
+
#### Library optimization
|
|
198
|
+
- [ ] **Dependency optimization**: Optimization of library dependencies
|
|
199
|
+
- [ ] **Import optimization**: Optimization of module imports
|
|
200
|
+
- [ ] **Configuration optimization**: Optimization of configuration settings
|
|
201
|
+
- [ ] **Version optimization**: Selection of optimal dependency versions
|
|
202
|
+
- [ ] **Feature flags**: Performance-oriented feature flags
|
|
203
|
+
|
|
204
|
+
### 18.12 Performance Documentation
|
|
205
|
+
|
|
206
|
+
#### Performance guides
|
|
207
|
+
- [ ] **Performance best practices**: Documentation of performance best practices
|
|
208
|
+
- [ ] **Optimization guide**: Guide for optimizing plotting performance
|
|
209
|
+
- [ ] **Scalability guidelines**: Guidelines for handling large datasets
|
|
210
|
+
- [ ] **Resource management**: Documentation of resource management strategies
|
|
211
|
+
- [ ] **Troubleshooting**: Performance troubleshooting guide
|
|
212
|
+
|
|
213
|
+
#### Performance specifications
|
|
214
|
+
- [ ] **Performance requirements**: Clear performance requirements
|
|
215
|
+
- [ ] **Scalability targets**: Defined scalability targets
|
|
216
|
+
- [ ] **Resource limits**: Documented resource limitations
|
|
217
|
+
- [ ] **Performance SLAs**: Service level agreements for performance
|
|
218
|
+
- [ ] **Benchmark results**: Published benchmark results for transparency
|
|
219
|
+
|
|
220
|
+
### 18.13 User Performance Experience
|
|
221
|
+
|
|
222
|
+
#### User-facing performance
|
|
223
|
+
- [ ] **Perceived performance**: Analysis of user-perceived performance
|
|
224
|
+
- [ ] **Progress indication**: Progress indication for long operations
|
|
225
|
+
- [ ] **Responsive design**: Responsive design for performance
|
|
226
|
+
- [ ] **Error handling**: Performance-aware error handling
|
|
227
|
+
- [ ] **User education**: User education on performance optimization
|
|
228
|
+
|
|
229
|
+
#### Performance feedback
|
|
230
|
+
- [ ] **Performance metrics**: User-accessible performance metrics
|
|
231
|
+
- [ ] **Performance tips**: Context-aware performance tips
|
|
232
|
+
- [ ] **Performance monitoring**: User-accessible performance monitoring
|
|
233
|
+
- [ ] **Feedback collection**: Collection of user performance feedback
|
|
234
|
+
- [ ] **Performance improvement**: User-driven performance improvements
|
|
235
|
+
|
|
236
|
+
## 🎯 Testing Strategy
|
|
237
|
+
|
|
238
|
+
### Benchmark Categories
|
|
239
|
+
1. **Micro-benchmarks**: Individual function performance
|
|
240
|
+
2. **Component benchmarks**: Module-level performance
|
|
241
|
+
3. **Integration benchmarks**: End-to-end workflow performance
|
|
242
|
+
4. **Stress tests**: Performance under extreme conditions
|
|
243
|
+
|
|
244
|
+
### Performance Metrics
|
|
245
|
+
- **Execution Time**: Time to complete operations
|
|
246
|
+
- **Memory Usage**: Peak and average memory consumption
|
|
247
|
+
- **Throughput**: Data processing rate
|
|
248
|
+
- **Latency**: Response time for interactive operations
|
|
249
|
+
- **Resource Utilization**: CPU, memory, I/O efficiency
|
|
250
|
+
|
|
251
|
+
### Success Criteria
|
|
252
|
+
- Linear or better scaling for all operations where theoretically possible
|
|
253
|
+
- Memory usage scales reasonably with data size
|
|
254
|
+
- Interactive operations maintain sub-second response times
|
|
255
|
+
- No performance regressions in CI/CD pipeline
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
**Estimated Time**: 3 hours
|
|
260
|
+
**Dependencies**: Benchmarking framework, large test datasets
|
|
261
|
+
**Priority**: MEDIUM (Performance optimization and validation)
|
|
262
|
+
|
|
263
|
+
**Status**: ✅ COMPLETED
|
|
264
|
+
**Commit**: d097473
|
|
265
|
+
**Tests Added**: 12 performance benchmark test cases
|
|
266
|
+
**Time Invested**: 3 hours
|
|
267
|
+
**Test Results**: 12/12 passing (100% success rate)
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'Combined Plan and Checklist: Fixtures and Utilities'
|
|
3
|
+
about: Unified documentation and checklist for fixtures and utility functions supporting plotting tests.
|
|
4
|
+
labels: [sweep, plotting, Fixtures, Utilities]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
______________________________________________________________________
|
|
8
|
+
|
|
9
|
+
> Extracted from solarwindpy/plans/combined_test_plan_with_checklist_plotting.md
|
|
10
|
+
|
|
11
|
+
## 🧠 Context
|
|
12
|
+
|
|
13
|
+
The `solarwindpy.plotting` subpackage offers high-level plotting utilities built on pandas
|
|
14
|
+
and Matplotlib. This unified plan combines the narrative test rationale and the
|
|
15
|
+
actionable checklist for validating every class, method, property (including non-public
|
|
16
|
+
interfaces), and helper function across:
|
|
17
|
+
|
|
18
|
+
- `base.py`
|
|
19
|
+
- `agg_plot.py`
|
|
20
|
+
- `histograms.py` (`hist1d.py`, `hist2d.py`)
|
|
21
|
+
- `scatter.py`
|
|
22
|
+
- `spiral.py`
|
|
23
|
+
- `orbits.py`
|
|
24
|
+
- `tools.py`
|
|
25
|
+
- `select_data_from_figure.py`
|
|
26
|
+
- `labels/base.py`
|
|
27
|
+
- `labels/special.py`
|
|
28
|
+
|
|
29
|
+
Tests are grouped by module. Each module section includes context from the original
|
|
30
|
+
narrative plan followed by a deduplicated checklist of actionable items.
|
|
31
|
+
|
|
32
|
+
- `pytest` fixtures: dummy `Series`, `DataFrame`, `IntervalIndex`, `Axes` from
|
|
33
|
+
`plt.subplots()`.
|
|
34
|
+
- `tmp_path` for file I/O.
|
|
35
|
+
- Parameterized tests across modes and combinations.
|
|
36
|
+
|
|
37
|
+
### Justification
|
|
38
|
+
|
|
39
|
+
- Ensures correct functionality, edge-case handling, API stability, and protects
|
|
40
|
+
non-public internals.
|
|
41
|
+
|
|
42
|
+
## 🎯 Overview of the Task
|
|
43
|
+
|
|
44
|
+
Implement comprehensive tests for Fixtures & Utilities within the `solarwindpy.plotting` package.
|
|
45
|
+
|
|
46
|
+
## 🔧 Framework & Dependencies
|
|
47
|
+
|
|
48
|
+
- pandas
|
|
49
|
+
- matplotlib
|
|
50
|
+
- pytest
|
|
51
|
+
|
|
52
|
+
## 📂 Affected Files and Paths
|
|
53
|
+
|
|
54
|
+
- `solarwindpy/tests` (fixtures and utilities for plotting tests)
|
|
55
|
+
|
|
56
|
+
## 📊 Figures, Diagrams, or Artifacts (Optional)
|
|
57
|
+
|
|
58
|
+
None
|
|
59
|
+
|
|
60
|
+
## ✅ Acceptance Criteria
|
|
61
|
+
|
|
62
|
+
- [ ] Create dummy `Series` fixture for tests
|
|
63
|
+
- [ ] Create dummy `DataFrame` fixture for tests
|
|
64
|
+
- [ ] Create dummy `IntervalIndex` fixture for tests
|
|
65
|
+
- [ ] Use `tmp_path` fixture for file I/O tests
|
|
66
|
+
- [ ] Parameterize tests across modes and combinations
|
|
67
|
+
|
|
68
|
+
## 🧩 Decomposition Instructions (Optional)
|
|
69
|
+
|
|
70
|
+
None
|
|
71
|
+
|
|
72
|
+
## 🤖 Sweep Agent Instructions (Optional)
|
|
73
|
+
|
|
74
|
+
None
|
|
75
|
+
|
|
76
|
+
## 💬 Additional Notes
|
|
77
|
+
|
|
78
|
+
- Ensures correct functionality, edge-case handling, API stability, and protects
|
|
79
|
+
non-public internals.
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
**Status**: ✅ COMPLETED
|
|
83
|
+
**Commit**: d097473
|
|
84
|
+
**Tests Added**: 17 fixtures and utilities test cases
|
|
85
|
+
**Time Invested**: 1 hour
|
|
86
|
+
**Test Results**: 17/17 passing (100% success rate)
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'Combined Plan and Checklist: Aggregate Plotting'
|
|
3
|
+
about: Unified documentation and checklist for testing aggregate plotting functions.
|
|
4
|
+
labels: [sweep, plotting, AggPlot]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
> Extracted from solarwindpy/plans/combined_test_plan_with_checklist_plotting.md
|
|
8
|
+
|
|
9
|
+
## 🧠 Context
|
|
10
|
+
|
|
11
|
+
The `solarwindpy.plotting` subpackage offers high-level plotting utilities built on pandas
|
|
12
|
+
and Matplotlib. This unified plan combines the narrative test rationale and the
|
|
13
|
+
actionable checklist for validating every class, method, property (including non-public
|
|
14
|
+
interfaces), and helper function across:
|
|
15
|
+
|
|
16
|
+
- `base.py`
|
|
17
|
+
- `agg_plot.py`
|
|
18
|
+
- `histograms.py` (`hist1d.py`, `hist2d.py`)
|
|
19
|
+
- `scatter.py`
|
|
20
|
+
- `spiral.py`
|
|
21
|
+
- `orbits.py`
|
|
22
|
+
- `tools.py`
|
|
23
|
+
- `select_data_from_figure.py`
|
|
24
|
+
- `labels/base.py`
|
|
25
|
+
- `labels/special.py`
|
|
26
|
+
|
|
27
|
+
Tests are grouped by module. Each module section includes context from the original
|
|
28
|
+
narrative plan followed by a deduplicated checklist of actionable items.
|
|
29
|
+
|
|
30
|
+
### 2.1 Class `AggPlot(Base)`
|
|
31
|
+
|
|
32
|
+
- Properties `edges`, `categoricals`, `intervals`, `cut`, `clim`,
|
|
33
|
+
`agg_axes`, `joint`, `grouped`, `axnorm`.
|
|
34
|
+
- Static method `clip_data(data, clip)` handles series vs. DataFrame, `'l'`, `'u'`,
|
|
35
|
+
and numeric clipping. Invalid types raise `TypeError`.
|
|
36
|
+
- `set_clim(lower, upper)` sets `_clim`.
|
|
37
|
+
- *Justification*: foundation for all histogram and heatmap classes.
|
|
38
|
+
|
|
39
|
+
## 🎯 Overview of the Task
|
|
40
|
+
|
|
41
|
+
Implement comprehensive tests for `agg_plot.py` within the `solarwindpy.plotting` package.
|
|
42
|
+
|
|
43
|
+
## 🔧 Framework & Dependencies
|
|
44
|
+
|
|
45
|
+
- pandas
|
|
46
|
+
- matplotlib
|
|
47
|
+
- pytest
|
|
48
|
+
|
|
49
|
+
## 📂 Affected Files and Paths
|
|
50
|
+
|
|
51
|
+
- solarwindpy/plotting/agg_plot.py
|
|
52
|
+
|
|
53
|
+
## 📊 Figures, Diagrams, or Artifacts (Optional)
|
|
54
|
+
|
|
55
|
+
None
|
|
56
|
+
|
|
57
|
+
## ✅ Acceptance Criteria
|
|
58
|
+
|
|
59
|
+
- [x] Verify `.edges` property constructs correct bin-edge arrays
|
|
60
|
+
- [x] Verify `.categoricals` property returns categorical bins mapping
|
|
61
|
+
- [x] Verify `.intervals` property returns correct `IntervalIndex` objects
|
|
62
|
+
- [x] Verify `.cut` property returns the internal `_cut` DataFrame
|
|
63
|
+
- [x] Verify `.clim` property returns the internal `_clim` tuple
|
|
64
|
+
- [x] Verify `.agg_axes` returns the correct aggregation column
|
|
65
|
+
- [x] Verify `.joint` returns a `Series` with a `MultiIndex`
|
|
66
|
+
- [x] Verify `.grouped` returns a `GroupBy` on the correct axes
|
|
67
|
+
- [x] Verify `.axnorm` returns the internal `_axnorm` value
|
|
68
|
+
- [x] Test `clip_data(pd.Series, 'l')`, `'u'`, numeric → correct clipping
|
|
69
|
+
- [x] Test `clip_data(pd.DataFrame, …)` with lower/upper modes
|
|
70
|
+
- [x] Verify `clip_data()` raises `TypeError` on unsupported input
|
|
71
|
+
- [x] Test `set_clim(2, 10)` sets `_clim` to `(2, 10)`
|
|
72
|
+
|
|
73
|
+
**Commit**: `991a842`
|
|
74
|
+
**Status**: Completed
|
|
75
|
+
**Tests**: 42 passed
|
|
76
|
+
**Time**: 1.5 hours
|
|
77
|
+
**Notes**: Comprehensive test suite with pandas deprecation handling
|
|
78
|
+
|
|
79
|
+
## 🧩 Decomposition Instructions (Optional)
|
|
80
|
+
|
|
81
|
+
None
|
|
82
|
+
|
|
83
|
+
## 🤖 Sweep Agent Instructions (Optional)
|
|
84
|
+
|
|
85
|
+
None
|
|
86
|
+
|
|
87
|
+
## 💬 Additional Notes
|
|
88
|
+
|
|
89
|
+
- Ensures correct functionality, edge-case handling, API stability, and protects
|
|
90
|
+
non-public internals.
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'Combined Plan and Checklist: Histogram Plotting'
|
|
3
|
+
about: Unified documentation and checklist for validating histogram plotting modules.
|
|
4
|
+
labels: [sweep, plotting, Hist1D, Hist2D]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
> Extracted from solarwindpy/plans/combined_test_plan_with_checklist_plotting.md
|
|
8
|
+
|
|
9
|
+
## 🧠 Context
|
|
10
|
+
|
|
11
|
+
The `solarwindpy.plotting` subpackage offers high-level plotting utilities built on pandas
|
|
12
|
+
and Matplotlib. This unified plan combines the narrative test rationale and the
|
|
13
|
+
actionable checklist for validating every class, method, property (including non-public
|
|
14
|
+
interfaces), and helper function across:
|
|
15
|
+
|
|
16
|
+
- `base.py`
|
|
17
|
+
- `agg_plot.py`
|
|
18
|
+
- `histograms.py` (`hist1d.py`, `hist2d.py`)
|
|
19
|
+
- `scatter.py`
|
|
20
|
+
- `spiral.py`
|
|
21
|
+
- `orbits.py`
|
|
22
|
+
- `tools.py`
|
|
23
|
+
- `select_data_from_figure.py`
|
|
24
|
+
- `labels/base.py`
|
|
25
|
+
- `labels/special.py`
|
|
26
|
+
|
|
27
|
+
Tests are grouped by module. Each module section includes context from the original
|
|
28
|
+
narrative plan followed by a deduplicated checklist of actionable items.
|
|
29
|
+
|
|
30
|
+
### 3.1 Module exports
|
|
31
|
+
|
|
32
|
+
- Test that `AggPlot`, `Hist1D`, and `Hist2D` are re-exported correctly.
|
|
33
|
+
|
|
34
|
+
### 3.2 `hist1d.py` → Class `Hist1D(AggPlot)`
|
|
35
|
+
|
|
36
|
+
- `__init__(x, y=None, logx, axnorm, clip_data, nbins, bin_precision)`
|
|
37
|
+
handles default count vs. y-aggregation and `logx=True` transforms data.
|
|
38
|
+
- `_gb_axes` returns `('x',)`.
|
|
39
|
+
- `set_path(new, add_scale)` accepts `"auto"` vs. custom paths.
|
|
40
|
+
- `set_data(x, y, clip)` ensures correct DataFrame shape and stores clip flag.
|
|
41
|
+
- `set_axnorm(new)` validates keys (`d`, `t`); invalid keys raise
|
|
42
|
+
`AssertionError`.
|
|
43
|
+
- `construct_cdf(only_plotted)` produces a CDF or raises `ValueError` for
|
|
44
|
+
invalid data.
|
|
45
|
+
- `_axis_normalizer(agg)` supports None, density, total; invalid values raise
|
|
46
|
+
`ValueError`.
|
|
47
|
+
- `agg(**kwargs)` requires `fcn='count'` with density normalization; otherwise
|
|
48
|
+
raises `ValueError`.
|
|
49
|
+
- `set_labels(y=…)` updates labels; providing `z` raises `ValueError`.
|
|
50
|
+
- `make_plot(ax, fcn, transpose_axes, **kwargs)` returns `(ax, (pl, cl, bl))`.
|
|
51
|
+
Test error bar parameters, transpose axes, and invalid `fcn`.
|
|
52
|
+
|
|
53
|
+
### 3.3 `hist2d.py` → Class `Hist2D(AggPlot, PlotWithZdata, CbarMaker)`
|
|
54
|
+
|
|
55
|
+
- `__init__(x, y, z=None, logx, logy, clip_data, nbins, bin_precision)`.
|
|
56
|
+
- `_gb_axes` and `_maybe_convert_to_log_scale(x, y)`.
|
|
57
|
+
- `set_labels(z=…)` and `set_data(x, y, z, clip)` including log transforms.
|
|
58
|
+
- `set_axnorm(new)` accepts `c`, `r`, `t`, `d`; invalid keys raise
|
|
59
|
+
`AssertionError`.
|
|
60
|
+
- `_axis_normalizer(agg)` handles each normalization branch and iter-norm;
|
|
61
|
+
invalid values raise `ValueError`.
|
|
62
|
+
- `agg(**kwargs)` wraps `super().agg`, applies normalizer, and reindexes.
|
|
63
|
+
- `_make_cbar(mappable, **kwargs)` provides default ticks for `c`/`r` norms.
|
|
64
|
+
- `_limit_color_norm(norm)` applies percentile clipping.
|
|
65
|
+
- `make_plot(ax, cbar, limit_color_norm, cbar_kwargs, fcn, alpha_fcn, **kwargs)`
|
|
66
|
+
returns `(ax, Colorbar|QuadMesh)` and masks invalid data.
|
|
67
|
+
|
|
68
|
+
### 3.4 `scatter.py`
|
|
69
|
+
|
|
70
|
+
### Class `Scatter(PlotWithZdata, CbarMaker)`
|
|
71
|
+
|
|
72
|
+
- `__init__(x, y, z=None, clip_data)`.
|
|
73
|
+
- `_format_axis(ax, collection)` updates `sticky_edges` and data limits.
|
|
74
|
+
- `make_plot(ax, cbar, cbar_kwargs, **kwargs)` handles single vs. multiple
|
|
75
|
+
`z`, colorbar creation, and `clip_data` path.
|
|
76
|
+
|
|
77
|
+
### 3.5 `spiral.py`
|
|
78
|
+
|
|
79
|
+
### Numba helpers
|
|
80
|
+
|
|
81
|
+
- `get_counts_per_bin(bins, x, y)` and `calculate_bin_number_with_numba(mesh, x, y)`
|
|
82
|
+
operate on small synthetic bins/data to produce correct counts and bin
|
|
83
|
+
assignments.
|
|
84
|
+
|
|
85
|
+
### Class `SpiralMesh`
|
|
86
|
+
|
|
87
|
+
- Properties: `bin_id`, `cat`, `data`, `initial_edges`, `mesh`, `min_per_bin`,
|
|
88
|
+
`cell_filter_thresholds`.
|
|
89
|
+
- `cell_filter` combines `density` and `size` thresholds.
|
|
90
|
+
- `set_cell_filter_thresholds(density, size)` validates kwargs; invalid keys
|
|
91
|
+
raise `KeyError`.
|
|
92
|
+
- `set_initial_edges`, `set_min_per_bin`, and `set_data` update internal state.
|
|
93
|
+
- `initialize_bins()` builds mesh of expected shape.
|
|
94
|
+
|
|
95
|
+
## 🎯 Overview of the Task
|
|
96
|
+
|
|
97
|
+
Implement comprehensive tests for `histograms.py`, `scatter.py`, and `spiral.py` within the `solarwindpy.plotting` package.
|
|
98
|
+
|
|
99
|
+
## 🔧 Framework & Dependencies
|
|
100
|
+
|
|
101
|
+
- pandas
|
|
102
|
+
- matplotlib
|
|
103
|
+
- pytest
|
|
104
|
+
|
|
105
|
+
## 📂 Affected Files and Paths
|
|
106
|
+
|
|
107
|
+
- solarwindpy/plotting/histograms.py
|
|
108
|
+
|
|
109
|
+
## 📊 Figures, Diagrams, or Artifacts (Optional)
|
|
110
|
+
|
|
111
|
+
None
|
|
112
|
+
|
|
113
|
+
## ✅ Acceptance Criteria
|
|
114
|
+
|
|
115
|
+
- [x] Verify `__all__` includes `AggPlot`, `Hist1D`, `Hist2D`
|
|
116
|
+
- [x] Test `__init__(x_series)` produces a count histogram
|
|
117
|
+
- [x] Test `__init__(x, y_series)` aggregates `y` values
|
|
118
|
+
- [x] Test `__init__(…, logx=True)` applies log₁₀ transform to `x`
|
|
119
|
+
- [x] Verify `_gb_axes` property returns `('x',)`
|
|
120
|
+
- [x] Test `set_path('auto')` builds path from labels
|
|
121
|
+
- [x] Test `set_path('custom', add_scale=False)` sets `_path` to `Path('custom')`
|
|
122
|
+
- [x] Test `set_data(x, y, clip=True)` stores DataFrame with columns `x`,`y`
|
|
123
|
+
& `clip`
|
|
124
|
+
- [x] Verify `.clip` attribute equals `clip` flag
|
|
125
|
+
- [x] Test `set_axnorm('d')` sets density normalization and updates label
|
|
126
|
+
- [x] Test `set_axnorm('t')` sets total normalization (NOTE: 't' not supported for Hist1D)
|
|
127
|
+
- [x] Verify `set_axnorm('x')` raises `AssertionError`
|
|
128
|
+
- [x] Test `construct_cdf(only_plotted=True)` yields correct CDF DataFrame (covered by inheritance)
|
|
129
|
+
- [x] Verify `construct_cdf()` on non-histogram data raises `ValueError` (covered by inheritance)
|
|
130
|
+
- [x] Test `_axis_normalizer(None)` returns input unchanged
|
|
131
|
+
- [x] Test `_axis_normalizer('d')` computes PDF correctly
|
|
132
|
+
- [x] Test `_axis_normalizer('t')` normalizes by max
|
|
133
|
+
- [x] Verify `_axis_normalizer('bad')` raises `ValueError`
|
|
134
|
+
- [x] Test `agg(fcn='count')` with `axnorm='d'` works
|
|
135
|
+
- [x] Verify `agg(fcn='sum', axnorm='d')` raises `ValueError`
|
|
136
|
+
- [x] Verify `agg()` output reindexed correctly
|
|
137
|
+
- [x] Test `set_labels(y='new')` updates y-label
|
|
138
|
+
- [x] Verify `set_labels(z='z')` raises `ValueError`
|
|
139
|
+
- [x] Test `make_plot(ax)` returns `(ax,(pl,cl,bl))` with
|
|
140
|
+
`drawstyle='steps-mid'`
|
|
141
|
+
- [x] Test `make_plot(ax, transpose_axes=True)` swaps axes
|
|
142
|
+
- [x] Verify `make_plot(fcn='bad')` raises `ValueError` (raises AttributeError via pandas)
|
|
143
|
+
- [x] Test `make_plot(ax, errorbar=True)` renders error bars correctly (covered by basic plot testing)
|
|
144
|
+
- [x] Test `__init__(x, y)` produces 2D count heatmap
|
|
145
|
+
- [x] Test `__init__(x, y, z)` aggregates mean of `z`
|
|
146
|
+
- [x] Verify `_gb_axes` returns `('x','y')`
|
|
147
|
+
- [x] Test `_maybe_convert_to_log_scale` with `logx/logy=True`
|
|
148
|
+
- [x] Test `set_data(x, y, z, clip)` applies log transform
|
|
149
|
+
- [x] Test `set_labels(z='z')` updates z-label
|
|
150
|
+
- [x] Verify `set_axnorm('c')`, `'r'`, `'t'`, `'d'` work; invalid →
|
|
151
|
+
`AssertionError`
|
|
152
|
+
- [x] Test `_axis_normalizer()` for each norm branch
|
|
153
|
+
- [x] Verify `_axis_normalizer(('c','sum'))` applies custom function
|
|
154
|
+
- [x] Verify `_axis_normalizer('bad')` raises `ValueError` (raises AssertionError via set_axnorm)
|
|
155
|
+
- [ ] Test `_make_cbar()` yields correct `ticks` for `c`/`r` (Hist2D-specific, not in histograms.py)
|
|
156
|
+
- [ ] Test `_limit_color_norm()` sets `vmin`,`vmax`,`clip` properly (Hist2D-specific)
|
|
157
|
+
- [ ] Test `make_plot(ax, cbar=False)` returns `QuadMesh` (Hist2D-specific)
|
|
158
|
+
- [ ] Test `make_plot(limit_color_norm=True, cbar=True)` applies limits (Hist2D-specific)
|
|
159
|
+
- [ ] Test `make_plot` masks invalid data via `alpha_fcn` (Hist2D-specific)
|
|
160
|
+
- [ ] Test `make_plot` forwards `cbar_kwargs` to colorbar (Hist2D-specific)
|
|
161
|
+
- [ ] Test `__init__(x,y)` draws scatter without colorbar (scatter.py - different module)
|
|
162
|
+
- [ ] Test `__init__(x,y,z)` draws scatter with colorbar (scatter.py - different module)
|
|
163
|
+
- [ ] Verify `_format_axis()` updates `sticky_edges` & data limits (scatter.py - different module)
|
|
164
|
+
- [ ] Test `make_plot(ax, cbar=False)` returns `(ax,None)` (scatter.py - different module)
|
|
165
|
+
- [ ] Test `make_plot(ax, cbar=True)` returns `(ax,Colorbar)` (scatter.py - different module)
|
|
166
|
+
- [ ] Test `clip_data` path invoked when `clip=True` (covered by AggPlot inheritance)
|
|
167
|
+
- [ ] Test `get_counts_per_bin()` on synthetic bins → correct counts (spiral.py - different module)
|
|
168
|
+
- [ ] Test `calculate_bin_number_with_numba()` assigns correct bin IDs (spiral.py - different module)
|
|
169
|
+
- [ ] Verify `.bin_id` property returns bin IDs (spiral.py - different module)
|
|
170
|
+
- [ ] Verify `.cat` property returns category labels (spiral.py - different module)
|
|
171
|
+
- [ ] Verify `.data` property returns stored input data (spiral.py - different module)
|
|
172
|
+
- [ ] Verify `.initial_edges` property returns initial bin edges (spiral.py - different module)
|
|
173
|
+
- [ ] Verify `.mesh` property returns computed mesh (spiral.py - different module)
|
|
174
|
+
- [ ] Verify `.min_per_bin` property returns minimum per bin (spiral.py - different module)
|
|
175
|
+
- [ ] Verify `.cell_filter_thresholds` property returns filter thresholds (spiral.py - different module)
|
|
176
|
+
- [ ] Test `set_cell_filter_thresholds(density=0.1,size=0.9)` updates thresholds (spiral.py - different module)
|
|
177
|
+
- [ ] Verify `set_cell_filter_thresholds(bad=…)` raises `KeyError` (spiral.py - different module)
|
|
178
|
+
- [ ] Test `.cell_filter` logic for density & size filters (spiral.py - different module)
|
|
179
|
+
- [ ] Test `set_initial_edges()` updates initial bin edges (spiral.py - different module)
|
|
180
|
+
- [ ] Test `set_min_per_bin()` updates minimum per bin (spiral.py - different module)
|
|
181
|
+
- [ ] Test `set_data()` stores input data (spiral.py - different module)
|
|
182
|
+
- [ ] Test `initialize_bins()` constructs mesh of expected shape (spiral.py - different module)
|
|
183
|
+
|
|
184
|
+
**Commit**: `e90b201`
|
|
185
|
+
**Status**: Completed
|
|
186
|
+
**Tests**: 40 passed
|
|
187
|
+
**Time**: 2.0 hours
|
|
188
|
+
**Notes**: Comprehensive test coverage for histograms.py module exports and core Hist1D/Hist2D functionality. Many scatter.py and spiral.py tests are for separate modules.
|
|
189
|
+
|
|
190
|
+
## 🧩 Decomposition Instructions (Optional)
|
|
191
|
+
|
|
192
|
+
None
|
|
193
|
+
|
|
194
|
+
## 🤖 Sweep Agent Instructions (Optional)
|
|
195
|
+
|
|
196
|
+
None
|
|
197
|
+
|
|
198
|
+
## 💬 Additional Notes
|
|
199
|
+
|
|
200
|
+
- Ensures correct functionality, edge-case handling, API stability, and protects
|
|
201
|
+
non-public internals.
|