Changelog¶
0.1.0 (2026-06-19)¶
Features¶
Add
make_dimnames: applymake_namesto row and column name vectors, returning adictwith"rownames"and"colnames"keys.Add
namesparameter tokebab_casefor API symmetry (accepted but unused, since Python lists have no names attribute).Improve feature parity with R
syntacticv0.8.0 across all case-conversion functions.
Bug Fixes¶
Fix
capitalize: now capitalizes the first letter of each space-delimited word, matching R’scapitalize()behaviour.Fix
autopad_zeros: resolve type-checker errors inpad_zeros.py; the function now correctly type-narrows the scalar vs list input path.
Changes¶
Remove dead
names=keyword argument fromcamel_case,upper_camel_case,snake_case,dotted_case, andkebab_case. Python lists have no names attribute, so these parameters were always no-ops. This is a breaking change for callers passingnames=explicitly.Switch license to Apache-2.0.
Upgrade build backend to
uv_build.Add Sphinx + PyData Theme documentation scaffold with ReadTheDocs config.
Publish to
python.acidgenomics.com(private PEP 503 index) instead of the git URL installation.Update installation instructions in README.
Tests¶
Add
tests/test_make_dimnames.py(previously untested).Expand
test_make_names.py: add full 14-string R fixture, complex smart symbol suite, and uniqueness tests ported from R’stest-makeNames.R.Expand
test_autopad_zeros.py: add partial-padding error test and 24-element mixed-prefix scenario from R’stest-autopadZeros.R.Expand
test_capitalize.py: add R’s canonical 3-string fixture for bothcapitalizeandsentence_case.Expand
test_rename.py: add recursive rename,camel_case,upper_camel_case,lowercase_ext, and additional R fixture tests.Add
pythonpath = ["src"]to pytest config so the src-layout package is importable without a venv install.
0.0.1 (2026-02-17)¶
Initial release.