Skip to main content
Join the official 2020 Python Developers SurveyStart the survey!

Meta inquiry middleware for distributed systems

Project description

jomiel

jomiel is the meta inquiry middleware for distributed systems. It returns meta data for content on video-sharing websites (e.g. YouTube) and runs as a service responding to client inquiries.

Two core technologies serve as a basis for jomiel:

The client applications can be written in modern languages for most platforms.

jomiel is a spiritual successor to (now defunct) libquvi.

Example (jomiel)

Features

  • Language and platform neutral messaging using Protocol Buffers and ZeroMQ

  • A plugin architecture for extending video-sharing website support

  • Authentication and encryption (CURVE and SSH)

  • Runs fully as a service

  • Highly configurable

Getting started

To install from PyPI:

pip install jomiel        # For the latest release

To run from the repository:

git clone https://github.com/guendto/jomiel.git
cd jomiel
pip install -e .

Once you have jomiel running, you can try sending inquiries with:

  • examples - the demo programs written in most modern languages
  • yomiel - the pretty printer for jomiel messages

Website coverage

To view the list of the supported video-sharing websites, type:

jomiel --plugin-list

The website coverage is still very limited.

  • Additional support can be added by writing new plugins
  • The plugin architechture is implemented in Python
  • Python is a fun and easy language to learn

See the src/jomiel/plugin/ directory for the existing plugins.

When you are contributing new plugins

  • Make sure the website is not dedicated to copyright infringement (be that they host the media or the link to it)

  • Make sure the website is not NSFW

HOWTO

See docs/HOWTO.

License

jomiel is licensed under the Apache License version 2.0.

Acknowledgements

jomiel uses pre-commit and its many hooks to lint and format the project files. See the .pre-commit-config.yaml file for details.

Subprojects (as git subtrees)

Project details


Download files

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

Files for jomiel, version 0.999
Filename, size File type Python version Upload date Hashes
Filename, size jomiel-0.999-py3-none-any.whl (46.8 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size jomiel-0.999.tar.gz (43.5 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page