# docere **Repository Path**: mirrors_mozilla/docere ## Basic Information - **Project Name**: docere - **Description**: Knowledge management where the data scientist is in control - **Primary Language**: Unknown - **License**: MPL-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-22 - **Last Updated**: 2026-03-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Introduction Docere is a workflow and set of tools for publishing data analyses. Docere sounds like "dose air" # Installation Docere is hosted on PyPI, so is installable via `pip`: pip install docere Once installed, see usage details via: docere --help docere render --help # Design Principles * Analysts should have total control of their report presentation * Analysts should be able to get their work reviewed * Tools should be simple and do one thing well * Changes to reports should be tracked, but reproducibility is the responsibility of the analyst (not the tool) # High Level Workflow ## Generate a report Docere starts with a `report` representing an analysis or a unit of knowledge. An analyst can generate their report using any tools they like. The only requirement is that their analysis result in a static HTML document, or has a URL. ## Submit report to a knowledge-repo All reports are stored in a central git repository, called the `knowledge repository`. To submit a new report, open a pull request against the knowledge repository. You can add your report in either of two ways. If you need to **use Docere to host HTML**, you should create a directory containing a *metadata file* named `report.json` or `report.toml` file. ([TOML] is an INI-like configuration format, which is more flexible than JSON.) The rendered HTML should go in the same directory. If you want to link to **a report that's hosted somewhere else**, like Google Docs, then add a .toml or .json file with any name to the external reports directory configured for your repository. It's probably named `external`. At a minimum, your metadata file should include the following fields: * `title`: The title of the report * `publish_date`: YYYY-MM-DD format * `author`: The author's name, or `authors`: an array of author names Fields that may be optional are: * `link`: a URL for an external report * `abstract`: an abstract to be rendered in the TOC The following fields are the set of tags associated with a report. They're designed to be high-level in order to allow for discovery of similar knowledge. Find the set of tags [here](https://docs.google.com/spreadsheets/d/1RAz-0zyVSC-gM8nbxVfdCs0x8Bpz5ydWIR3ZZ6MAr9M/edit?usp=sharing) that can be used for the __product__, __area__ and __artifact__ attributes. The __project__ attribute is a free form tag that allows for work to be grouped under larger, longer term projects. For example, there could be multiple artifacts produced as the result of a major release, such as our recent 81 release named Shirley. Multiple tags should be represented in list format (see example). * `product`: the product that the work in the report is associated with * `area`: a more descriptive focus area of the product * `artifact`: the type of knowledge artifact the report is * `project`: if the report falls under an umbrella project, specify here. For now this is a free-form field. An identical example in each format:
| `report.toml` | `report.json` |
|---|---|
| ```toml # TOML can have comments. title = "My Cool Report" publish_date = "2020-01-30" author = "Mo Zilla" # TOML supports multiline strings: abstract = """Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.""" product = "desktop" area = ["bookmarks", "accounts"] artifact = "experiment" project = "project name" ``` | ```json { "title": "My Cool Report", "publish_date": "2020-01-30", "author": "Mo Zilla", "abstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.", "product": "desktop", "area": ["bookmarks", "accounts"], "artifact": "experiment", "project": "project name" } ``` |