NoteVault
Define a schema over markdown documents and store certain sections as columsn in sqlite database.
Every list item must have a name as unique key. For non-list items the key is the heading.
Every save creates new version of the documents's child items, no update/overwrite, i.e. created == updated.
Reason: PK is auto-incremented, so it's not possible to update existing items.
Existing items are just de-connected, i.e. foreign keys are set to null.
This also implies that deletion of detached items make sense.
Data will be extracted either as:
1. Key-Value pairs
Model:
KV_List:
name:
type: string
start:
type: time
nullable: true
duration:
type: int
nullable: false
breaks:
type: timedelta
nullable: true
data:
type: string
nullable: true
This works for lists and headings. The heading would be the key and the following paragraph the value.
Lists can be narrow or wide:
Narrow list (often used with headings as lists):
- start: 07:30
- duration: 2:30
- participants: @user1, @user2
Wide list:
- name: item2, start: 17:30, duration: 2, breaks:, data: "adsfadfasdf, asdfasdf"
- name: item1, start: 07:30, duration: 1, breaks: 0:30
2. Lists:
Model:
List:
- field:
name: item
type: string
nullable: false
- field:
name: time
type: time
nullable: true
- field:
name: break
type: timedelta
nullable: true
- field:
name: detail
type: string
nullable: true
List:
- item2, 17:30,, "adsfadfasdf, asdfasdf"
- item1, 07:30, 0:30
Format
- Sections are defined by headings.
- key-value pairs are extracted into fields, e.g.
key: value - Fields (extraction units) correspond to "Tags", e.g.
li, h2because it can contain other tags and newlines. - field values with commas must be quoted:
participants: '@user1, @user2'
Single Item:
- spec:
is_list: false - markdown lists as fields:
- key: value
Multiple Items:
markdown lists
- spec:
is_list: true+list_specifier: kv_list - substructure: format:
- key: value, key: value, key: "complex, value"
sub-headings
- spec:
is_list: true+heading_field: name+list_specifier: heading(must specify the field which will hold the sub-heading in the schema) - substructure: format:
## Title xcan contain: - markdown lists as fields:
- key: value - sub-headings as simple content fields
Metadata
Release files for notevault 2.0.0
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 | |
|---|---|---|---|---|
| notevault-2.0.0.tar.gz | 28.0 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| notevault-2.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 48.9 kB
Release files / notevault-2.0.0.tar.gz
| Download URL | notevault-2.0.0.tar.gz |
|---|---|
| Size | 28.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e1b486aae0b6389ecd031ea1a9f0257e438530756766eefadf68955cba03ee80
|
|
BLAKE2b-256 checksum How to use checksums |
fdd4ea69bec4d02e0466e56c7d4bf58922c261913eb6316b4a3ee9f8b34bc9d1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
pdm/2.10.4 CPython/3.11.5
|
Release files / notevault-2.0.0-py3-none-any.whl
| Download URL | notevault-2.0.0-py3-none-any.whl |
|---|---|
| Size | 20.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
23d3c7260002f7f64dce959c62400e622d5a0243b1ecf2f39bc5fac737fb3856
|
|
BLAKE2b-256 checksum How to use checksums |
9492e2fa22eb67d2afa9ec169482134b77c8176134d6b23db9aa1f9cd3772f5d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
pdm/2.10.4 CPython/3.11.5
|
Security for notevault 2.0.0
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.