A addon for syncing metadata with nostr
Project description
eteaching.plone.nostrmetadatasync
Nostr integration for Plone.
eteaching.plone.nostrmetadatasync synchronises metadata of Plone contents with Nostr. This is done on the basis of subscribers (event handlers). When content is created, deleted or modified on the Plone website, corresponding Nostr events are created, signed and sent to predefined relias in the Nostr network. Two control panels are also provided. One is for settings, where you can specify which content types and filters should be used to select the content affected by synchronization. The second control panel can be used to create all events in the Nostre relays for the entire content selected using the settings, or to send delete events.
Features
- Synchronizes metadata of event based objects (e.g. plone.app.event) with Nostr Time-Based Calendar Event (NIP-52)
- Synchronizes metadata of objects with Nostr AMB Event (NIP-AMB)
Installation
Prerequisites ✅
- An operating system that runs all the requirements mentioned.
- uv
- Make
- Git
- Docker (optional)
Install eteaching.plone.nostrmetadatasync with pip
-
Install
pip install eteaching.plone.nostrmetadatasync
-
Create the Plone site
make create-site -
Start the Plone site
make start
Install eteaching.plone.nostrmetadatasync with git 🔧
-
Clone this repository, then change your working directory
git clone git@github.com:e-teachingorg/eteaching.plone.nostrmetadatasync.git cd eteaching.plone.nostrmetadatasync
-
Create environment
python3 -m venv . bin/pip install uv source bin/activate
-
Create an .env file to set NOST_KEY as an environment variable.
vi .envNOSTR_KEY=MyPrivateNostrKey
-
Install the code base
make install -
Create the Plone site
make create-site -
Start
make start
Install eteaching.plone.nostrmetadatasync via buildout
-
Use zc.buildout >=5, e.g. using the following requirements.txt:
horse-with-no-namespace==20251105.1 packaging==25.0 pip==25.3 setuptools==80.9.0 wheel==0.45.1 zc.buildout==5.1.1
-
Install Python venv and requirements:
bin/python3 -m venv . bin/pip install -r requirements.txt
-
Add the following to buildout.cfg:
[buildout] ... eggs = eteaching.plone.nostrmetadatasync
-
Run buildout
bin/buildout -
Start
bin/instance fg
Contribute
License
The project is licensed under the GPLv2.
Project details
Release history Release notifications | RSS feed
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 eteaching_plone_nostrmetadatasync-1.0.0a1.tar.gz.
File metadata
- Download URL: eteaching_plone_nostrmetadatasync-1.0.0a1.tar.gz
- Upload date:
- Size: 30.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d8fde53c44f0c5aebbd84f2b2c0cb449ef09737c940d4e9985768a0e81123e0d
|
|
| MD5 |
6bdc020cefd4740d9268a68286cdfbc7
|
|
| BLAKE2b-256 |
5f0cf58da58bad5542e25f891694838e58bc63ede8afe089a683793946dcaff9
|
File details
Details for the file eteaching_plone_nostrmetadatasync-1.0.0a1-py3-none-any.whl.
File metadata
- Download URL: eteaching_plone_nostrmetadatasync-1.0.0a1-py3-none-any.whl
- Upload date:
- Size: 43.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
95fafcd7a6d5029bc6385e44028db557c186e00716c681ceeecae8ef2d48e381
|
|
| MD5 |
e138653d3aeea1b1bb2ad6b6a5db5451
|
|
| BLAKE2b-256 |
d273d154db458a7d83f1075bbdb1a99b07420535773f668b4fabfa3d44f4e173
|