Skip to main content

doorstop-vscode-server

A small FastAPI server that wraps the Doorstop Python API directly (instead of shelling out to the doorstop CLI). It is designed to serve exactly one client — the Doorstop VS Code extension — and answers requests strictly one at a time; there is no concurrent request handling.

Install (editable, for development)

pip install -e .[dev]

Run

python -m doorstop_server --project <path-to-doorstop-project-root> --host 127.0.0.1 --port 7867

or, after installing:

doorstop-vscode-server --project <path-to-doorstop-project-root> --host 127.0.0.1 --port 7867

API

See src/doorstop_server/routers/ for the endpoint implementations. GET /health is the only route that is not serialized behind the request lock.

Tests

The test suite exercises the real FastAPI app against a temporary Doorstop project (no mocking of Doorstop itself), so it doubles as a pinned-down contract for the HTTP interface — every request/response shape, status code, and error format a test asserts on is something the extension can rely on.

pip install -e .[dev]
pytest
  • tests/conftest.py — shared fixtures (client, project_root, document) and a set_item_text helper for mutating an item directly via the Doorstop API (bypassing the server) to simulate out-of-band edits.
  • tests/test_serialization.py — proves the one-request-at-a-time guarantee black-box: fires concurrent /items calls and checks for zero UID collisions/gaps, rather than inspecting the lock directly.
  • tests/test_errors.py — pins down the structured {"error": {"code", "message"}} shape for both expected (DoorstopError) and unexpected exceptions.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

doorstop_vscode_server-0.1.0.tar.gz (14.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

doorstop_vscode_server-0.1.0-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

Details for the file doorstop_vscode_server-0.1.0.tar.gz.

File metadata

  • Download URL: doorstop_vscode_server-0.1.0.tar.gz
  • Upload date:
  • Size: 14.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.6

File hashes

Hashes for doorstop_vscode_server-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3d7658e6b4ca00da058fead240f30a47f8bb9fb79334480cec482cddc1acfa26
MD5 963fd33f40eb85722dbc42ca522dfbfd
BLAKE2b-256 c1bdd2b16554aaf6658cdb6dcb561d497bb7b00884f1d2ed201562791db3677f

See more details on using hashes here.

File details

Details for the file doorstop_vscode_server-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for doorstop_vscode_server-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6838f015e58caee8e5f1bf72a8ceda26bac652079635848afd938a5e507f0ae2
MD5 89c73ad8382e9e3a90447482fe5be2d8
BLAKE2b-256 c1435380ca1f5c2e15e9045a6525d1e5f237dcbdbfa00fb027d7c492dcd834cb

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.2

2 files

This release

0.1.0 This release

2 files

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