SQLAlchemy models for UNIHAN CJK database
Project description
unihan-db ·
Database SQLAlchemy models for UNIHAN. Part of the cihai project. Powered by unihan-etl. See also: libUnihan.
By default, unihan-db creates a SQLite database in an XDG data directory. You can specify a custom database destination by passing a database url into get_session.
Example usage
#!/usr/bin/env python
"""Example for bootstrapping UNIHAN DB and print out a row."""
import pprint
from sqlalchemy.sql.expression import func
from unihan_db import bootstrap
from unihan_db.tables import Unhn
session = bootstrap.get_session()
bootstrap.bootstrap_unihan(session)
random_row_query = session.query(Unhn).order_by(func.random()).limit(1)
assert random_row_query is not None
random_row = random_row_query.first()
pprint.pprint(bootstrap.to_dict(random_row))
pprint.pprint(random_row.to_dict()) # type:ignore
Run:
$ ./examples/01_bootstrap.py
Output:
{'char': '鎷',
'kCantonese': [{'char_id': '鎷', 'definition': 'maa5', 'id': 24035}],
'kDefinition': [],
'kHanYu': [{'char_id': '鎷',
'id': 24014,
'locations': [{'character': 5,
'generic_indice_id': 24014,
'generic_reading_id': None,
'id': 42170,
'page': 4237,
'virtual': 0,
'volume': 6}],
'type': 'kHanYu'}],
'kHanyuPinyin': [{'char_id': '鎷',
'id': 18090,
'locations': [{'character': 5,
'generic_indice_id': None,
'generic_reading_id': 18090,
'id': 42169,
'page': 4237,
'virtual': 0,
'volume': 6}],
'readings': [{'generic_reading_id': 18090,
'id': 26695,
'reading': 'mǎ'}],
'type': 'kHanyuPinyin'}],
'kMandarin': [{'char_id': '鎷', 'hans': 'mǎ', 'hant': 'mǎ', 'id': 23486}],
'ucn': 'U+93B7'}
Developing
$ git clone https://github.com/cihai/unihan-etl.git
$ cd unihan-etl
Bootstrap your environment and learn more about contributing. We use the same conventions / tools across all cihai projects: pytest
, sphinx
, mypy
, ruff
, tmuxp
, and file watcher helpers (e.g. entr(1)
).
Python versions
- 0.8.0:
- Last Python 3.7 release
- Last SQLAlchemy 1.3 release
More information
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
unihan_db-0.14.0.tar.gz
(42.3 kB
view details)
Built Distribution
File details
Details for the file unihan_db-0.14.0.tar.gz
.
File metadata
- Download URL: unihan_db-0.14.0.tar.gz
- Upload date:
- Size: 42.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b159fcc08a9cefdfff5bbfbfb3b6165081ac73adfbd5fde69bea1b4abe9f093a |
|
MD5 | 605cd493703c761dad4d5868f886ce01 |
|
BLAKE2b-256 | ab4a018c6ea2a9a7440701eedeb2d66c90fbe034f9844e049efa00f3ab886dbd |
File details
Details for the file unihan_db-0.14.0-py3-none-any.whl
.
File metadata
- Download URL: unihan_db-0.14.0-py3-none-any.whl
- Upload date:
- Size: 12.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4afa791500fb9f5752b9643a9346fbb4cae9ee1336b10b4506af0f4562f4ee70 |
|
MD5 | 7d950a1cb143404bf7d49fc6b985d809 |
|
BLAKE2b-256 | 39c468fd69dfa22937cf3143be510306e8758a3064d3fd4be6ca2a24005f8aab |