Skip to main content

Tool for data modelling in Gen3

Project description

Developing a Gen3 Data Dictionary

overview.png

This repository aims to provide the documentation, learning materials, and software tools to facilitate the creation of a data model in Gen3.

Pre-Reading: Please become familiar with some core data modelling concepts before starting.

Using Gen3SchemaDev as a data modelling tool

Null description placeholders

gen3schemadev validate warns about description: null placeholders anywhere in the dictionary (commonly in _definitions.yaml's enum definitions). The Gen3 metaschema requires descriptions to be strings; null placeholders cause "No Description" in the data-dictionary viewer and metaschema validation failures that surface on resolved node schemas, far from the offending definition. Remove the null description keys to resolve the warning.

Deep dive into Gen3 Data Modelling

Special Thanks to Marion Shadbolt for providing the source material

  1. Gen3 Dictionary Overview
  2. Gen3 Schema Explained
    1. Descriptors
    2. Links
    3. Properties
  3. Example of a Gen3 Schema yaml
  4. Handy tips
  5. FAIR Concepts for Data Modelling

For Developers

Installation and testing

# To install
pip install poetry
poetry install
source $(poetry env info --path)/bin/activate
gen3schemadev --version

# To run tests
poetry run pytest

Contributing

Gen3SchemaDev is an open source project, and we highly encourage any contributions and PRs. Specifically we need the community to help with the following:

  1. Keeping the gen3 metaschema up to date
  2. Adding business rule logic to the rule validator module.
    1. For example, a node with the category data_file should have a collection of required data file properties such as md5sum, filesize, etc.

For PRs, please follow the contributing guidelines.

License

Apache 2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gen3schemadev-2.6.1.tar.gz (42.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gen3schemadev-2.6.1-py3-none-any.whl (49.7 kB view details)

Uploaded Python 3

File details

Details for the file gen3schemadev-2.6.1.tar.gz.

File metadata

  • Download URL: gen3schemadev-2.6.1.tar.gz
  • Upload date:
  • Size: 42.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.12.13 Linux/6.17.0-1018-azure

File hashes

Hashes for gen3schemadev-2.6.1.tar.gz
Algorithm Hash digest
SHA256 e20576f3026d1187753c37ed9c3e1d52328b01d3c78003520cb699d3d3cc5e1d
MD5 bfe88f30e7b12ef1b388788e6cb4c110
BLAKE2b-256 4116644f603349f7850f06f16c37b14feb7530c7437a56349846bf4a12e44dfc

See more details on using hashes here.

File details

Details for the file gen3schemadev-2.6.1-py3-none-any.whl.

File metadata

  • Download URL: gen3schemadev-2.6.1-py3-none-any.whl
  • Upload date:
  • Size: 49.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.12.13 Linux/6.17.0-1018-azure

File hashes

Hashes for gen3schemadev-2.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c124f649c7da6448e7dffc9dc7138c38285acf420cbb0215e388236aac9f2e9a
MD5 e3fc39e54779df7cf1c10ee8bd5f10dd
BLAKE2b-256 2e8edc5f5e4cf2716ced3848d8e0e9cc75f6bded7adab9531a09e416aa0559c1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page