%global _empty_manifest_terminate_build 0 Name: python-cidc-schemas Version: 0.26.21 Release: 1 Summary: The CIDC data model and tools for working with it. License: MIT license URL: https://github.com/CIMAC-CIDC/schemas Source0: https://mirrors.nju.edu.cn/pypi/web/packages/7a/99/3804acb3cc43059db2e429ba644624a5f866101851113d0aead85db9afcc/cidc_schemas-0.26.21.tar.gz BuildArch: noarch Requires: python3-dateparser Requires: python3-xlsxwriter Requires: python3-argparse Requires: python3-pyyaml Requires: python3-jsonschema Requires: python3-openpyxl Requires: python3-jsonmerge Requires: python3-deepdiff Requires: python3-jsonpointer Requires: python3-pandas Requires: python3-jinja2 Requires: python3-cidc-ngs-pipeline-api Requires: python3-markupsafe Requires: python3-regex %description # cidc-schemas | Branch | Status | Maintainability | Test Coverage | Code Style | | ---------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------- | | [master](https://cimac-cidc.github.io/cidc-schemas/) | ![Continuous Integration](https://github.com/CIMAC-CIDC/cidc-schemas/workflows/Continuous%20Integration/badge.svg?branch=master) | [![Maintainability](https://api.codeclimate.com/v1/badges/3f989b974663df81ef45/maintainability)](https://codeclimate.com/github/CIMAC-CIDC/cidc-schemas/maintainability) | [![Test Coverage](https://api.codeclimate.com/v1/badges/3f989b974663df81ef45/test_coverage)](https://codeclimate.com/github/CIMAC-CIDC/cidc-schemas/test_coverage) | Code style: black | This repository contains formal definitions of the CIDC metadata model using [json-schema](https://json-schema.org/) syntax and vocabulary. ### View documentation at https://cimac-cidc.github.io/cidc-schemas/ ## Installation To install the latest released version, run: ```bash pip install cidc-schemas ``` ## Development ### Project Structure - **`cidc_schemas/`** - a python module for generating, validating, and reading manifest and assay templates. - **`schemas/`** - json specifications defining the CIDC metadata model. - `templates/` - schemas for generating and validating manifest and assay templates. - `assays/` - schemas for defining assay data models. - `artifacts/` - schemas for defining artifacts. - **`docs/`** - the most recent build of the data model documentation, along with templates and scripts for re-generating the documentation. - **`template_examples/`** - example populated Excel files for template specifications in `schemas/templates`, and `.csv`s auto-generated from those `.xlsx`s that allow to transparently keep track of changes in them. - **`tests/`** - tests for the `cidc_schemas` module. - **`.githooks/`** - git hooks, e.g. for auto-generating `.csv`s in `template_examples/` and `.html` documentation files. ### Developer Setup Install necessary dependencies. ```bash pip install -r requirements.dev.txt ``` Install and configure pre-commit hooks. ```bash pre-commit install ``` ## JIRA Integration To set-up the git hook for JIRA integration, run: ```bash ln -s ../../.githooks/commit-msg .git/hooks/commit-msg chmod +x .git/hooks/commit-msg rm .git/hooks/commit-msg.sample ``` This symbolic link is necessary to correctly link files in `.githooks` to `.git/hooks`. Note that setting the `core.hooksPath` configuration variable would lead to [pre-commit failing](https://github.com/pre-commit/pre-commit/issues/1198). The `commit-msg` hook [runs after](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks) the `pre-commit` hook, hence the two are de-coupled in this workflow. To associate a commit with an issue, you will need to reference the JIRA Issue key (For eg 'CIDC-1111') in the corresponding commit message. ### Running tests This repository has unit tests in the _tests_ folder. After installing dependencies the tests can be run via the command ```bash pytest tests ``` ### Building documentation Pre-commit hooks ensure documentation is automatically up-to date. To build the documentation manually, run the following commands: ```bash python setup.py install # install helpers from the cidc_schemas library python docs/generate_docs.py ``` This will output the generated html documents in `docs/docs`. If the updated docs are pushed up and merged into master, they will be viewable at https://cimac-cidc.github.io/cidc-schemas/. ## Using the Command-Line Interface This project comes with a command-line interface for validating schemas and generating/validating assay and manifest templates. ### Install the CLI Clone the repository and cd into it ```bash git clone git@github.com:CIMAC-CIDC/cidc-schemas.git cd cidc-schemas ``` Install the `cidc_schemas` package (this adds the `cidc_schemas` CLI to your console) ```bash python setup.py install ``` Run `cidc_schemas --help` to see available options. If you're making changes to the module and want those changes to be reflected in the CLI without reinstalling the `cidc_schemas` module every time, run ```bash python3 -m cidc_schemas.cli [args] ``` ### Generate templates Create a template for a given template configuration. ```bash cidc_schemas generate_template -m templates/manifests/pbmc_template.json -o pbmc.xlsx ``` ### Validate filled-out templates Check that a populated template file is valid with respect to a template specification. ```bash cidc_schemas validate_template -m templates/manifests/pbmc_template.json -x template_examples/pbmc_template.xlsx ``` ### Validate JSON schemas Check that a JSON schema conforms to the JSON Schema specifications. ```bash cidc_schemas validate_schema -f shipping_core.json ``` %package -n python3-cidc-schemas Summary: The CIDC data model and tools for working with it. Provides: python-cidc-schemas BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-cidc-schemas # cidc-schemas | Branch | Status | Maintainability | Test Coverage | Code Style | | ---------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------- | | [master](https://cimac-cidc.github.io/cidc-schemas/) | ![Continuous Integration](https://github.com/CIMAC-CIDC/cidc-schemas/workflows/Continuous%20Integration/badge.svg?branch=master) | [![Maintainability](https://api.codeclimate.com/v1/badges/3f989b974663df81ef45/maintainability)](https://codeclimate.com/github/CIMAC-CIDC/cidc-schemas/maintainability) | [![Test Coverage](https://api.codeclimate.com/v1/badges/3f989b974663df81ef45/test_coverage)](https://codeclimate.com/github/CIMAC-CIDC/cidc-schemas/test_coverage) | Code style: black | This repository contains formal definitions of the CIDC metadata model using [json-schema](https://json-schema.org/) syntax and vocabulary. ### View documentation at https://cimac-cidc.github.io/cidc-schemas/ ## Installation To install the latest released version, run: ```bash pip install cidc-schemas ``` ## Development ### Project Structure - **`cidc_schemas/`** - a python module for generating, validating, and reading manifest and assay templates. - **`schemas/`** - json specifications defining the CIDC metadata model. - `templates/` - schemas for generating and validating manifest and assay templates. - `assays/` - schemas for defining assay data models. - `artifacts/` - schemas for defining artifacts. - **`docs/`** - the most recent build of the data model documentation, along with templates and scripts for re-generating the documentation. - **`template_examples/`** - example populated Excel files for template specifications in `schemas/templates`, and `.csv`s auto-generated from those `.xlsx`s that allow to transparently keep track of changes in them. - **`tests/`** - tests for the `cidc_schemas` module. - **`.githooks/`** - git hooks, e.g. for auto-generating `.csv`s in `template_examples/` and `.html` documentation files. ### Developer Setup Install necessary dependencies. ```bash pip install -r requirements.dev.txt ``` Install and configure pre-commit hooks. ```bash pre-commit install ``` ## JIRA Integration To set-up the git hook for JIRA integration, run: ```bash ln -s ../../.githooks/commit-msg .git/hooks/commit-msg chmod +x .git/hooks/commit-msg rm .git/hooks/commit-msg.sample ``` This symbolic link is necessary to correctly link files in `.githooks` to `.git/hooks`. Note that setting the `core.hooksPath` configuration variable would lead to [pre-commit failing](https://github.com/pre-commit/pre-commit/issues/1198). The `commit-msg` hook [runs after](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks) the `pre-commit` hook, hence the two are de-coupled in this workflow. To associate a commit with an issue, you will need to reference the JIRA Issue key (For eg 'CIDC-1111') in the corresponding commit message. ### Running tests This repository has unit tests in the _tests_ folder. After installing dependencies the tests can be run via the command ```bash pytest tests ``` ### Building documentation Pre-commit hooks ensure documentation is automatically up-to date. To build the documentation manually, run the following commands: ```bash python setup.py install # install helpers from the cidc_schemas library python docs/generate_docs.py ``` This will output the generated html documents in `docs/docs`. If the updated docs are pushed up and merged into master, they will be viewable at https://cimac-cidc.github.io/cidc-schemas/. ## Using the Command-Line Interface This project comes with a command-line interface for validating schemas and generating/validating assay and manifest templates. ### Install the CLI Clone the repository and cd into it ```bash git clone git@github.com:CIMAC-CIDC/cidc-schemas.git cd cidc-schemas ``` Install the `cidc_schemas` package (this adds the `cidc_schemas` CLI to your console) ```bash python setup.py install ``` Run `cidc_schemas --help` to see available options. If you're making changes to the module and want those changes to be reflected in the CLI without reinstalling the `cidc_schemas` module every time, run ```bash python3 -m cidc_schemas.cli [args] ``` ### Generate templates Create a template for a given template configuration. ```bash cidc_schemas generate_template -m templates/manifests/pbmc_template.json -o pbmc.xlsx ``` ### Validate filled-out templates Check that a populated template file is valid with respect to a template specification. ```bash cidc_schemas validate_template -m templates/manifests/pbmc_template.json -x template_examples/pbmc_template.xlsx ``` ### Validate JSON schemas Check that a JSON schema conforms to the JSON Schema specifications. ```bash cidc_schemas validate_schema -f shipping_core.json ``` %package help Summary: Development documents and examples for cidc-schemas Provides: python3-cidc-schemas-doc %description help # cidc-schemas | Branch | Status | Maintainability | Test Coverage | Code Style | | ---------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------- | | [master](https://cimac-cidc.github.io/cidc-schemas/) | ![Continuous Integration](https://github.com/CIMAC-CIDC/cidc-schemas/workflows/Continuous%20Integration/badge.svg?branch=master) | [![Maintainability](https://api.codeclimate.com/v1/badges/3f989b974663df81ef45/maintainability)](https://codeclimate.com/github/CIMAC-CIDC/cidc-schemas/maintainability) | [![Test Coverage](https://api.codeclimate.com/v1/badges/3f989b974663df81ef45/test_coverage)](https://codeclimate.com/github/CIMAC-CIDC/cidc-schemas/test_coverage) | Code style: black | This repository contains formal definitions of the CIDC metadata model using [json-schema](https://json-schema.org/) syntax and vocabulary. ### View documentation at https://cimac-cidc.github.io/cidc-schemas/ ## Installation To install the latest released version, run: ```bash pip install cidc-schemas ``` ## Development ### Project Structure - **`cidc_schemas/`** - a python module for generating, validating, and reading manifest and assay templates. - **`schemas/`** - json specifications defining the CIDC metadata model. - `templates/` - schemas for generating and validating manifest and assay templates. - `assays/` - schemas for defining assay data models. - `artifacts/` - schemas for defining artifacts. - **`docs/`** - the most recent build of the data model documentation, along with templates and scripts for re-generating the documentation. - **`template_examples/`** - example populated Excel files for template specifications in `schemas/templates`, and `.csv`s auto-generated from those `.xlsx`s that allow to transparently keep track of changes in them. - **`tests/`** - tests for the `cidc_schemas` module. - **`.githooks/`** - git hooks, e.g. for auto-generating `.csv`s in `template_examples/` and `.html` documentation files. ### Developer Setup Install necessary dependencies. ```bash pip install -r requirements.dev.txt ``` Install and configure pre-commit hooks. ```bash pre-commit install ``` ## JIRA Integration To set-up the git hook for JIRA integration, run: ```bash ln -s ../../.githooks/commit-msg .git/hooks/commit-msg chmod +x .git/hooks/commit-msg rm .git/hooks/commit-msg.sample ``` This symbolic link is necessary to correctly link files in `.githooks` to `.git/hooks`. Note that setting the `core.hooksPath` configuration variable would lead to [pre-commit failing](https://github.com/pre-commit/pre-commit/issues/1198). The `commit-msg` hook [runs after](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks) the `pre-commit` hook, hence the two are de-coupled in this workflow. To associate a commit with an issue, you will need to reference the JIRA Issue key (For eg 'CIDC-1111') in the corresponding commit message. ### Running tests This repository has unit tests in the _tests_ folder. After installing dependencies the tests can be run via the command ```bash pytest tests ``` ### Building documentation Pre-commit hooks ensure documentation is automatically up-to date. To build the documentation manually, run the following commands: ```bash python setup.py install # install helpers from the cidc_schemas library python docs/generate_docs.py ``` This will output the generated html documents in `docs/docs`. If the updated docs are pushed up and merged into master, they will be viewable at https://cimac-cidc.github.io/cidc-schemas/. ## Using the Command-Line Interface This project comes with a command-line interface for validating schemas and generating/validating assay and manifest templates. ### Install the CLI Clone the repository and cd into it ```bash git clone git@github.com:CIMAC-CIDC/cidc-schemas.git cd cidc-schemas ``` Install the `cidc_schemas` package (this adds the `cidc_schemas` CLI to your console) ```bash python setup.py install ``` Run `cidc_schemas --help` to see available options. If you're making changes to the module and want those changes to be reflected in the CLI without reinstalling the `cidc_schemas` module every time, run ```bash python3 -m cidc_schemas.cli [args] ``` ### Generate templates Create a template for a given template configuration. ```bash cidc_schemas generate_template -m templates/manifests/pbmc_template.json -o pbmc.xlsx ``` ### Validate filled-out templates Check that a populated template file is valid with respect to a template specification. ```bash cidc_schemas validate_template -m templates/manifests/pbmc_template.json -x template_examples/pbmc_template.xlsx ``` ### Validate JSON schemas Check that a JSON schema conforms to the JSON Schema specifications. ```bash cidc_schemas validate_schema -f shipping_core.json ``` %prep %autosetup -n cidc-schemas-0.26.21 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-cidc-schemas -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Tue Apr 25 2023 Python_Bot - 0.26.21-1 - Package Spec generated