# OpenStax ## 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 OpenStax metadata. This plugin defines one or more: * `mimetypes` so that OpenStax json data can be stored as enclosures in InterNetNews (INN) articles. * `newsgroups` so OpenStax 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 OpenStax data into an OME EducationalResource. * `openstax_models.py`: Generated by Pydantic tools to make it fast and reliable to import OpenStax metadata. * `bulk_import.py`: Utilities to convert data directly from the OpenStax 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.openstax.book+json **NEWSGROUPS:** {'ome.openstax': 'Metadata from OpenStax open textbooks https://openstax.org/subjects/computer-science'} ```text server/plugins/openstax ├── __init__.py ├── bulk_import.py ├── openstax_article.eml ├── openstax_computer_science_books.json ├── openstax_item.json ├── openstax_models.py ├── openstax_ome_item.json ├── plugin.py └── README.md 1 directory, 9 files ```