Skip to content

Latest commit

 

History

History
491 lines (318 loc) · 24 KB

news.md

File metadata and controls

491 lines (318 loc) · 24 KB

News

  • November 2024:

    • Migrated Python projects from poetry to uv, a new Rust-based package and project manager.

      It's impressive to see Rust revitalizing tooling in Python and Node.js. What might come next?

    • {ref}unihan-etl <unihan-etl:index>: v0.35.0 (diff)

      Updated to UNIHAN @ Revision 37.

  • October 2024:

    Faster test fixtures:

    Additional improvements to pytest fixtures are expected, along with significant enhancements like new options and hooks support in {ref}libtmux <libtmux:index>.

  • June 2024:

    • {ref}libvcs <libvcs:index>: v0.30.1 (diff): Support for AWS CodeCommit URLs.
    • CV: Added sidebar of years, track current year in top menu while scrolling.
  • April-June 2024:

    • {ref}libtmux <libtmux:index>: Working on options and hooks: libtmux#516
  • March 2024:

    • {ref}libtmux <libtmux:index> refactoring continues

    • Automated fixes via ruff

      Machine-made refactors rendering consistent, tight python code:

  • February 2024: Busman's holiday

  • January 2024:

  • December 2023:

  • November 2023

  • October 2023 - Overhauled {ref}django-docutils <django-docutils:index>

    {ref}django-docutils <django-docutils:index> - a django package for reStructuredText - is being dusted off.

    • v0.15.0 (diff) introduces:

      • Renamed template tags / filters from restructuredtext to rst

      • Enabled template tags to accept block content, e.g.

        {% load django_docutils %}
        {% rst %}
        **my bold text**
        {% endrst %}
      • Added test coverage for template tags and template engine.

    • v0.19.0 (diff): Typings for settings, cleanup, documentation

    This package, originally part of a blog that combined django ORM + django views + intersphinx, remained unused in the attic until last month. It is now known as django-docutils.

  • Late September 2023 - More mypy --strict compliant typings

  • Early September 2023 - More quality improvements

  • August 2023 - Continued quality improvements

    Building upon the improvements made to ruff in July 2023, the following additional projects have now been revitalized:

  • August 2023 - CV Website updated

    • Dark mode
    • Renewed design with CSS variables
  • July 2023 - Improved Quality Standards

    This enhances the maintainability of projects by employing ruff, a Python linter/fixer developed in Rust:

  • June 2023 - social-embed moved to vite.

    P.S. cihai updates ongoing (updated below)

  • May-June 2023 - cihai is being revamped

    After over 5 years of inactivity, this suite of packages has been revived.

    {ref}cihai <cihai:index> updates:

    {ref}cihai-cli <cihai-cli:index> updates:

    • June 4th, 2023: 0.17.0: Introduced mypy --strict compliant typings and transitioned from SQLAlchemy 1.3 to SQLAlchemy 2.0.

    {ref}unihan-etl <unihan-etl:index> updates:

    • June 12th, 2023: 0.21.0: Move to {mod}pathlib, type callbacks via {class}typing.Protocol.
    • June 17th, 2023: 0.22.0:
      • Add {mod}doctest support
      • Configuration: Move options from {class}dict to typed {obj}~dataclasses.dataclass object.
      • Docs: Split {ref}API documentation <unihan-etl:api> into multiple pages
      • Move unihan_etl.process -> unihan_etl.core

    {ref}unihan-db <unihan-db:index> updates:

    • June 10th, 2023: 0.9.0: mypy --strict compliant typings and migrate from SQLAlchemy 1.3 to SQLAlchemy 2.0

    In the future, cihai projects will have:

    • SQLAlchemy updated to 1.4, then 2.0+ Completed
    • Typings, for improved maintainability and completions
    • Doctests for tested examples
    • unihan-etl and cihai will have their own pytest plugins for bootstrapping a UNIHAN.zip and reusing it throughout the test session.
    • In the medium to longterm: Simpler and stable APIs
  • December 2022 - I'm not giving up being successful

    In 2023:

    • Snappable, expressive configurations will enliven tmuxp and vcspull

      Dataclasses will resemble the structure of the:

      • libtmux: tmux session, and
      • libvcs: the file paths of the user's repository checkouts
    • My oldest library - libtmux - will be renewed with dataclasses, documentation, and improve tests

  • September 2022 - One more thing on doctest

    I wrote a {mod}doctest module that can parse reStructuredText and markdown:

    {ref}doctest_docutils

    It also has a {ref}pytest plugin <pytest_doctest_docutils>

    On that note, I also made a pytest plugin for libtmux and libvcs:

    • {ref}libtmux:pytest_plugin - bootstrap [tmux] sessions in your tests
    • {ref}libvcs pytest plugin <libvcs:pytest_plugin> - setup and teardown git, mercurial and subversion repos in your tests.
  • Mid August 2022 - Promises keep coming

    Additionally, test and quality infrastructure has been improved across all projects:

    • libtmux now has comprehensive typings (--strict mypy compliance) as of 0.13.0
    • All projects except vcspull now have basic mypy and doctest support.
  • Early August 2022 - Promises kept (and keep coming)

    libvcs 0.14.0 released w/ typing annotations and doctests.

    Also, added a URL Parser (compare to {mod}urlparse) for {mod}~libvcs:libvcs.parse.git, {mod}~libvcs:libvcs.parse.hg, and {mod}~libvcs:libvcs.parse.svn URLs. Extensible using {mod}framework tools <libvcs:libvcs.parse.base>. Built on dataclasses and uses {mod}doctest.

    In the process, "side inventions" (License MIT):

    • {class}~libvcs:libvcs._internal.query_list.QueryList: Nested searching of {class}dict-like data.
    • {class}~libvcs:libvcs._internal.subprocess.SubprocessCommand: Deferrable {mod}subprocess commands.
    • {class}~libvcs:libvcs._internal.dataclasses.SkipDefaultFieldsReprMixin: Exclude default fields (useful for clearer pytest assertions / printing). Thanks Pietro Oldrati.
  • June 2022

    • libvcs and vcspull are being rebuilt from the ground up. This will be a fresh take on one of my earliest python projects. What they'll be using:

      • doctest: actual code demo in documentation which also function as tests
      • mypy: type checking through annotations (PEP 484, PEP 526)
      • dataclasses (experimental): As a library creator, I will put these to the test

      The projects will be a proving ground for quality standards and patterns I'll adopt across my other and future packages.

  • March 2022

    • All sites moved to new design.
  • June 2021

    • tmux-python (tmuxp + libtmux), vcs-python (vcspull + libvcs), cihai (cihai, cihai-cli, unihan-etl, unihan-db) moved to markdown
  • April 2021

    • Created @social-embed web component / library in TypeScript and LitElement: Homepage, GitHub
  • Feb 2021

  • August 2020