Puchikarui
A minimalist SQLite helper library for Python 3 which supports ORM features.
Installation
puchikarui is available on PyPI and can be installed using pip.
pip install puchikarui
# or with python -m pip
python3 -m pip install puchikarui
Sample code
from puchikarui import Database
INIT_SCRIPT = '''
CREATE TABLE person (
ID INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
age INTEGER
);
'''
class PeopleDB(Database):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.add_script(INIT_SCRIPT)
self.add_table('person', ['ID', 'name', 'age'], id_cols=('ID',))
db = PeopleDB('test.db')
people = db.person.select()
# create sample people records in the first run
if not people:
print("Creating people records ...")
for name, age in zip('ABCDE', range(20, 25)):
db.person.insert(f'Person {name}', age)
people = db.person.select()
print("All people")
print("----------------------")
for person in people:
print(person.ID, person.name, person.age)
For more information please see puchikarui documentation.
Why puchikarui
puchikarui is a tiny, 100% pure-Python library that provides extra functionality to Python 3's sqlite3 module.
It helps working directly with sqlite3 easier, with less magic, and more control, rather than hiding sqlite3 module away from the users.
Although puchikarui does provide some ORM-like features, it is NOT an ORM library.
If you want ORM features, please consider PonyORM, SQLAlchemy, or peewee.
Meaning
The name puchikarui came from two Japanese words プチ (puchi) which means small, and 軽い (karui), which means light, soft, and gentle.
It represents the motivation for developing this library: a tiny, lightweight library that makes working with sqlite3 simpler.
$ python3 -m jamdict lookup "プチ"
========================================
Found entries
========================================
Entry: 1115200 | Kj: | Kn: プチ
--------------------
1. small ((prefix))
$ python3 -m jamdict lookup "軽い"
========================================
Found entries
========================================
Entry: 1252560 | Kj: 軽い | Kn: かるい, かろい
--------------------
1. light (i.e. not heavy)/feeling light (i.e. offering little resistance, moving easily) ((adjective (keiyoushi)))
2. light (i.e. of foot)/effortless/nimble/agile ((adjective (keiyoushi)))
3. non-serious/minor/unimportant/trivial ((adjective (keiyoushi)))
4. slight/small/gentle/soft/easy/lighthearted (e.g. joke) ((adjective (keiyoushi)))
5. easy/simple ((adjective (keiyoushi)))
6. indiscriminate ((adjective (keiyoushi)))
Metadata
Release files for puchikarui 0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| puchikarui-0.1.tar.gz | 15.5 kB | Without provenance | Details |
Release files / puchikarui-0.1.tar.gz
| Download URL | puchikarui-0.1.tar.gz |
|---|---|
| Size | 15.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8ebe96e8683eac82624eb90dd517e26421e467637b3a1fe1ef5275ba2dacddc8
|
|
BLAKE2b-256 checksum How to use checksums |
086d6a3c0d98bdc128ed85baa111754de61fc4d415ba42b7516fb7ee1dd0e13d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.6.9
|
Security for puchikarui 0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.