Skip to main content

datasheets-md (dsmd, dBsync)

A git-like working copy of your datasheets.md workspace: the parts' unified parameters, pin tables and CAD configuration as plain text files you can grep, edit and push back, plus the workspace's KiCad library.

pip install datasheets-md             # the dsmd CLI
pip install datasheets-md-gui         # CLI + the dBsync desktop app (adds PySide6 to an existing install)

Ubuntu/Debian refuse a system-wide pip install ("externally-managed-environment"). Install into a venv and link the command onto your PATH:

python3 -m venv ~/.venvs/dsmd && ~/.venvs/dsmd/bin/pip install datasheets-md
ln -s ~/.venvs/dsmd/bin/dsmd ~/.local/bin/dsmd

or let pipx do both: pipx install datasheets-md.

dsmd looks for a new release once a day and prints one line when there is one. dsmd self-update upgrades the install the way it was made (pipx, uv tool, or the pip of its venv). Set DSMD_NO_UPDATE_CHECK=1 to turn the check off; it also stays off under CI, with --json or --quiet, and when stderr is not a terminal.

A clone of a large workspace can stop part way (network, Ctrl-C, a closed laptop) without losing what it downloaded: files reach the disk as they arrive, and running the same dsmd clone command again continues it. Until it finishes, dsmd status says so and fetch, pull and push refuse. If only the library step fails, the parts and datasheets are in place, dsmd exits with code 2, and dsmd pull --library (or the next dsmd pull) builds library/.

Use

dsmd login                            # browser sign-in (DSMD_TOKEN=dsh_... for headless use)
dsmd workspaces                       # pick one
dsmd clone "My workspace" lib && cd lib
dsmd status                           # what you changed
dsmd diff                             # ... as a diff
dsmd push -m "Fix VOH typ from page 5"
dsmd pull                             # server changes, merged row by row
dsmd log [PART]                       # server-side history
dsmd part add SN74HC00N [--manufacturer TI]
dsmd part rm SN74HC00N
dsmd pdf SN74HC00N                    # PDF into .dsmd/cache/
dsmd open SN74HC00N                   # the part's web page
dsmd categories                       # catalogue category ids, for mapping files
dsmd feedback "a setting I need"      # tell the datasheets.md team (--kind bug|suggestion)
dsmd gui                              # the desktop app (needs datasheets-md-gui)
dsmd self-update                      # upgrade to the latest release (--check only asks)
dsmd help agents                      # the guide for AI agents

Every command takes --json, --quiet and -C <dir>. Exit codes: 0 ok, 1 error, 2 done but with conflicts or stale/rejected parts.

DSMD_SERVER (or --server) points at another instance, e.g. https://api-dev.datasheets.md.

The working copy

.dsmd/                        state, pristine base copies, cache (gitignored)
dsmd.toml                     what to pull, which library outputs to build
settings/mappings/*.yaml      every workspace mapping (categories, parameter names, CAD fields, active_for) -- editable, admin
settings/symbol_style.yaml    symbol generation settings and reference designators     -- editable, admin
parts/<MFR>/<PN>/
  part.yaml                   identity, and `datasheet:` -> its datasheet.md (read-only)
  parameters.jsonl            unified parameters, one row per line  -- editable
  pins.csv                    physical pins, one per line           -- editable
  cad.yaml                    CAD configuration                     -- editable
datasheets/<MFR>/<PDF name>/  one per family, shared by its parts
  datasheet.md                digitised datasheet with its element ids (read-only)
  images/                     the figures datasheet.md links to (read-only)
library/                      generated KiCad library (rebuilt on pull)
  datasheets.sqlite, datasheets.kicad_dbl, datasheets.kicad_sym,
  datasheets.pretty/, sym-lib-table, fp-lib-table

How it differs from git: one remote, no branches, no staging or local commits. push is applied atomically per part; the server may normalise what you pushed and sends the result straight back. Merges are by row key (k) and pin id, so edits to different rows never conflict. History lives on the server.

To use the library in KiCad, open library/ as a project folder (the lib tables point at the symbols and footprints) or add datasheets.kicad_dbl as a database library (needs the SQLite ODBC driver).

Develop

pip install -e ".[gui,test]"
pytest

Standalone dBsync binaries (no Python needed) are built by .github/workflows/build.yml with PyInstaller from packaging/dbsync.py.

Metadata

Release files for datasheets-md 2.1.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 datasheets-md 2.1.0
File Size Uploaded Provenance Actions
datasheets_md-2.1.0.tar.gz 64.1 kB With provenance Details for datasheets_md-2.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for datasheets-md 2.1.0
File Interpreter ABI Platform Actions
datasheets_md-2.1.0-py3-none-any.whl Python 3 none any Details for datasheets_md-2.1.0-py3-none-any.whl

Total release size: 120.1 kB

Release files / datasheets_md-2.1.0.tar.gz

Download URL datasheets_md-2.1.0.tar.gz
Size 64.1 kB
Tags Source
SHA-256 checksum
How to use checksums
e03adb2c46ea2217e3e39eb91db37352a67653b1233275ad776556489a3a869f
BLAKE2b-256 checksum
How to use checksums
867e032339baa594b18e64240f9632414f31ad5598e168e2fb2d65794eeacf07
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Release files / datasheets_md-2.1.0-py3-none-any.whl

Download URL datasheets_md-2.1.0-py3-none-any.whl
Size 56.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
19be21675fcde3ea9da7ddf11ef8d6f2227666f04d94c2d476837dc3378dc06e
BLAKE2b-256 checksum
How to use checksums
8d7ba1cd2b6d99c4ecc9ae49a292f5ff4b20e74c82429d9926fea7ff21b49190
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

Security for datasheets-md 2.1.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.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for datasheets_md-2.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 3, 2026.

Transparency log

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.

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