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?
-
Updated to UNIHAN @ Revision 37.
October 2024:
Faster test fixtures:
libvcs: v0.33.0 (diff): 50% faster.
vcspull: v1.32.0 (diff): 33% faster.
Additional improvements to pytest fixtures are expected, along with significant enhancements like new options and hooks support in libtmux.
June 2024:
libvcs: 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:
libtmux: Working on options and hooks: libtmux#516
March 2024:
libtmux refactoring continues
Automated fixes via ruff
Machine-made refactors rendering consistent, tight python code:
February 2024: Busman’s holiday
-
API streamlining (e.g.,
Pane.select_pane()
->Pane.select()
)Up next: Options and hooks: libtmux#516
CV: Add timeline to pull requests
-
v0.31.0 (diff): Support updated from UNIHAN at Unicode 11.0.0 (May 2018) to 15.1.0 (Sept 2023), via unihan-etl#309.
v0.32.0 (diff): Highlight examples on the front page: unihan-etl#253, unihan-etl#314.
-
January 2024:
December 2023:
Moved my CV and social-embed project to
oxlintbiome, a Rust-based linter and formatter:Documented even more projects w/ ruff’s pydocstyle linter:
November 2023
social-embed: Upgraded website from docusaurus v2 to v3 (diff).
Linted project documentation with pydocstyle + ruff:
October 2023 - Overhauled django-docutils
django-docutils - a django package for reStructuredText - is being dusted off.
-
Renamed template tags / filters from
restructuredtext
torst
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 typingsEarly 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.
cihai updates:
May 25th, 2023 - 0.20.0: Adds mypy
--strict
compliant typingsJune 3rd, 2023 - 0.21.0: Migrate from SQLAlchemy v1.3 to SQLAlchemy v2.0
cihai-cli updates:
June 4th, 2023: 0.17.0: Introduced mypy
--strict
compliant typings and transitioned from SQLAlchemy 1.3 to SQLAlchemy 2.0.
unihan-etl updates:
June 12th, 2023: 0.21.0: Move to
pathlib
, type callbacks viatyping.Protocol
.June 17th, 2023: 0.22.0:
Add
doctest
supportConfiguration: Move options from
dict
to typeddataclass
object.Docs: Split API documentation into multiple pages
Move
unihan_etl.process
->unihan_etl.core
unihan-db 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+CompletedTypings, 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:
September 2022 - One more thing on doctest
I wrote a
doctest
module that can parse reStructuredText and markdown:It also has a pytest plugin
On that note, I also made a pytest plugin for libtmux and libvcs:
tmux pytest plugin - bootstrap [tmux] sessions in your tests
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:
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
urlparse
) forgit
,hg
, andsvn
URLs. Extensible usingframework tools
. Built on dataclasses and usesdoctest
.In the process, “side inventions” (License MIT):
SubprocessCommand
: Deferrablesubprocess
commands.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
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
Feb 2021
Experimenting with new CV: cv-react-v2.git-pull.com
August 2020
All documentation moved to poetry, Amazon CloudFront and GitHub actions
HSKFlashCards has been rewritten in Gatsby + TypeScript + chakra-ui
August 2019
unihan-etl 0.10.3 released
cihai 0.9 released
cihai-cli 0.5 released, you can now install via
pip install cihai[cli]
June 2018
Notes on common patterns in project structure / layout in git-pull python projects.
April 2018
New organization mirrors on GitLab:
March 2018
Two new organizations:
tmux-python, for the tmuxp and libtmux projects.
vcs-python, for the vcspull and libvcs projects.
Working slogan: Permissively licensed. For the public good.
February 2018
Package update:
alagitpull, a Sphinx theme based off alabaster, learned to open external links in new tabs.
New article:
New front-end app, “CV”, two versions:
React Version: React + Redux + Reselect + webpack (source)
Vue.js Version: Vue.js + Vuex + webpack (source)
See source code on GitHub at https://github.com/tony/cv.
December 2017
New project: django-slugify-processor
New article: Demystifying Django’s import strings
November 2017
New articles:
September 2017
New article: Pipenv: Holy Grail for Python Environments
August 2017
The design and internals of HSKFlashCards have been refreshed.
July 2017
New website (in development): https://devel.tech
See devel.tech’s open source contributions and site updates
June 2017
New articles: Django vs Flask and About UNIHAN
New Project: unihan-db, database models and abstraction for UNIHAN.
May 2017
unihan-etl, a tool to access UNIHAN, a dataset of Chinese, Japanese, and Korean character information, to a etl format, is now available. Supports customizable export to CSV, YAML, JSON, python, and Data Package format.
April 2017
cihai, a project to open and standardize CJK datasets, is being restarted.
March 2017
The Tao of tmux has been updated. See The Tao of tmux, March 2017 update for more details.
February 2017
HSKFlashCards has gotten a face lift. Take your study of chinese glyphs to the next level with its new search and directory functionality.
January 2017
A new book, The Tao of tmux is available on Leanpub and Kindle (Amazon). Read and browse the book for free on the web.