You can test the unpublished version of cihai-cli before its released, see developmental releases.
pip:
$ pip install --user --upgrade --pre cihai-clipipx:
$ pipx install \
--suffix=@next \
--pip-args '\--pre' \
--force \
'cihai-cli'
// Usage: cihai@next info 好uv:
$ uv add cihai-cli --prerelease allowuvx:
$ uvx --from 'cihai-cli' --prerelease allow cihaiNotes on the upcoming release will go here.
- Visual improvements to API docs from gp-sphinx-based Sphinx packages (#346)
- Bump gp-sphinx docs stack to v0.0.1a8 (#347)
- Linkable arguments: Each CLI argument now has a permalink (¶) for easy sharing and bookmarking
- Clearer metadata display: Default values, types, and choices are now displayed in a structured format
- Required arguments highlighted: Required arguments are visually distinguished with an amber tag
- Dark mode support: All new styling adapts to your system's light/dark preference
- Add syntax highlighting for CLI help examples
- New
_colors.pymodule with ANSI color support respectingNO_COLOR/FORCE_COLOR - New
_formatter.pywith custom argparse HelpFormatter for colored examples
- Port
sphinx_argparse_neoextension from vcspull, replacing externalsphinx-argparsedependency - Add custom Pygments lexers for argparse and CLI usage syntax highlighting:
argparse_lexer.py- Lexer for argparse help textcli_usage_lexer.py- Lexer for CLI usage patterns
- Add
argparse_exemplar.pyextension for transforming argparse epilog examples into documentation - Add
argparse_roles.pyfor custom Sphinx roles (:opt:,:arg:,:prog:) - Add CSS styling for syntax-highlighted argparse output
- Add comprehensive test suite for all Sphinx extensions
- Add
types-docutilsandtypes-Pygmentsfor type checking Sphinx extensions (#337)
- Add
py.typedmarker for PEP 561 type checking support (#337)
- Bump cihai 0.36.0 -> 0.36.1 (#338)
- Migrate to PyPI Trusted Publisher (#332)
- Migrate from
Makefiletojustfilefor running development tasks - Update documentation to reference
justcommands
- Migrate docs deployment to AWS OIDC authentication and AWS CLI
-
Bump cihai 0.35.0 -> 0.36.0
-
Drop support for Python 3.9; the new minimum is Python 3.10 (#330).
See also:
- Add Python 3.14 to test matrix (#329)
- Add
from __future__ import annotationsto defer annotation resolution and reduce unnecessary runtime computations during type checking. - Enable Ruff checks for PEP-compliant annotations:
For more details on PEP 563, see: https://peps.python.org/pep-0563/
Maintenance only, no bug fixes, or new features
-
Drop Python 3.8 (#323)
The minimum version of Python in this and future releases is Python 3.9.
Python 3.8 reached end-of-life status on October 7th, 2024 (see PEP 569).
-
cihai: Bump minimum version to 0.35.0 (#323)
Requires Python 3.9.
Updates unihan-etl to 0.37.0, which also requires Python 3.9.
-
Aggressive automated lint fixes via
ruff(#323)via ruff v0.8.4, all automated lint fixes, including unsafe and previews were applied for Python 3.9:
$ ruff check --select ALL . --fix --unsafe-fixes --preview --show-fixes; ruff format .
Maintenance only, no bug fixes, or new features
uv is the new package and project manager for the project, replacing Poetry.
Build system moved from poetry to hatchling.
-
Code quality: Use f-strings in more places (#312)
via ruff 0.4.2.
Maintenance only, no bug fixes, or new features
- Automatically linkify links that were previously only text.
-
cihai: 0.32.0 -> 0.33.0
Ruff linting for cihai package.
Maintenance only, no bug fixes, or new features
-
cihai: 0.31.0 -> 0.32.0
- unihan-etl: 0.31.0 -> 0.34.0
-
Aggressive automated lint fixes via
ruff(#310)via ruff v0.3.4, all automated lint fixes, including unsafe and previews were applied:
$ ruff check --select ALL . --fix --unsafe-fixes --preview --show-fixes; ruff format .Branches were treated with:
$ git rebase \ --strategy-option=theirs \ --exec 'poetry run ruff check --select ALL . --fix --unsafe-fixes --preview --show-fixes; poetry run ruff format .; git add src tests; git commit --amend --no-edit' \ origin/master
-
poetry: 1.7.1 -> 1.8.2
See also: https://github.com/python-poetry/poetry/blob/1.8.2/CHANGELOG.md
-
ruff 0.2.2 -> 0.3.0 (#309)
Related formattings. Update CI to use
ruff check .instead ofruff ..See also: https://github.com/astral-sh/ruff/blob/v0.3.0/CHANGELOG.md
-
cihai: 0.30.0 -> 0.31.0 (#308):
Bump UNIHAN compatibility from 11.0.0 to 15.1.0 (released 2023-09-01, revision 35).
-
unihan-etl: 0.29.0 -> 0.33.1
- 0.30.1 -> 0.33: UNIHAN compatibility bumped to 15.1.0.
- 0.29.0 -> 0.30.1: Fix
kRSUnicodedouble apostrophes.
-
-
Strengthen linting (#307)
-
Add flake8-commas (COM)
-
Add flake8-builtins (A)
-
Add flake8-errmsg (EM)
-
Maintenance only, no bug fixes, or new features
-
cihai: 0.29.0 -> 0.30.0
- pydocstyle docstrings
- Bug fixes for unused character utility functions
- Move CodeQL from advanced configuration file to GitHub's default
- ci: Add pydocstyle rule to ruff (#304)
- Add docstrings to functions, methods, classes, and packages (#304)
Maintenance only, no bug fixes, or new features
-
Move pytest configuration to
pyproject.toml(#301) -
Add Python 3.12 to trove classifiers
-
Packaging (poetry): Fix development dependencies
Per Poetry's docs on managing dependencies and
poetry check, we had it wrong: Instead of using extras, we should create these:[tool.poetry.group.group-name.dependencies] dev-dependency = "1.0.0"
Which we now do.
-
unihan-etl: 0.28.0 -> 0.29.0 (maintenance release)
-
ruff: Remove ERA /
eradicatepluginThis rule had too many false positives to trust. Other ruff rules have been beneficial.
-
Poetry: 1.6.1 -> 1.7.0
See also: https://github.com/python-poetry/poetry/blob/1.7.0/CHANGELOG.md
-
Move formatting from
blacktoruff format(#302)This retains the same formatting style of
blackwhile eliminating a dev dependency by using our existing rust-basedrufflinter. -
CI: Update action packages to fix warnings
- dorny/paths-filter: 2.7.0 -> 2.11.1
Maintenance only, no bug fixes, or new features
-
cihai: 0.27.0 -> 0.28.0
Update pytest plugin
Maintenance only, no bug fixes, or new features
-
cihai: 0.26.0 -> 0.27.0 (#300)
Includes unihan-etl 0.25.2 -> 0.27.0 pytest fixes
Maintenance only, no bug fixes, or new features
- Ruff: Code quality fixes (#299)
- Fix
cihai infoandcihai reverse(#297, #298)
Maintenance only, no bug fixes, or new features
-
ruff: Increase code quality strictness, implement code improvements (#295)
-
cihai: 0.25.0 -> 0.26.0 (linting updates through stricter ruff settings)
unihan-etl: 0.24.0 -> 0.25.0 (linting improvements in the same way)
Maintenance only, no bug fixes, or new features
-
cihai: 0.23.0 -> 0.25.0 (#298)
-
Subdependency unihan-etl: 0.23.1 -> 0.24.0
-
Subdependency updated for zhon: 1.1.5 -> 2.0.0
Fixes pytest warning related to regular expressions.
-
-
Maintenance only, no bug fixes, or new features
-
cihai: 0.21.0 to 0.22.1
Sub-dependency unihan-etl to 0.21.1 -> 0.22.2, which has {obj}
dataclasses.dataclass-based configuration.
-
cihai: Bumps to 0.22.1
Reliance on {mod}
pathlib-based file paths, typings.
Maintenance only, no bug fixes, or new features
-
Python 3.7 Dropped
Python 3.7 support has been dropped (#290)
Its end-of-life is June 27th, 2023 and Python 3.8 will add support for
typing.TypedDictandtyping.Protocolout of the box without needingtyping_extensions.
-
Typings: Add
--strictmypy compliance (#277) -
Move from pytest's
tmp_dir(py.path.local) totmp_path(pathlib.Path), #292 -
Remove unnecessary use of
typing_extension'sTypedDict(#292)Note:
typing_extension'sTypedDictis still used forNotRequiredTypedDicts until the minimum python version supports them (3.11 via PEP-655) -
cihai:
- Update 0.19.0 -> 0.20.0: Add mypy strict typings
- Update 0.20.0 -> 0.21.0: SQLAlchemy 2.0 (#292)
Maintenance only, no bug fixes, or new features
0.16.0 will be the final Python 3.7 release.
-
Move formatting, import sorting, and linting to ruff.
This rust-based checker has dramatically improved performance. Linting and formatting can be done almost instantly.
This change replaces isort, flake8 and flake8 plugins.
-
poetry: 1.4.0 -> 1.5.0
See also: https://github.com/python-poetry/poetry/releases/tag/1.5.0
-
Update cihai 0.18.3 -> 0.19.0 and unihan-etl 0.18.2 -> 0.19.1
Moved to linting ruff (no changes to the production package itself)
Maintenance only, no bug fixes or new features
-
Update cihai 0.18.1 -> 0.18.3
-
Sub-dependency updated: unihan-etl 0.18.1 -> 0.18.2
Typing update for
merge_dict
-
- Add migrations page
- Add back page on completions
- CLI: Fix help text descriptions
- Move from click to {mod}
argparse(#286)
- Drop click dependency (#286)
- Update to cihai v0.18.1+ (kaptan dependency removed)
-
CI speedups (#285)
- Split out release to separate job so the PyPI Upload docker image isn't pulled on normal runs
- Clean up CodeQL
-
Poetry: Bump 1.1.x to 1.2.x
- Fix click constraint for poetry 1.2 (was missing a comma)
This is a maintenance only release, no bugfixes or features.
- Move to
src/layout (#284) - Add flake8-bugbear (#281)
- Add flake8-comprehensions (#282)
- Render changelog in
linkify_issues(#280, #283) - Fix Table of contents rendering with sphinx autodoc with
sphinx_toctree_autodoc_fix(#283) - Test doctests in our docs via
pytest_doctest_docutils(built ondoctest_docutils) (#283)
- cihai v0.16.0 (with strict typings from unihan-etl v0.17.x)
The CLI version of cihai installed through cihai-cli again
Before (cihai 0.9 to 0.14, cihai-cli 0.5 to 0.10):
$ pip install cihai[cli]After (cihai 0.15+, cihai-cli 0.11+):
$ pip install cihai-cliModern uv-based workflows can either add the CLI to a project:
$ uv add cihai-cliInstall it as a user-wide tool:
$ uv tool install cihai-cliOr run it on-demand:
$ uvx --from cihai-cli cihai --versionThis made deploying cihai + cihai-cli and pinning packages extremely laborious.
We can reinvestigate this model in the future.
via: cihai#326, cihai-cli#279
- Python 2 compatibility module and imports removed. Python 2.x was officially dropped in 0.7.0 (2021-06-15) via #278
- Remove python 3.6 support (#269)
- Add python 3.10 support (#269)
Infrastructure updates for static type checking and doctest examples.
-
Update poetry to 1.1
- CI: Use poetry 1.1.12 and
install-poetry.pyinstaller (#255 + #269) - Relock poetry.lock at 1.1 (w/ 1.1.7's fix)
- CI: Use poetry 1.1.12 and
-
pyupgrade to python 3.7
-
Initial doctests support added, via #276
-
Initial mypy validation, via #276
-
CI (tests, docs): Improve caching of python dependencies via
action/setup-python's v3/4's new poetry caching, via #276 -
CI (docs): Skip if no
PUBLISHcondition triggered, via #276
- Refactor
tmpdir->tmp_path
- Use
furotheme
- Update cihai to 0.12
- #252: Convert to markdown
- Set cihai to 0.11.1+ to fix sqlalchemy issue
- Fix README in packaging
- Update
blackto 21.6b0 - Update trove classifiers to 3.9
- #251 Drop python 2.7 and 3.5. Remove deprecated
__future__and modesets
- #249 Move packaging / publishing to poetry
- #248 Self host docs
- #248 Add metadata / icons / etc. for doc site
- #248 Move travis -> github actions
- #248 Overhaul Makefiles
- #247 - Move from Pipfile to Poetry
- Fixed bug in Python 2.x when showing help / "cihai"
- Add
project_urlsto setup.py - Installation is now done via
pip --user install cihai[cli] - README Fixed to use plain reStructuredText
- Miscellaneous package updates for pytest, other support packages
- Loosening of version requirements
- #91
-V/-versionnow shows the cihai backend version.
-
Update Sphinx 1.7.5. to 1.7.6
-
Update cihai 0.8.0 to 0.8.1
This should fix dependency issues with kaptan / pyyaml
-
Add vietnamese phonetic to default output in
infocommand -
Switch tmuxp config to use pipenv
-
Add configuration / make tests for isort, flake8
-
Add Pipfile
-
Add
make sync_pipfiletask to sync requirements/.txt* files with *Pipfile* -
Base package updates
- cihai 0.7.4 to 0.8.0
-
Developer package updates (linting / docs / testing)
New:
- sphinx-click 1.2.0
- sphinxcontrib-napoleon 0.6.1
Updated:
- isort 4.2.5 to 4.3.4
- flake8 3.3.0 to 3.5.0
- vulture 0.14 to 0.27
- sphinx 1.5.6 to 1.7.5
- alagitpull 0.0.4 to 0.0.21
- releases 1.3.1 to 1.6.0
- pytest 3.0.7 to 3.6.2
-
Move documentation over to numpy-style
-
Update LICENSE New BSD to MIT
-
All future commits and contributions are licensed to the cihai software foundation. This includes commits by Tony Narlock (creator).
- Bump cihai version to 0.7.4
- Bump cihai version to 0.7.2
- Output human-friendly fields only by default
- Use
-aor--allto show all fields - Rename
lookupcommand toreverse - Remove newlines, use click.echo for printing to CLI
- Fix unicode issues on 2.7 in tests and cli
- CLI variable tweaks
- Fix package dependency
- Initial project