Skip to main content

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, h2 because 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 x can 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)

Source distribution for notevault 2.0.0
File Size Uploaded Provenance
notevault-2.0.0.tar.gz 28.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for notevault 2.0.0
File Interpreter ABI Platform
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page