Skip to content

Commit

Permalink
Merge pull request #523 from djarecka/release_readme
Browse files Browse the repository at this point in the history
adding developing the reproschma section to readme
  • Loading branch information
djarecka authored Jun 20, 2024
2 parents eff8ac5 + 77aac12 commit 3a30949
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 1 deletion.
23 changes: 23 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,29 @@ This repository contains:
- a example of [a protocol based on the reproschema](./examples)
- the [documentation](./docs)

## Developing ReproSchema

As of release 1.0.0, a linked data modeling language, [LinkML](https://linkml.io/linkml/), is used to create
a [YAML file](linkml-schema/reproschema.yaml) with the schema.

The [context file](contexts/reproschema) was automatically generated using LinkML,
and then manually curated in order to support all the reproschema feature.

### Release
Upon release, there are additional formats, `jsonsld`, `turtle`, `n-triples`
and `pydantic` that are created using `LinkML` tools, `reproschema-py`,
and [reproschema-specific script](./scripts/fix_pydantic.py) to "fix" the `pydantic` format.
The entire process is automated in the GitHub Action Workflow:
[Validate and Release](.github/workflows/validate_and_release.yml).
This workflow must be manually triggered by the core developers once a new release is ready.
All the releases can be found in [releases directory](./releases).

### Updating model in reproschema-py
Another GitHub Action Workflow: [ Create Pull Request to reproschema-py](.github/workflows/push_reproschema_py.yml)
is responsible for creating pull request to the `reproschema-py` Python library with
the new version of pydantic model and context.
The workflow is currently also triggered manually by the core developers.


## Licenses

Expand Down
6 changes: 5 additions & 1 deletion scripts/fix_pydantic.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
""" Using ast transformer to fix issues with automatic pydantic generation"""
""" Using ast transformer to fix issues with automatic pydantic generation
Currently the main issue is with the LangString representation in the pydantic
model, I'm changing it to Dict[str, str].
Perhaps in the future this script will not be required.
"""

import ast
import sys
Expand Down

0 comments on commit 3a30949

Please sign in to comment.