Skip to main content

Nostr integration for Plone 6.

Project description

eteaching.plone.nostrmetadatasync

Nostr integration for Plone 6.

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 ✅

Install eteaching.plone.nostrmetadatasync with pip

  1. Install

    pip install eteaching.plone.nostrmetadatasync
    
  2. Create the Plone site

    make create-site
    
  3. Start the Plone site

    make start
    

Install eteaching.plone.nostrmetadatasync with git 🔧

  1. Clone this repository, then change your working directory

    git clone git@github.com:e-teachingorg/eteaching.plone.nostrmetadatasync.git
    cd eteaching.plone.nostrmetadatasync
    
  2. Create environment

    python3 -m venv .
    bin/pip install uv
    source bin/activate
    
  3. Create an .env file to set NOST_KEY as an environment variable.

    vi .env
    
    NOSTR_KEY=MyPrivateNostrKey
    
  4. Install the code base

    make install
    
  5. Create the Plone site

    make create-site
    
  6. Start

    make start
    

Install eteaching.plone.nostrmetadatasync via buildout

  1. 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
    
  2. Install Python venv and requirements:

    bin/python3 -m venv .
    bin/pip install -r requirements.txt
    
  3. Add the following to buildout.cfg:

    [buildout]
    
    ...
    
    eggs =
        eteaching.plone.nostrmetadatasync
    
  4. Run buildout

    bin/buildout	
    
  5. Start

    bin/instance fg
    

Contribute

License

The project is licensed under the GPLv2.

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

eteaching_plone_nostrmetadatasync-1.0.0a2.tar.gz (30.2 kB view details)

Uploaded Source

Built Distribution

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

File details

Details for the file eteaching_plone_nostrmetadatasync-1.0.0a2.tar.gz.

File metadata

File hashes

Hashes for eteaching_plone_nostrmetadatasync-1.0.0a2.tar.gz
Algorithm Hash digest
SHA256 0966aed6d047553320922e0d6e33e2367e6badde3a3786890c4a8c82be447aff
MD5 fa8f31f93a8b35b5661dca6c16abbacc
BLAKE2b-256 ad2fa8648ef149d23f208371b42d7da6fe7eaf9185c8b07855b99896b964868f

See more details on using hashes here.

File details

Details for the file eteaching_plone_nostrmetadatasync-1.0.0a2-py3-none-any.whl.

File metadata

File hashes

Hashes for eteaching_plone_nostrmetadatasync-1.0.0a2-py3-none-any.whl
Algorithm Hash digest
SHA256 a6d1403b03d72ff17c0cb7830dd737e04223ce41664725703e67be8daaa80baf
MD5 ab1fc13b1c754b8c7fac329d07b5cc8d
BLAKE2b-256 d8051098da1bec138923ee935ed851a542dfd2a7305bf46f117526a8c3fa5010

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page