Tools for converting Synapse RTP JSON to spreadsheet and back.
Project description
synapseconvert
A simple two-way converter for Synapse-style libraries (collections → categories → items) using Excel and JSON. This is intended for developers working with Synapse, a research transport protocol designed for structured academic resources.
📦 Installation
Install via pip:
pip install synapseconvert
You’ll then have access to the command-line tools:
• synapse-upconvert
• synapse-downconvert
🛠 Usage
Convert from Excel to JSON (Upconvert)
synapse-upconvert path/to/input.xlsx path/to/output.json
This reads a spreadsheet and produces a properly nested Synapse metadata file.
Convert from JSON to Excel (Downconvert)
synapse-downconvert path/to/input.json path/to/output.xlsx
This flattens a Synapse-style JSON file into a spreadsheet for editing or review.
📄 Spreadsheet Format
The spreadsheet must contain at least the following columns:
• collection – the name of the collection (uniform across all rows)
• category – name of the group the item belongs to
• title, description, etc. – all other metadata fields are treated as item fields
• tags – a valid JSON list (e.g., ["Genesis", "Luke"])
📁 Sample template files:
• sample.xlsx
• sample.json
These are included in the installed package and available for download or reference from the templates folder on GitHub.
https://github.com/sbaylis22/synapseconvert
🧠 Why This Exists
Synapse is designed to bring remote research libraries directly into Obsidian. Since BiblicalStory cannot create Synapse files for every research repository in existence, we are providing these tools so developers can build Synapse libraries for any collection. These libraries can then be added in the Synapse settings within Obsidian.
🔧 Developer Tools
For advanced usage, you can clone this repo and run the commands locally from source:
git clone https://github.com/BiblicalStory/synapseconvert.git
cd synapseconvert
pip install -e .
⸻
© 2025 BiblicalStory Incorporated. MIT License.
---
Let me know if you'd like to add a `synapse-template-path` CLI command or a Python example to programmatically access the templates inside the installed package.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file synapseconvert-0.1.7.tar.gz.
File metadata
- Download URL: synapseconvert-0.1.7.tar.gz
- Upload date:
- Size: 4.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
85f772e06221e05e58c4f6e81fc87440de8a16ac6222b6d0b8363b493e73be90
|
|
| MD5 |
16462a603140bd1e222d075dd14dafea
|
|
| BLAKE2b-256 |
9685b18aa08d31bb78ed1350638415bf6d8270f765e53d610327ef55244c7b18
|
File details
Details for the file synapseconvert-0.1.7-py3-none-any.whl.
File metadata
- Download URL: synapseconvert-0.1.7-py3-none-any.whl
- Upload date:
- Size: 5.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e78519561fa1e77228cec2b78215c9d4acdbe3b85f1f37a5ffd3f3e4bdc8ebd
|
|
| MD5 |
6d1d04a35f76ccc8fe1f7ef36d462f83
|
|
| BLAKE2b-256 |
9eb0154eb164fad11692d8f62deea85e98b63979ab4679176cb0aadd8c928a3b
|