# Project Gutenberg ## Open Metadata Exchange (OME) plugin An OME plugin defines how to import and publish metadata from an Open Education Resources system. `plugin.py` provides the class that enables OME to understand Project Gutenberg metadata. This plugin defines one or more: * `mimetypes` so that Project Gutenberg json data can be stored as enclosures in InterNetNews (INN) articles. * `newsgroups` so Project Gutenberg metadata can be published to and subscribed from those INN newsgroups. The plugin is composed of at least three code files. * `plugin.py`: Defines `mimetypes`, `newsgroups`, and a `make_metadata_card()` function that translates Project Gutenberg data into an OME EducationalResource. * `gutenberg_models.py`: Generated by Pydantic tools to make it fast and reliable to import Project Gutenberg metadata. * `bulk_import.py`: Utilities to convert data directly from the Project Gutenberg API into OME EducationalResources. > [!NOTE] > > Please ***do NOT edit*** this line and below because when the docs are rebuilt, these lines will be overwritten by scripts/sync_plugin_docs.py. **MIMETYPES:** 1. application/vnd.gutenberg.book+json **NEWSGROUPS:** {'ome.project_gutenberg': 'Metadata from Project Gutenberg free e-books https://www.gutenberg.org'} ```text server/plugins/project_gutenberg ├── __init__.py ├── bulk_import.py ├── gutenberg_item.json ├── gutenberg_models.py ├── gutenberg_search.json ├── plugin.py └── README.md 1 directory, 7 files ```