Skip to content

V0.1.2

Latest

Choose a tag to compare

@Tari-dev Tari-dev released this 07 Sep 08:14
· 8 commits to main since this release

Release Summary

This release fixes emoji rendering in ASCII tables and migrates the project to a modern uv-based packaging setup.
Core changes:

  • Replaced str.format() padding with a manual _pad() method that respects visual character widths, fixing broken table borders when emojis are present

  • Added a robust _len() implementation that counts emojis, CJK wide characters, and zero-width combining marks/variation selectors as 2 columns

Bug fixes:

  • Fixed create() mutating self.width on every render call, making it idempotent

  • Added row length validation — now raises ValueError if a row doesn't match the header's column count

Packaging:

  • Migrated from setup.py to pyproject.toml with uv_build backend
  • Configured flat package layout (module-root = ".", module-name = "tableascii") so no src/ directory is needed
  • Added PEP 639 license fields (license + license-files)
  • Removed stale [project.scripts] entry that referenced a nonexistent main function
  • Python requirement lowered to >=3.6

Testing:

  • Added 6 targeted tests covering basic tables, emoji alignment, multiple emojis, idempotency, CJK characters, and mixed content

CI/CD:

  • Added .github/workflows/python-publish.yml that builds on every push to main and publishes to PyPI on release publication