rms-polymath 2.2.0__tar.gz → 2.3.0__tar.gz
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.
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.github/workflows/publish_to_pypi.yml +2 -2
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.github/workflows/publish_to_test_pypi.yml +2 -2
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.github/workflows/run-tests.yml +6 -6
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/PKG-INFO +3 -2
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/README.md +0 -1
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/docs/dev_guide/dev_guide_environment.rst +2 -2
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/pyproject.toml +2 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/_version.py +3 -3
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/rms_polymath.egg-info/PKG-INFO +3 -2
- rms_polymath-2.3.0/src/rms_polymath.egg-info/scm_version.json +8 -0
- rms_polymath-2.2.0/src/rms_polymath.egg-info/scm_version.json +0 -8
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.claude/rules/dependency_management.md +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.claude/rules/doc_python.md +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.claude/rules/environment.md +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.claude/rules/filecache.md +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.claude/rules/logging.md +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.claude/rules/python.md +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.claude/rules/python_testing.md +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.claude/rules/security.md +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.claude/skills/bug-report/SKILL.md +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.claude/skills/critique-documentation/SKILL.md +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.claude/skills/critique-test-suite/SKILL.md +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.claude/skills/doc-dev-guide/SKILL.md +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.claude/skills/doc-how-to/SKILL.md +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.claude/skills/doc-readme/SKILL.md +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.claude/skills/doc-user-guide/SKILL.md +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.claude/skills/git-workflow/SKILL.md +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.claude/skills/pull-request/SKILL.md +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.claude/skills/python-codebase-analysis/SKILL.md +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.claude/skills/python-codebase-analysis/reference.md +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.claude/skills/run-all-checks/SKILL.md +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.codespell-dictionary.txt +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.cursor/settings.json +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.flake8 +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.github/ISSUE_TEMPLATE/other.md +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.github/dependabot.yml +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.github/pull_request_template.md +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.gitignore +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.readthedocs.yaml +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.stubtest-allowlist +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/.vscode/settings.json +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/CLAUDE.md +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/CODE_OF_CONDUCT.md +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/CONTRIBUTING.md +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/LICENSE +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/codecov.yml +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/critiques/2026-08-09-code-critique.md +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/critiques/2026-08-10-performance-critique.md +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/docs/Makefile +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/docs/code_of_conduct.md +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/docs/conf.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/docs/contributing.rst +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/docs/dev_guide/dev_guide.rst +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/docs/dev_guide/dev_guide_architecture.rst +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/docs/dev_guide/dev_guide_conventions.rst +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/docs/dev_guide/dev_guide_extending.rst +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/docs/dev_guide/dev_guide_extensions.rst +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/docs/dev_guide/dev_guide_internal_api.rst +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/docs/dev_guide/dev_guide_introduction.rst +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/docs/dev_guide/dev_guide_layout.rst +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/docs/dev_guide/dev_guide_subclasses.rst +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/docs/dev_guide/dev_guide_typing.rst +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/docs/index.rst +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/docs/make.bat +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/docs/module.rst +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/docs/user_guide/user_guide.rst +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/docs/user_guide/user_guide_derivatives.rst +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/docs/user_guide/user_guide_indexing.rst +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/docs/user_guide/user_guide_introduction.rst +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/docs/user_guide/user_guide_masks.rst +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/docs/user_guide/user_guide_math.rst +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/docs/user_guide/user_guide_objects.rst +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/docs/user_guide/user_guide_pickling.rst +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/docs/user_guide/user_guide_typing.rst +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/docs/user_guide/user_guide_units.rst +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/icons/link.png +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/requirements.txt +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/scripts/read-docs.sh +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/scripts/run-all-checks.sh +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/scripts/setup-venv.sh +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/setup.cfg +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/__init__.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/__init__.pyi +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/boolean.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/extensions/__init__.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/extensions/attr_ops.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/extensions/broadcaster.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/extensions/casting.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/extensions/deriv_ops.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/extensions/dtypes.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/extensions/errors.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/extensions/indexer.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/extensions/item_ops.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/extensions/iterator.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/extensions/mask_ops.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/extensions/masking.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/extensions/math_ops.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/extensions/pickler.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/extensions/readonly_ops.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/extensions/shaper.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/extensions/shrinker.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/extensions/tvl.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/extensions/unit_ops.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/extensions/vector_ops.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/matrix.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/matrix3.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/pair.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/polynomial.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/py.typed +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/quaternion.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/qube.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/scalar.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/typedefs.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/typedefs.pyi +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/unit.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/vector.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/polymath/vector3.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/rms_polymath.egg-info/SOURCES.txt +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/rms_polymath.egg-info/dependency_links.txt +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/rms_polymath.egg-info/requires.txt +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/rms_polymath.egg-info/scm_file_list.json +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/src/rms_polymath.egg-info/top_level.txt +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/__init__.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_boolean.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_indices.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_math_ops_coverage.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_matrix3.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_matrix3_as_matrix3_validation.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_matrix3_deriv_class.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_matrix3_euler.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_matrix3_mask_non_unitary.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_matrix3_pickle.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_matrix3_precision.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_matrix3_quaternion.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_matrix3_to_unitary.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_matrix3_twovec.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_matrix_column_vectors.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_matrix_comprehensive.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_matrix_inverse.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_matrix_is_diagonal.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_matrix_misc.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_matrix_ops.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_matrix_row_vectors.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_matrix_solve.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_pair.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_pair_as_pair.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_pair_clip2d.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_pair_misc.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_pair_swapxy.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_polynomial_arithmetic.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_polynomial_basic.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_polynomial_operations.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_quaternion.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_quaternion_euler.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_quaternion_matrix3.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_quaternion_ops.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_quaternion_parts.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_qube_add_attr.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_qube_all.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_qube_any.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_qube_as_this_type.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_qube_cast.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_qube_clone.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_qube_coverage.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_qube_derivs.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_qube_errstate_independence.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_qube_ext_item_ops.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_qube_ext_mask_ops.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_qube_ext_math_ops.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_qube_ext_pickler.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_qube_ext_shrinker.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_qube_ext_tvl.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_qube_ext_vector_ops.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_qube_getitem.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_qube_getstate.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_qube_identity.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_qube_items.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_qube_iterate.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_qube_mask_nans_infs.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_qube_masking.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_qube_new_from_parts.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_qube_power.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_qube_readonly.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_qube_reshaping.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_qube_setitem.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_qube_shrink.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_qube_stack.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_qube_types.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_qube_unit.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_qube_zero.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_scalar_arccos.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_scalar_arcsin.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_scalar_arctan.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_scalar_arctan2.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_scalar_as_index.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_scalar_as_scalar.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_scalar_comprehensive.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_scalar_cos.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_scalar_coverage.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_scalar_empty_reductions.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_scalar_exp.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_scalar_frac.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_scalar_int.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_scalar_log.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_scalar_max.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_scalar_maximum.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_scalar_mean.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_scalar_median.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_scalar_min.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_scalar_minimum.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_scalar_misc.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_scalar_ops.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_scalar_quadratic.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_scalar_sign.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_scalar_sin.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_scalar_sqrt.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_scalar_sum.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_scalar_tan.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_typedefs.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_units.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_vector3_advanced.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_vector3_basic.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_vector3_misc.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_vector3_operations.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_vector3_spin.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_vector_as_column.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_vector_as_diagonal.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_vector_as_index.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_vector_as_row.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_vector_as_vector.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_vector_comprehensive.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_vector_cross_2x2.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_vector_cross_3x3.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_vector_dot.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_vector_element_div.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_vector_element_mul.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_vector_int.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_vector_masking.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_vector_mean_sum.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_vector_norm.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_vector_norm_sq.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_vector_ops.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_vector_outer.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_vector_perp.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_vector_proj.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_vector_reciprocal.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_vector_scalars.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_vector_sep.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_vector_to_pair.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_vector_ucross.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_vector_unit.py +0 -0
- {rms_polymath-2.2.0 → rms_polymath-2.3.0}/tests/test_vector_with_norm.py +0 -0
|
@@ -12,12 +12,12 @@ jobs:
|
|
|
12
12
|
contents: read
|
|
13
13
|
steps:
|
|
14
14
|
- name: Checkout
|
|
15
|
-
uses: actions/checkout@
|
|
15
|
+
uses: actions/checkout@v7
|
|
16
16
|
with:
|
|
17
17
|
fetch-depth: 0
|
|
18
18
|
|
|
19
19
|
- name: Set up Python 3.12
|
|
20
|
-
uses: actions/setup-python@
|
|
20
|
+
uses: actions/setup-python@v7
|
|
21
21
|
with:
|
|
22
22
|
python-version: 3.12
|
|
23
23
|
|
|
@@ -12,12 +12,12 @@ jobs:
|
|
|
12
12
|
runs-on: ubuntu-latest
|
|
13
13
|
steps:
|
|
14
14
|
- name: Checkout
|
|
15
|
-
uses: actions/checkout@
|
|
15
|
+
uses: actions/checkout@v7
|
|
16
16
|
with:
|
|
17
17
|
fetch-depth: 0
|
|
18
18
|
|
|
19
19
|
- name: Set up Python 3.12
|
|
20
|
-
uses: actions/setup-python@
|
|
20
|
+
uses: actions/setup-python@v7
|
|
21
21
|
with:
|
|
22
22
|
python-version: 3.12
|
|
23
23
|
|
|
@@ -16,10 +16,10 @@ jobs:
|
|
|
16
16
|
runs-on: ubuntu-latest
|
|
17
17
|
steps:
|
|
18
18
|
- name: Checkout
|
|
19
|
-
uses: actions/checkout@
|
|
19
|
+
uses: actions/checkout@v7
|
|
20
20
|
|
|
21
21
|
- name: Set up Python 3.13
|
|
22
|
-
uses: actions/setup-python@
|
|
22
|
+
uses: actions/setup-python@v7
|
|
23
23
|
with:
|
|
24
24
|
python-version: 3.13
|
|
25
25
|
|
|
@@ -86,16 +86,16 @@ jobs:
|
|
|
86
86
|
strategy:
|
|
87
87
|
matrix:
|
|
88
88
|
os: [ubuntu-latest, macos-latest, windows-latest]
|
|
89
|
-
python-version: ['3.11', '3.12', '3.13']
|
|
89
|
+
python-version: ['3.11', '3.12', '3.13', '3.14', '3.15']
|
|
90
90
|
fail-fast: false
|
|
91
91
|
permissions:
|
|
92
92
|
contents: read
|
|
93
93
|
steps:
|
|
94
94
|
- name: Checkout
|
|
95
|
-
uses: actions/checkout@
|
|
95
|
+
uses: actions/checkout@v7
|
|
96
96
|
|
|
97
97
|
- name: Set up Python ${{ matrix.python-version }}
|
|
98
|
-
uses: actions/setup-python@
|
|
98
|
+
uses: actions/setup-python@v7
|
|
99
99
|
with:
|
|
100
100
|
python-version: ${{ matrix.python-version }}
|
|
101
101
|
|
|
@@ -112,7 +112,7 @@ jobs:
|
|
|
112
112
|
coverage report -m
|
|
113
113
|
|
|
114
114
|
- name: Upload coverage report to codecov
|
|
115
|
-
uses: codecov/codecov-action@
|
|
115
|
+
uses: codecov/codecov-action@v7
|
|
116
116
|
if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.13' && !github.event.pull_request.head.repo.fork
|
|
117
117
|
with:
|
|
118
118
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rms-polymath
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.3.0
|
|
4
4
|
Summary: Wrapper for NumPy that adds easy masks and vector computation
|
|
5
5
|
Author-email: "Robert S. French" <rfrench@seti.org>
|
|
6
6
|
Maintainer-email: "Robert S. French" <rfrench@seti.org>
|
|
@@ -20,6 +20,8 @@ Classifier: Topic :: Utilities
|
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.11
|
|
21
21
|
Classifier: Programming Language :: Python :: 3.12
|
|
22
22
|
Classifier: Programming Language :: Python :: 3.13
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
24
|
+
Classifier: Programming Language :: Python :: 3.15
|
|
23
25
|
Classifier: Operating System :: MacOS :: MacOS X
|
|
24
26
|
Classifier: Operating System :: POSIX :: Linux
|
|
25
27
|
Classifier: Operating System :: Microsoft :: Windows
|
|
@@ -51,7 +53,6 @@ Dynamic: license-file
|
|
|
51
53
|
# rms-polymath
|
|
52
54
|
|
|
53
55
|
<!-- pyml disable MD025 -->
|
|
54
|
-
|
|
55
56
|
[](https://github.com/SETI/rms-polymath/releases)
|
|
56
57
|
[](https://github.com/SETI/rms-polymath/releases)
|
|
57
58
|
[](https://github.com/SETI/rms-polymath/actions)
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
# rms-polymath
|
|
2
2
|
|
|
3
3
|
<!-- pyml disable MD025 -->
|
|
4
|
-
|
|
5
4
|
[](https://github.com/SETI/rms-polymath/releases)
|
|
6
5
|
[](https://github.com/SETI/rms-polymath/releases)
|
|
7
6
|
[](https://github.com/SETI/rms-polymath/actions)
|
|
@@ -193,8 +193,8 @@ Three GitHub Actions workflows live in ``.github/workflows/``.
|
|
|
193
193
|
``main``, weekly, and on demand. Its lint job runs ruff, flake8, mypy, pip-audit,
|
|
194
194
|
pyroma, stubtest, Sphinx, codespell, and PyMarkdown on Python 3.13, which is the check
|
|
195
195
|
script's default set minus pytest. Its test job runs pytest with coverage on Ubuntu, macOS, and Windows for each
|
|
196
|
-
of Python 3.11, 3.12, and 3.
|
|
197
|
-
matrix.
|
|
196
|
+
of Python 3.11, 3.12, 3.13, 3.14, and 3.15, and uploads coverage to Codecov from one
|
|
197
|
+
cell of the matrix.
|
|
198
198
|
* ``publish_to_pypi.yml`` builds and validates the distribution and uploads it to PyPI
|
|
199
199
|
when a GitHub Release is published.
|
|
200
200
|
* ``publish_to_test_pypi.yml`` does the same for Test PyPI, on demand.
|
|
@@ -32,6 +32,8 @@ classifiers = [
|
|
|
32
32
|
"Programming Language :: Python :: 3.11",
|
|
33
33
|
"Programming Language :: Python :: 3.12",
|
|
34
34
|
"Programming Language :: Python :: 3.13",
|
|
35
|
+
"Programming Language :: Python :: 3.14",
|
|
36
|
+
"Programming Language :: Python :: 3.15",
|
|
35
37
|
"Operating System :: MacOS :: MacOS X",
|
|
36
38
|
"Operating System :: POSIX :: Linux",
|
|
37
39
|
"Operating System :: Microsoft :: Windows"
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '2.
|
|
22
|
-
__version_tuple__ = version_tuple = (2,
|
|
21
|
+
__version__ = version = '2.3.0'
|
|
22
|
+
__version_tuple__ = version_tuple = (2, 3, 0)
|
|
23
23
|
|
|
24
|
-
__commit_id__ = commit_id = '
|
|
24
|
+
__commit_id__ = commit_id = 'g19a56f3be'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rms-polymath
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.3.0
|
|
4
4
|
Summary: Wrapper for NumPy that adds easy masks and vector computation
|
|
5
5
|
Author-email: "Robert S. French" <rfrench@seti.org>
|
|
6
6
|
Maintainer-email: "Robert S. French" <rfrench@seti.org>
|
|
@@ -20,6 +20,8 @@ Classifier: Topic :: Utilities
|
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.11
|
|
21
21
|
Classifier: Programming Language :: Python :: 3.12
|
|
22
22
|
Classifier: Programming Language :: Python :: 3.13
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
24
|
+
Classifier: Programming Language :: Python :: 3.15
|
|
23
25
|
Classifier: Operating System :: MacOS :: MacOS X
|
|
24
26
|
Classifier: Operating System :: POSIX :: Linux
|
|
25
27
|
Classifier: Operating System :: Microsoft :: Windows
|
|
@@ -51,7 +53,6 @@ Dynamic: license-file
|
|
|
51
53
|
# rms-polymath
|
|
52
54
|
|
|
53
55
|
<!-- pyml disable MD025 -->
|
|
54
|
-
|
|
55
56
|
[](https://github.com/SETI/rms-polymath/releases)
|
|
56
57
|
[](https://github.com/SETI/rms-polymath/releases)
|
|
57
58
|
[](https://github.com/SETI/rms-polymath/actions)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{rms_polymath-2.2.0 → rms_polymath-2.3.0}/.claude/skills/python-codebase-analysis/reference.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|