Skip to content

Commit

Permalink
Merge pull request #500 from ReproNim/release-prep
Browse files Browse the repository at this point in the history
preparation for release 1.0.0
  • Loading branch information
djarecka authored Jun 21, 2024
2 parents e679752 + 72e2a6e commit 2ff4c72
Show file tree
Hide file tree
Showing 17 changed files with 193 additions and 508 deletions.
2 changes: 0 additions & 2 deletions .flake8
Original file line number Diff line number Diff line change
@@ -1,4 +1,2 @@
[flake8]
max-line-length=79
exclude =
scripts/editProperties.py
13 changes: 13 additions & 0 deletions .github/workflows/publishdocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,19 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.9

- name: Install the required python packages
run: python -m pip install linkml

- name: Generating docs
run: |
gen-doc -d docs/schema/doc-linkml-autogen linkml-schema/reproschema.yaml
gen-erdiagram linkml-schema/reproschema.yaml > docs/schema/erdiagram-autogen.md
- name: Deploy docs
uses: mhausenblas/mkdocs-deploy-gh-pages@master
env:
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/validate_and_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,6 @@ jobs:
mv reproschema.jsonld releases/${{ inputs.version }}/reproschema.jsonld
mv reproschema.nt releases/${{ inputs.version }}/reproschema.nt
mv reproschema.ttl releases/${{ inputs.version }}/reproschema.ttl
# python scripts/makeRelease.py ${{ inputs.version }}
- name: Open pull requests to add files
uses: peter-evans/create-pull-request@v6
Expand Down
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,12 @@ __pycache__

.idea/

node_modules
local_data

# ignore linkml auto generated doc
docs/schema/doc-linkml-autogen
docs/schema/erdiagram-autogen.md

node_modules
package-lock.json
package.json
5 changes: 5 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@ repos:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
exclude: |
(?x)^(
docs/specification/.*
| mkdocs.yml
)$
- id: check-json
- id: check-ast
- id: check-added-large-files
Expand Down
52 changes: 32 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,37 +19,49 @@ This repository contains:
- a example of [a protocol based on the reproschema](./examples)
- the [documentation](./docs)

## Developing ReproSchema

## Licenses
### Updating the schema

### Code
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 content of this repository is distributed under the [Apache 2.0 license](./LICENSE).
The [context file](contexts/reproschema) was automatically generated using LinkML,
and then manually curated in order to support all the reproschema feature.

### Documentation
#### Style

<a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/88x31.png" /></a><br />The corresponding documentation is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.
This repo uses pre-commit to check styling.
- Install pre-commit with pip: `pip install pre-commit`
- In order to use it with the repository, you have to run `run pre-commit install` in the root directory the first time you use it.

## Contributors

https://github.com/ReproNim/reproschema/graphs/contributors
### 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.

### Developer notes
To run the Python scripts in the scripts directory, you will need to install the
following libraries via pip

- reproschema (makeRelease.py)
- pytablewriter (editProperties.py)
## Licenses

### Code

To make a new release:
The content of this repository is distributed under the [Apache 2.0 license](./LICENSE).

```bash
python scripts/makeRelease.py <version>
python scripts/editProperties.py <version>
```
### Documentation

In addition, this repo uses pre-commit to check styling.
<a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/88x31.png" /></a><br />The corresponding documentation is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.

Install: `pip install pre-commit`
## Contributors

Use: run `pre-commit install` in the root directory of the repo.
https://github.com/ReproNim/reproschema/graphs/contributors
2 changes: 1 addition & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ things are to use the ReproSchema but some "big picture" conceptual understandin
could save you from a lot of confusion. 😉

- Not sure how the project is organized? Check out the [project structure](./project-structure.md) page.
- Want more details on how the `Reproschema` itself is structured: check out our [schema page](./schema.md)
- Want more details on how the `Reproschema` itself is structured: check out our [schema page](./schema/schema.md)

<!-- - If you want to use the schema to create your own questionnaire: check out our
Expand Down
2 changes: 1 addition & 1 deletion docs/project-structure.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ The ReproSchema is like a blueprint for research projects, ensuring everyone col

There is also an [`example`](https://github.com/ReproNim/reproschema/tree/master/examples)
schema that can help give you a quick overview of what the protocol and activity
for a study might look like. For more details see the [schema section](./schema.md).
for a study might look like. For more details see the [schema section](./schema/schema.md).

## [reproschema-library](https://github.com/ReproNim/reproschema-library)

Expand Down
Loading

0 comments on commit 2ff4c72

Please sign in to comment.