New to this site?
Check out our User Guide for complete instructions on how to search, browse, and understand the prohibited substances data.
Quick Access
- Browse all substances - View the complete list
- Download data - Get machine-readable JSON format
- User Guide - Detailed usage instructions
DoD Prohibited Dietary Supplement Ingredients Project
This project provides an easy-to-browse, searchable, and regularly updated list of substances prohibited by the Department of Defense (DoD) for use in dietary supplements. The data is automatically retrieved, parsed, and published as a website using MkDocs.
What does this project do?
- Retrieves the official DoD prohibited ingredients list from the OPSS website.
- Parses the data into a structured format.
- Generates a user-friendly website with a page for each substance, a changelog, and search functionality.
- Updates automatically every day and on every code change.
How does it work?
- Retrieval: The script downloads the latest data from the official DoD page.
- Parsing: The data is extracted and cleaned up for use.
- Generation: The cleaned data is used to create web pages and a changelog.
For non-technical users
- You do not need to run any code to use the website. Just visit the published site for the latest information.
- The site is updated automatically.
- If you want to contribute or run the code yourself, see below.
For contributors and technical users
- The code is split into three main modules:
retrieval.py: Handles downloading the data from the source.parsing.py: Extracts and cleans the data.generation.py: Generates the website content and changelog.- The main script (
generate_docs.py) ties these together. - To run locally:
- Install dependencies with
uv pip install -r requirements.txt --system && uv pip install -r requirements-docs.txt --system - Run
python generate_docs.py - Serve the site with
mkdocs serve
License
This project is open source. See LICENSE.
Contact
For questions or suggestions, open an issue or pull request on GitHub.
This project is open source. View the code on GitHub.