nci-cidc-schemas


Namenci-cidc-schemas JSON
Version 0.26.33 PyPI version JSON
download
home_pagehttps://github.com/NCI-CIDC/cidc-schemas
SummaryThe CIDC data model and tools for working with it.
upload_time2024-05-01 18:41:58
maintainerNone
docs_urlNone
authorNCI
requires_python<3.11,>=3.9
licenseMIT license
keywords cidc_schemas
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # cidc-schemas

This repository contains formal definitions of the CIDC metadata model using [json-schema](https://json-schema.org/) syntax and vocabulary.

### View documentation at https://nci-cidc.github.io/cidc-schemas/

## Installation

To install the latest released version, run:

```bash
pip install nci-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
```

### 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://nci-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:NCI-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
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/NCI-CIDC/cidc-schemas",
    "name": "nci-cidc-schemas",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.11,>=3.9",
    "maintainer_email": null,
    "keywords": "cidc_schemas",
    "author": "NCI",
    "author_email": "nci-cidc-tools-admin@mail.nih.gov",
    "download_url": "https://files.pythonhosted.org/packages/15/7a/62a9e1a445dd402bc2daf433bf0d22bc561b829775491ce1a26ae3596d7f/nci_cidc_schemas-0.26.33.tar.gz",
    "platform": null,
    "description": "# cidc-schemas\n\nThis repository contains formal definitions of the CIDC metadata model using [json-schema](https://json-schema.org/) syntax and vocabulary.\n\n### View documentation at https://nci-cidc.github.io/cidc-schemas/\n\n## Installation\n\nTo install the latest released version, run:\n\n```bash\npip install nci-cidc-schemas\n```\n\n## Development\n\n### Project Structure\n\n- **`cidc_schemas/`** - a python module for generating, validating, and reading manifest and assay templates.\n  - **`schemas/`** - json specifications defining the CIDC metadata model.\n    - `templates/` - schemas for generating and validating manifest and assay templates.\n    - `assays/` - schemas for defining assay data models.\n    - `artifacts/` - schemas for defining artifacts.\n- **`docs/`** - the most recent build of the data model documentation, along with templates and scripts for re-generating the documentation.\n- **`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.\n- **`tests/`** - tests for the `cidc_schemas` module.\n- **`.githooks/`** - git hooks, e.g. for auto-generating `.csv`s in `template_examples/` and `.html` documentation files.\n\n### Developer Setup\n\nInstall necessary dependencies.\n\n```bash\npip install -r requirements.dev.txt\n```\n\nInstall and configure pre-commit hooks.\n\n```bash\npre-commit install\n```\n\n### Running tests\n\nThis repository has unit tests in the _tests_ folder. After installing dependencies\nthe tests can be run via the command\n\n```bash\npytest tests\n```\n\n### Building documentation\n\nPre-commit hooks ensure documentation is automatically up-to date. To build the documentation manually, run the following commands:\n\n```bash\npython setup.py install # install helpers from the cidc_schemas library\npython docs/generate_docs.py\n```\n\nThis 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://nci-cidc.github.io/cidc-schemas/.\n\n## Using the Command-Line Interface\n\nThis project comes with a command-line interface for validating schemas and generating/validating assay and manifest templates.\n\n### Install the CLI\n\nClone the repository and cd into it\n\n```bash\ngit clone git@github.com:NCI-CIDC/cidc-schemas.git\ncd cidc-schemas\n```\n\nInstall the `cidc_schemas` package (this adds the `cidc_schemas` CLI to your console)\n\n```bash\npython setup.py install\n```\n\nRun `cidc_schemas --help` to see available options.\n\nIf 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\n\n```bash\npython3 -m cidc_schemas.cli [args]\n```\n\n### Generate templates\n\nCreate a template for a given template configuration.\n\n```bash\ncidc_schemas generate_template -m templates/manifests/pbmc_template.json -o pbmc.xlsx\n```\n\n### Validate filled-out templates\n\nCheck that a populated template file is valid with respect to a template specification.\n\n```bash\ncidc_schemas validate_template -m templates/manifests/pbmc_template.json -x template_examples/pbmc_template.xlsx\n```\n\n### Validate JSON schemas\n\nCheck that a JSON schema conforms to the JSON Schema specifications.\n\n```bash\ncidc_schemas validate_schema -f shipping_core.json\n```\n",
    "bugtrack_url": null,
    "license": "MIT license",
    "summary": "The CIDC data model and tools for working with it.",
    "version": "0.26.33",
    "project_urls": {
        "Homepage": "https://github.com/NCI-CIDC/cidc-schemas"
    },
    "split_keywords": [
        "cidc_schemas"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b9fcc59ee35c238c542fbd2dbfff929d70b8ef77a456e9a00910c99ff28ba252",
                "md5": "43c072d935c6292f2055b94f160709bc",
                "sha256": "d5f22ef3b940c0071173cd8bb7160cb460efc0e08160c4bbf0c47f7f7a414f47"
            },
            "downloads": -1,
            "filename": "nci_cidc_schemas-0.26.33-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "43c072d935c6292f2055b94f160709bc",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": "<3.11,>=3.9",
            "size": 194218,
            "upload_time": "2024-05-01T18:41:56",
            "upload_time_iso_8601": "2024-05-01T18:41:56.542506Z",
            "url": "https://files.pythonhosted.org/packages/b9/fc/c59ee35c238c542fbd2dbfff929d70b8ef77a456e9a00910c99ff28ba252/nci_cidc_schemas-0.26.33-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "157a62a9e1a445dd402bc2daf433bf0d22bc561b829775491ce1a26ae3596d7f",
                "md5": "f9c21a20a69bcfbd399b72c72b904f70",
                "sha256": "d9ec42479ff5311d1f2ee94575cd5236291c427bc4c4b4e229f709d10d7f2216"
            },
            "downloads": -1,
            "filename": "nci_cidc_schemas-0.26.33.tar.gz",
            "has_sig": false,
            "md5_digest": "f9c21a20a69bcfbd399b72c72b904f70",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.11,>=3.9",
            "size": 323461,
            "upload_time": "2024-05-01T18:41:58",
            "upload_time_iso_8601": "2024-05-01T18:41:58.616803Z",
            "url": "https://files.pythonhosted.org/packages/15/7a/62a9e1a445dd402bc2daf433bf0d22bc561b829775491ce1a26ae3596d7f/nci_cidc_schemas-0.26.33.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-01 18:41:58",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "NCI-CIDC",
    "github_project": "cidc-schemas",
    "github_not_found": true,
    "lcname": "nci-cidc-schemas"
}
        
NCI
Elapsed time: 0.44702s