Witful
Turn engineering lessons into a searchable, typed knowledge base. Witful connects lessons across disciplines, records where they were applied, and preserves decisions with replayable evidence. Your records stay in your own collection; this repository ships reusable code and synthetic examples.
Table of contents
Install
Requires Python 3.12+ on macOS or Linux (excluding Python 3.14.1).
pip install witful
witful --help
Use pip install 'witful[postgres]' for a shared PostgreSQL index. SQLite is
the default and needs no server. See CLI and first run.
Model
Identity -> Discipline -> Skill -> Lesson -> Lemma is a composed hierarchy.
Cross-discipline relationships form a separate graph. Recorded applications
measure observed reuse, not intelligence or hidden model reasoning. Life
preserves explicit choices, revisions, and the inputs behind their plots.
- Closed schemas generated from attrs models, with cattrs conversion.
- Append-only lesson, application, and decision journals with validated IDs.
- Local SQLite or optional PostgreSQL search and decision archive seeding.
- Deterministic plots, source snapshots, and explicit renderer drift checks.
- Project checkpoints comparing documented learning and skill use across Git boundaries.
- A toolbox and problem taxonomy with source-backed task-frequency plots.
- Batched PyPI name checks with TTL caching and rate-limit cooldowns.
- A redacted PII scanner usable locally, in pre-commit, and in CI.
Privacy and operations
Run witful privacy scan before sharing a collection. The scanner detects
defined patterns and configured literal deny terms; it cannot prove text is
free of personal data. Review output and publication contents as described in
SECURITY.md.
See development, storage and orchestration, project checkpoints, releases, and SKILL.md for agent-assisted use.
Metadata
Release files for witful 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| witful-0.1.3.tar.gz | 73.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| witful-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 178.0 kB
Release files / witful-0.1.3.tar.gz
| Download URL | witful-0.1.3.tar.gz |
|---|---|
| Size | 73.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
91e4503dcedc109933bb3bcffde20f4f71194bef1249635f2c5222b5d03ad2ea
|
|
BLAKE2b-256 checksum How to use checksums |
6d91a0d0beafb505356e96802ce4ae5810dac17b22ef91b2a4c3fe99e6ad63d5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.5.1 CPython/3.14.8 Linux/6.17.0-1022-azure
|
Release files / witful-0.1.3-py3-none-any.whl
| Download URL | witful-0.1.3-py3-none-any.whl |
|---|---|
| Size | 104.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
64d65638bd72a6f616c828b8c9b85183c38fe16219fdc540fc85093a3f972c31
|
|
BLAKE2b-256 checksum How to use checksums |
85701d320028f7fc508eb87d101333c8394f8942b24907e3aa34e5949f9a8f17
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.5.1 CPython/3.14.8 Linux/6.17.0-1022-azure
|