Changelog#

cihai 0.32.x (unreleased)#

Development#

  • poetry: 1.7.1 -> 1.8.1

    See also: https://github.com/python-poetry/poetry/blob/1.8.1/CHANGELOG.md

  • ruff 0.2.2 -> 0.3.0 (#368)

    Related formattings. Update CI to use ruff check . instead of ruff ..

    See also: https://github.com/astral-sh/ruff/blob/v0.3.0/CHANGELOG.md

cihai 0.31.0 (2024-02-09)#

What’s new#

  • 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

    • Bump unihan-etl 0.30.1 -> 0.33.1 (#366)

      UNIHAN compatibility bumped to 15.1.0.

    • Bump unihan-etl 0.29.0 -> 0.30.1

      Fix kRSUnicode double apostrophes.

Development#

  • Strengthen linting (#367)

    • Add flake8-commas (COM)

      • https://docs.astral.sh/ruff/rules/#flake8-commas-com

      • https://pypi.org/project/flake8-commas/

    • Add flake8-builtins (A)

      • https://docs.astral.sh/ruff/rules/#flake8-builtins-a

      • https://pypi.org/project/flake8-builtins/

    • Add flake8-errmsg (EM)

      • https://docs.astral.sh/ruff/rules/#flake8-errmsg-em

      • https://pypi.org/project/flake8-errmsg/

Documentation#

  • API docs: Split into multiple pages (#363)

cihai 0.30.0 (2023-12-09)#

Bug fixes#

  • gb2312_to_euc(): Fix AssertionError (#361)

  • kuten_to_gb2312(): Fix AssertionError (#361)

CI#

  • Move CodeQL from advanced configuration file to GitHub’s default

  • ci: Add pydocstyle rule to ruff (#361)

Documentation#

  • Add docstrings to functions, methods, classes, and packages (#361)

cihai 0.29.0 (2023-11-19)#

Maintenance only, no bug fixes, or new features

Packaging#

  • Move pytest configuration to pyproject.toml (#357)

  • Bump Python 3.12 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.

  • CI: Update action packages to fix warnings

Development#

  • unihan-etl: 0.28.0 -> 0.29.0

    Move from black to ruff format, CI and dev package updates

  • ruff: Remove ERA / eradicate plugin

    This 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 black to ruff format (#360)

    This retains the same formatting style of black while eliminating a dev dependency by using our existing rust-based ruff linter.

cihai 0.28.0 (2023-07-22)#

Maintenance only, no bug fixes, or new features

Development#

  • unihan-etl: 0.27.0 -> 0.28.0

    pytest fixture renamings

cihai 0.27.0 (2023-07-18)#

Bug fixes#

  • ci: Fix for tests (#355)

  • unihan-etl:

    • 0.26.0 -> 0.27.0 (#355)

      Fix for pytest fixtures

    • 0.25.0 -> 0.26.0

      pytest plugin with cached UNIHAN data.

Development#

  • ruff: code quality improvements (#354)

cihai 0.26.0 (2023-07-01)#

Maintenance only, no bug fixes, or new features

Development#

  • Ruff: Add additional rules, fix linting issues (#353)

  • unihan-etl: 0.24.0 -> 0.25.0 (ruff typing updates)

cihai 0.25.0 (2023-06-24)#

Maintenance only, no bug fixes, or new features

Development#

  • unihan-etl: 0.23.1 -> 0.24.0 (#352)

    Subdependency updated for zhon: 1.1.5 -> 2.0.0

    zhon 2.0’s Release notes

    Fixes pytest warning related to regular expressions.

cihai 0.24.0 (2023-06-24)#

Maintenance only, no bug fixes, or new features

Development#

  • unihan-etl: 0.22.1 -> 0.23.0 (#351)

    Package introduces configurable application directories (for test purposes)

cihai 0.23.0 (2023-06-19)#

Maintenance only, no bug fixes, or new features

Internal improvements#

cihai 0.22.1 (2023-06-18)#

Bug fix#

  • unihan-etl: Bump 0.21.0 -> 0.21.1

    Fix file extensions of output files

cihai 0.22.1 (2023-06-18)#

Maintenance only, no bug fixes, or new features

Development#

  • unihan-etl: Updates

    • 0.19.2 -> 0.20.0: Drops python 3.7, normalizes typing imports

    • 0.20.0 -> 0.21.0: Moves to pathlib (#349)

cihai 0.21.0 (2023-06-03)#

Breaking changes#

Development#

  • Move from pytest’s tmp_dir (py.path.local) to tmp_path (pathlib.Path), #346

  • Remove unnecessary use of typing_extension’s TypedDict (#346)

    Note: typing_extension’s TypedDict is still used for NotRequired TypedDicts until the minimum python version supports them (3.11 via PEP-655)

cihai 0.20.0 (2023-05-29)#

Breaking changes#

  • Python 3.7 Dropped

    Python 3.7 support has been dropped (#343)

    Its end-of-life is June 27th, 2023 and Python 3.8 will add support for typing.TypedDict and typing.Protocol out of the box without needing typing_extensions.

Development#

  • Improved typings

    Move to strict mypy typings (#324)

    This will make future refactoring simplifications easier and maintain code quality in the long term, in addition to more intelligent completions.

cihai 0.19.0 (2023-05-28)#

Maintenance only, no bug fixes, or new features

Internal improvements#

  • 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

  • unihan-etl: 0.18.2 -> 0.19.1: Dev dependency updates

cihai 0.18.3 (2023-05-13)#

Maintenance only release, no bug fixes, changes, or features.

Packaging#

  • Bump unihan-etl from 0.18.1 -> 0.18.2

    Typing update for merge_dict

Development#

  • Chore: flake8 fixes

cihai 0.18.2 (2022-10-02)#

Maintenance only release, no bug fixes, or new features

Packaging#

  • Bump unihan-etl from 0.18.0 -> 0.18.1 (just packaging updates)

  • Pin importlib_metadata to <5 while internal dependencies are figured out

cihai 0.18.1 (2022-10-01)#

Packaging#

  • Add PyYAML dependency

cihai 0.18.0 (2022-10-01)#

Breaking changes#

  • Remove kaptan dependency (#334)

  • Remove support for .ini configurations (#334)

cihai 0.17.1 (2022-10-01)#

Infrastructure#

  • CI speedups (#333)

    • 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

cihai 0.17.0 (2022-09-11)#

Maintenance only release, no bug fixes, or new features

Development#

Documentation#

cihai 0.16.0 (2022-08-21)#

Purely on the inside. We’re adding comprehensive type annotations to all cihai projects for better maintainability and downstream usage.

Internal#

  • Update unihan-etl 0.16.0 -> 0.17.2:

    • unihan-etl 0.16.0 adds --no-cache / cache as an option

    • unihan-etl 0.17.0 adds type annotations (mypy --strict)

    • unihan-etl 0.17.1 fixes bugs from 0.17.0’s annotations

    • unihan-etl 0.17.2 docs / changelog issue linking update

cihai 0.15.0 (2022-08-20)#

Breaking changes#

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-cli

This made deploying cihai + cihai-cli and pinning packages extremely laborious.

We can reinvestigate this model in the future.

via: cihai#326, cihai-cli#279

cihai 0.14.1 (2022-08-20)#

  • Bump cihai-cli to 0.10.0

    And maybe we’ll turn cihai into libcihai down the road and remove cihai[cli]

cihai 0.14.0 (2022-08-20)#

Breaking changes#

  • Python 2 compatibility module and imports removed. Python 2.x was officially dropped in 0.11.0 (2021-06-15) via #325

    • Update import_string() and ImportStringError to latest from werkzeug

    • Use merge_dict from unihan_etl

    • Bump unihan-etl to 0.15.0+ (to avoid any chance of using compat imports from it in the future)

cihai 0.13.0 (2022-08-16)#

Compatibility#

  • Add python 3.10 support (#317)

  • Remove python 3.6 support (#317)

Development#

Infrastructure updates for static type checking and doctest examples.

  • Update poetry to 1.1

    • CI: Use poetry 1.1.12 and install-poetry.py installer (#296 + #317)

    • Relock poetry.lock at 1.1 (w/ 1.1.7’s fix)

  • Initial doctests support added, via #323

  • Initial mypy validation, via #323

  • CI (tests, docs): Improve caching of python dependencies via action/setup-python’s v3/4’s new poetry caching, via #323

  • CI (docs): Skip if no PUBLISH condition triggered, via #323

Documentation#

cihai 0.12.0 (2021-06-16)#

  • #291: Convert to markdown

cihai 0.11.1 (2021-06-15)#

  • Fix cihai-cli and sqlalchemy versions

cihai 0.11.0 (2021-06-15)#

  • Update black to 21.6b0

  • Update trove classifiers to 3.9

  • Update unihan-etl to 0.12.0 (removes python 2.7, 3.5 support)

  • #288 Remove python 2.7, 3.5 support. Remove __future__ and unused modesets

cihai 0.10.0 (2020-08-09)#

cihai 0.9.0p1 (2019-08-18)#

  • Repin requirements/cli.txt dependency, again

cihai 0.9.0p0 (2019-08-18)#

  • Repin requirements/cli.txt dependency

cihai 0.9.0 (2019-08-18)#

  • 0.9.0 Final released

  • From here on in, cihai-cli is to be downloaded via pip install cihai[cli]

  • See 0.9.0 releases below for more information on changes

cihai 0.9.0a4 (2019-08-17)#

  • Add project_urls to setup.py

  • Python 2/3 compatible collections

  • Package updates (pytest to 5.1.0)

  • Linting fixes

cihai 0.9.0a (2018-09-07)#

  • Update pytest to 3.8.0

  • Update sphinx to 1.7.9

  • util -> utils

  • conf -> config

  • Add cihai.__version__ (so the version is available without having to access __about__)

  • Add source code link on GitHub on API pages

  • Add __github__ to __about__

  • Move DEFAULT_CONFIG to constants.py

  • Move cihai/unihan.py -> cihai/unihan/{init.py,dataset.py}

  • Move cihai/bootstrap.py -> cihai/unihan/bootstrap.py

  • Treat Unihan as a Dataset

  • Automatically include dataset when created c = Cihai(), c = Cihai(unihan=False) will do without

  • Tests for examples. We want to make sure our examples work out of the box and new changes catch API breaks when they need updating

cihai 0.8.1 (2018-07-21)#

  • Loosen kaptan requirement to greater than 0.5.10, less than 0.6

    This should fix issues with pyyaml, as well as downstream with cihai-cli.

  • Loosen other version requirements to avoid entanglements downstream in the future.

  • Update Sphinx to 1.7.5 to 1.7.6

  • Update releases to 1.6.0 to 1.6.1

  • Update and sync Pipfile

cihai 0.8.0 (2018-06-23)#

  • Update unihan-etl to 0.9.0 to 0.9.5

  • Base package updates

    • sqlalchemy 1.1.10 to 1.2.8

    • kaptan 0.5.8 to 0.5.9

  • Developer package updates (linting / docs / testing)

    • 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.1.0 to 3.6.2

  • Move documentation over to numpy-style

  • Add sphinxcontrib-napoleon 0.6.1

  • 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).

cihai 0.7.4 (2017-05-26)#

  • bump unihan-tabular 0.8.1 to unihan-etl 0.9.0

cihai 0.7.3 (2017-05-20)#

  • Update unihan-tabular to 0.7.3, adds kJa and fixes kCompatibilityVariant.

cihai 0.7.2 (2017-05-20)#

  • Support for character lookup and reverse lookup

  • Code examples in /examples

cihai 0.7.1 (2017-05-20)#

  • Readme updates and remove unused CLI module

cihai 0.7.0 (2017-05-20)#

  • Split CLI functionality into cihai-cli.

  • Update classifiers / metadata in setup.py

cihai 0.6.1 (2017-05-17)#

  • Initial support for reverse lookups

  • Output cli in basic yaml

cihai 0.6.0 (2017-05-17)#

  • Support for configuring logging via options and CLI

  • Convert all print statements to use logger

cihai 0.5.1 (2017-05-17)#

  • Python 2 CLI fix

cihai 0.5.0 (2017-05-17)#

  • Remove use of singleton metadata object

  • Automatically bootstrap UNIHAN on first use

cihai 0.4.2 (2017-05-16)#

  • Load default configuration via internal dictionary

cihai 0.4.1 (2017-05-16)#

  • Update MANIFEST.in

cihai 0.4.0 (2017-05-16)#

  • Automatically reflect database schemas and make available in main cihai object

  • Use click library for CLI

  • Initial support for character lookups via $ cihai info <char>.

  • #3 Bootstrap UNIHAN into cihai by default via unihan-tabular project

  • #4 Drop python 3.3 and 3.4 support

  • #4 Initial XDG base directory support

  • Move tests to pytest functions and fixtures

  • Remove unused test_unihan file

  • PEP8, sort imports

  • Move default config from cihai/config.yml to conf/default.yml.

  • Split configuration functionality into cihai.conf.

  • Functionality for replaces, tildes, environmental variables and xdg variables in settings.

  • Document CLI usage via sphinx-argparse

cihai 0.3.0 (2017-04-16)#

  • Rebooted

  • Modernize Makefile in docs

  • Add Makefile to main project

  • Modernize package metadata to use about.py

  • Update requirements to use requirements/ folder for base, testing and doc dependencies.

  • Update sphinx theme to alabaster with new logo.

  • Update travis to use coverall

  • Update links on README to use https

  • Update travis to test up to python 3.6

  • Add support for pypy (why not)

  • Lock base dependencies

  • Add dev dependencies for isort, vulture and flake8

  • Rename cihai.cihai to cihai.core