Skip to content

Commit 3a30949

Browse files
authored
Merge pull request #523 from djarecka/release_readme
adding developing the reproschma section to readme
2 parents eff8ac5 + 77aac12 commit 3a30949

File tree

2 files changed

+28
-1
lines changed

2 files changed

+28
-1
lines changed

README.md

+23
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,29 @@ This repository contains:
1919
- a example of [a protocol based on the reproschema](./examples)
2020
- the [documentation](./docs)
2121

22+
## Developing ReproSchema
23+
24+
As of release 1.0.0, a linked data modeling language, [LinkML](https://linkml.io/linkml/), is used to create
25+
a [YAML file](linkml-schema/reproschema.yaml) with the schema.
26+
27+
The [context file](contexts/reproschema) was automatically generated using LinkML,
28+
and then manually curated in order to support all the reproschema feature.
29+
30+
### Release
31+
Upon release, there are additional formats, `jsonsld`, `turtle`, `n-triples`
32+
and `pydantic` that are created using `LinkML` tools, `reproschema-py`,
33+
and [reproschema-specific script](./scripts/fix_pydantic.py) to "fix" the `pydantic` format.
34+
The entire process is automated in the GitHub Action Workflow:
35+
[Validate and Release](.github/workflows/validate_and_release.yml).
36+
This workflow must be manually triggered by the core developers once a new release is ready.
37+
All the releases can be found in [releases directory](./releases).
38+
39+
### Updating model in reproschema-py
40+
Another GitHub Action Workflow: [ Create Pull Request to reproschema-py](.github/workflows/push_reproschema_py.yml)
41+
is responsible for creating pull request to the `reproschema-py` Python library with
42+
the new version of pydantic model and context.
43+
The workflow is currently also triggered manually by the core developers.
44+
2245

2346
## Licenses
2447

scripts/fix_pydantic.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1-
""" Using ast transformer to fix issues with automatic pydantic generation"""
1+
""" Using ast transformer to fix issues with automatic pydantic generation
2+
Currently the main issue is with the LangString representation in the pydantic
3+
model, I'm changing it to Dict[str, str].
4+
Perhaps in the future this script will not be required.
5+
"""
26

37
import ast
48
import sys

0 commit comments

Comments
 (0)