From 44f8909054d743d37da02b7d83e1e169f34c9643 Mon Sep 17 00:00:00 2001 From: cmungall Date: Fri, 9 Sep 2022 16:19:03 -0700 Subject: [PATCH 1/3] customization --- cookiecutter.json | 7 +- {{cookiecutter.project_name}}/mkdocs.yml | 20 +-- .../{{cookiecutter.__project_slug}}.yaml | 148 ++++-------------- 3 files changed, 37 insertions(+), 138 deletions(-) diff --git a/cookiecutter.json b/cookiecutter.json index 428e8be..5339080 100644 --- a/cookiecutter.json +++ b/cookiecutter.json @@ -1,7 +1,10 @@ { - "project_name": "Project_X", + "project_name": "my-awesome-schema", "__project_slug": "{{ cookiecutter.project_name|lower()|replace(' ', '_')|replace('-', '_') }}", + "github_org": "my-org", "project_description": "This is the project description.", "author": "Harshad Hegde ", - "github_token_for_pypi_deployment": "PYPI_PASSWORD" + "main_schema_class": "Person", + "create_python_classes": "Yes/No", + "github_token_for_pypi_deployment": "PYPI_PASSWORD (leave blank if not a python project)" } diff --git a/{{cookiecutter.project_name}}/mkdocs.yml b/{{cookiecutter.project_name}}/mkdocs.yml index c4a293f..8c64603 100644 --- a/{{cookiecutter.project_name}}/mkdocs.yml +++ b/{{cookiecutter.project_name}}/mkdocs.yml @@ -1,4 +1,4 @@ -site_name: "My Datamodel" +site_name: "{{cookiecutter.project_name}}" theme: name: material analytics: @@ -10,22 +10,10 @@ theme: - content.tabs.link plugins: - search -markdown_extensions: - - pymdownx.highlight: - anchor_linenums: true - - pymdownx.inlinehilite - - pymdownx.snippets - - pymdownx.superfences - - pymdownx.tabbed: - alternate_style: true - - pymdownx.critic - - pymdownx.caret - - pymdownx.keys - - pymdownx.mark - - pymdownx.tilde + - mermaid2 nav: # - Home: home.md - Index: index.md - About: about.md -site_url: https://my-org.github.io/my-datamodel/ -repo_url: https://github.com/my-org/my-datamodel/ +site_url: https://{{cookiecutter.my_org}}.github.io/{{cookiecutter.project_name}} +repo_url: https://github.com/{{cookiecutter.my_org}}/{{cookiecutter.project_name}} diff --git a/{{cookiecutter.project_name}}/src/{{cookiecutter.__project_slug}}/schema/{{cookiecutter.__project_slug}}.yaml b/{{cookiecutter.project_name}}/src/{{cookiecutter.__project_slug}}/schema/{{cookiecutter.__project_slug}}.yaml index 67d8725..5bd32e7 100644 --- a/{{cookiecutter.project_name}}/src/{{cookiecutter.__project_slug}}/schema/{{cookiecutter.__project_slug}}.yaml +++ b/{{cookiecutter.project_name}}/src/{{cookiecutter.__project_slug}}/schema/{{cookiecutter.__project_slug}}.yaml @@ -1,43 +1,22 @@ -id: https://w3id.org/my_org/my_datamodel -name: my_datamodel -title: My Datamodel +id: https://w3id.org/{{cookiecutter.my_org}}/{{cookiecutter.project_name}} +name: {{cookiecutter.project_name}} +title: {{cookiecutter.project_name}} description: |- - Enter a detailed description of your project here -default_curi_maps: - - semweb_context + {{cookiecutter.project_description}} imports: - linkml:types + prefixes: - my_datamodel: https://w3id.org/my_org/my_datamodel + {{cookiecutter.__project_slug}}: https://w3id.org/{{cookiecutter.my_org}}/{{cookiecutter.project_name}}/ linkml: https://w3id.org/linkml/ biolink: https://w3id.org/biolink/ schema: http://schema.org/ PATO: http://purl.obolibrary.org/obo/PATO_ - famrel: http://example.org/famrel/ -default_prefix: my_datamodel +default_prefix: {{cookiecutter.__project_slug}} default_range: string -see_also: - - https://example.org/ - classes: - Registry: - description: Top level data container - tree_root: true - attributes: - persons: - range: Person - inlined: true - inlined_as_list: true - multivalued: true - organizations: - range: Organization - inlined_as_list: true - inlined: true - multivalued: true - - NamedThing: description: >- A generic grouping for any identifiable entity @@ -45,120 +24,57 @@ classes: - id - name - description - - image close_mappings: - schema:Thing - Person: + {{cookiecutter.main_schema_class}}: is_a: NamedThing description: >- - A person (alive, dead, undead, or fictional). - class_uri: schema:Person - mixins: - - HasAliases + ADD YOUR DESCRIPTION HERE slots: - primary_email - birth_date - age_in_years - - current_address - - has_familial_relationships + - vital_status slot_usage: primary_email: pattern: "^\\S+@[\\S+\\.]+\\S+" - - HasAliases: + + {{cookiecutter.main_schema_class}}Collection: + tree_root: true description: >- - A mixin applied to any class that can have aliases/alternateNames - mixin: true + A holder for {{cookiecutter.main_schema_class}} objects attributes: - aliases: + entries: + range: {{cookiecutter.main_schema_class}} multivalued: true - exact_mappings: - - schema:alternateName - - - Organization: - description: >- - An organization such as a company or university - is_a: NamedThing - class_uri: schema:Organization - mixins: - - HasAliases - slots: - - mission_statement - - founding_date - - Address: - class_uri: schema:PostalAddress - slots: - - street - - city - - postal_code - - - Relationship: - slots: - - started_at_time - - ended_at_time - - related_to - - type - - FamilialRelationship: - is_a: Relationship - slot_usage: - type: - range: FamilialRelationshipType - required: true - related to: - range: Person - required: true - + inlined: true slots: id: identifier: true slot_uri: schema:identifier + range: uriorcurie + description: A unique identifier for a thing name: slot_uri: schema:name + description: A human-readable name for a thing description: slot_uri: schema:description - image: - slot_uri: schema:image + description: A human-readable description for a thing primary_email: slot_uri: schema:email + description: The main email address of a person birth_date: slot_uri: schema:birthDate - employed_at: - range: Organization - is_current: - range: boolean - has_familial_relationships: - range: FamilialRelationship - multivalued: true - inlined_as_list: true - current_address: - description: >- - The address at which a person currently lives - range: Address + range: date + description: Date on which a person is born age_in_years: range: integer - minimum_value: 0 - maximum_value: 999 - related_to: - type: - street: - city: - mission_statement: - founding_date: - postal_code: - range: string - started_at_time: - slot_uri: prov:startedAtTime - range: date - ended_at_time: - slot_uri: prov:endedAtTime - range: date - + description: Number of years since birth + vital_status: + range: PersonStatus + description: living or dead status enums: PersonStatus: @@ -173,11 +89,3 @@ enums: description: the vital status is not known todos: - map this to an ontology - FamilialRelationshipType: - permissible_values: - SIBLING_OF: - meaning: famrel:01 - PARENT_OF: - meaning: famrel:02 - CHILD_OF: - meaning: famrel:01 From e37f6cd494f55ec4e9012cf5e5d82032f9b0c437 Mon Sep 17 00:00:00 2001 From: cmungall Date: Fri, 9 Sep 2022 16:26:21 -0700 Subject: [PATCH 2/3] fixes --- {{cookiecutter.project_name}}/mkdocs.yml | 4 +- {{cookiecutter.project_name}}/poetry.lock | 245 +++++++++++++++--- {{cookiecutter.project_name}}/pyproject.toml | 3 +- .../{{cookiecutter.__project_slug}}.yaml | 4 +- 4 files changed, 217 insertions(+), 39 deletions(-) diff --git a/{{cookiecutter.project_name}}/mkdocs.yml b/{{cookiecutter.project_name}}/mkdocs.yml index 8c64603..9c18f2c 100644 --- a/{{cookiecutter.project_name}}/mkdocs.yml +++ b/{{cookiecutter.project_name}}/mkdocs.yml @@ -15,5 +15,5 @@ nav: # - Home: home.md - Index: index.md - About: about.md -site_url: https://{{cookiecutter.my_org}}.github.io/{{cookiecutter.project_name}} -repo_url: https://github.com/{{cookiecutter.my_org}}/{{cookiecutter.project_name}} +site_url: https://{{cookiecutter.github_org}}.github.io/{{cookiecutter.project_name}} +repo_url: https://github.com/{{cookiecutter.github_org}}/{{cookiecutter.project_name}} diff --git a/{{cookiecutter.project_name}}/poetry.lock b/{{cookiecutter.project_name}}/poetry.lock index 21bd69c..32a3260 100644 --- a/{{cookiecutter.project_name}}/poetry.lock +++ b/{{cookiecutter.project_name}}/poetry.lock @@ -14,14 +14,6 @@ category = "dev" optional = false python-versions = "*" -[[package]] -name = "argparse" -version = "1.4.0" -description = "Python command-line parsing library" -category = "dev" -optional = false -python-versions = "*" - [[package]] name = "attrs" version = "22.1.0" @@ -47,6 +39,21 @@ python-versions = ">=3.6" [package.dependencies] pytz = ">=2015.7" +[[package]] +name = "beautifulsoup4" +version = "4.11.1" +description = "Screen-scraping library" +category = "dev" +optional = false +python-versions = ">=3.6.0" + +[package.dependencies] +soupsieve = ">1.2" + +[package.extras] +html5lib = ["html5lib"] +lxml = ["lxml"] + [[package]] name = "certifi" version = "2022.6.15" @@ -126,6 +133,14 @@ wrapt = ">=1.10,<2" [package.extras] dev = ["tox", "bump2version (<1)", "sphinx (<2)", "importlib-metadata (<3)", "importlib-resources (<4)", "configparser (<5)", "sphinxcontrib-websupport (<2)", "zipp (<2)", "PyTest (<5)", "PyTest-Cov (<2.6)", "pytest", "pytest-cov"] +[[package]] +name = "distlib" +version = "0.3.6" +description = "Distribution utilities" +category = "dev" +optional = false +python-versions = "*" + [[package]] name = "docutils" version = "0.18.1" @@ -134,6 +149,14 @@ category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +[[package]] +name = "editorconfig" +version = "0.12.3" +description = "EditorConfig File Locator and Interpreter for Python" +category = "dev" +optional = false +python-versions = "*" + [[package]] name = "et-xmlfile" version = "1.1.0" @@ -142,6 +165,18 @@ category = "dev" optional = false python-versions = ">=3.6" +[[package]] +name = "filelock" +version = "3.8.0" +description = "A platform independent file lock." +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.extras] +docs = ["furo (>=2022.6.21)", "sphinx (>=5.1.1)", "sphinx-autodoc-typehints (>=1.19.1)"] +testing = ["covdefaults (>=2.2)", "coverage (>=6.4.2)", "pytest (>=7.1.2)", "pytest-cov (>=3)", "pytest-timeout (>=2.1)"] + [[package]] name = "ghp-import" version = "2.1.0" @@ -154,7 +189,7 @@ python-versions = "*" python-dateutil = ">=2.8.1" [package.extras] -dev = ["wheel", "flake8", "markdown", "twine"] +dev = ["twine", "markdown", "flake8", "wheel"] [[package]] name = "graphviz" @@ -245,6 +280,18 @@ MarkupSafe = ">=2.0" [package.extras] i18n = ["Babel (>=2.7)"] +[[package]] +name = "jsbeautifier" +version = "1.14.6" +description = "JavaScript unobfuscator and beautifier." +category = "dev" +optional = false +python-versions = "*" + +[package.dependencies] +editorconfig = ">=0.12.2" +six = ">=1.13.0" + [[package]] name = "json-flattener" version = "0.1.9" @@ -329,7 +376,7 @@ format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339- [[package]] name = "linkml" -version = "1.3.2" +version = "1.3.3" description = "Linked Open Data Modeling Language" category = "dev" optional = false @@ -337,7 +384,6 @@ python-versions = ">=3.7.6,<4.0.0" [package.dependencies] antlr4-python3-runtime = ">=4.9.0,<4.10" -argparse = ">=1.4.0" click = ">=7.0" graphviz = ">=0.10.1" hbreader = "*" @@ -346,11 +392,12 @@ jinja2 = "*" jsonasobj2 = ">=1.0.3,<2.0.0" jsonschema = ">=3.0.1" linkml-dataops = "*" -linkml-runtime = ">=1.3.0,<2.0.0" +linkml-runtime = ">=1.3,<1.4" myst-parser = "*" openpyxl = "*" parse = "*" prefixcommons = ">=0.1.7" +prefixmaps = ">=0.1.3,<0.2.0" pydantic = "*" pyjsg = ">=0.11.6" pyshex = ">=0.7.20" @@ -361,10 +408,11 @@ rdflib = ">=6.0.0" requests = ">=2.22" sphinx-click = "*" sqlalchemy = ">=1.4.31" +tox = ">=3.25.1,<4.0.0" watchdog = ">=0.9.0" [package.extras] -docs = ["sphinx", "sphinx-rtd-theme"] +docs = ["sphinx-rtd-theme", "sphinx"] [[package]] name = "linkml-dataops" @@ -427,14 +475,14 @@ python-versions = ">=3.7" mdurl = ">=0.1,<1.0" [package.extras] -testing = ["pytest-regressions", "pytest-cov", "pytest", "coverage"] -rtd = ["sphinx-book-theme", "sphinx-design", "sphinx-copybutton", "sphinx", "pyyaml", "myst-parser", "attrs"] -profiling = ["gprof2dot"] -plugins = ["mdit-py-plugins"] -linkify = ["linkify-it-py (>=1.0,<2.0)"] -compare = ["panflute (>=2.1.3,<2.2.0)", "mistune (>=2.0.2,<2.1.0)", "mistletoe (>=0.8.1,<0.9.0)", "markdown (>=3.3.6,<3.4.0)", "commonmark (>=0.9.1,<0.10.0)"] +benchmarking = ["psutil", "pytest", "pytest-benchmark (>=3.2,<4.0)"] code_style = ["pre-commit (==2.6)"] -benchmarking = ["pytest-benchmark (>=3.2,<4.0)", "pytest", "psutil"] +compare = ["commonmark (>=0.9.1,<0.10.0)", "markdown (>=3.3.6,<3.4.0)", "mistletoe (>=0.8.1,<0.9.0)", "mistune (>=2.0.2,<2.1.0)", "panflute (>=2.1.3,<2.2.0)"] +linkify = ["linkify-it-py (>=1.0,<2.0)"] +plugins = ["mdit-py-plugins"] +profiling = ["gprof2dot"] +rtd = ["attrs", "myst-parser", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinx-book-theme"] +testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] [[package]] name = "markupsafe" @@ -456,9 +504,9 @@ python-versions = "~=3.6" markdown-it-py = ">=1.0.0,<3.0.0" [package.extras] -testing = ["pytest-regressions", "pytest-cov", "pytest (>=3.6,<4)", "coverage"] -rtd = ["sphinx-book-theme (>=0.1.0,<0.2.0)", "myst-parser (>=0.14.0,<0.15.0)"] code_style = ["pre-commit (==2.6)"] +rtd = ["myst-parser (>=0.14.0,<0.15.0)", "sphinx-book-theme (>=0.1.0,<0.2.0)"] +testing = ["coverage", "pytest (>=3.6,<4)", "pytest-cov", "pytest-regressions"] [[package]] name = "mdurl" @@ -523,6 +571,23 @@ category = "dev" optional = false python-versions = ">=3.6" +[[package]] +name = "mkdocs-mermaid2-plugin" +version = "0.6.0" +description = "A MkDocs plugin for including mermaid graphs in markdown sources" +category = "dev" +optional = false +python-versions = ">=3.5" + +[package.dependencies] +beautifulsoup4 = ">=4.6.3" +jsbeautifier = "*" +mkdocs = ">=1.0.4" +mkdocs-material = "*" +pymdown-extensions = ">=8.0" +pyyaml = "*" +requests = "*" + [[package]] name = "myst-parser" version = "0.18.0" @@ -576,6 +641,30 @@ category = "dev" optional = false python-versions = "*" +[[package]] +name = "platformdirs" +version = "2.5.2" +description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.extras] +docs = ["furo (>=2021.7.5b38)", "proselint (>=0.10.2)", "sphinx-autodoc-typehints (>=1.12)", "sphinx (>=4)"] +test = ["appdirs (==1.4.4)", "pytest-cov (>=2.7)", "pytest-mock (>=3.6)", "pytest (>=6)"] + +[[package]] +name = "pluggy" +version = "1.0.0" +description = "plugin and hook calling mechanisms for python" +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.extras] +dev = ["pre-commit", "tox"] +testing = ["pytest", "pytest-benchmark"] + [[package]] name = "ply" version = "3.11" @@ -595,6 +684,26 @@ python-versions = ">=3.7,<4.0" [package.dependencies] requests = ">=2.28.1,<3.0.0" +[[package]] +name = "prefixmaps" +version = "0.1.3" +description = "" +category = "dev" +optional = false +python-versions = ">=3.7.6,<4.0.0" + +[package.dependencies] +importlib-metadata = ">=4.12.0,<5.0.0" +PyYAML = ">=6.0,<7.0" + +[[package]] +name = "py" +version = "1.11.0" +description = "library with cross-python path, ini-parsing, io, code, log facilities" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + [[package]] name = "pydantic" version = "1.10.2" @@ -847,6 +956,14 @@ category = "dev" optional = false python-versions = "*" +[[package]] +name = "soupsieve" +version = "2.3.2.post1" +description = "A modern CSS selector implementation for Beautiful Soup." +category = "dev" +optional = false +python-versions = ">=3.6" + [[package]] name = "sparqlslurper" version = "0.5.1" @@ -872,10 +989,10 @@ python-versions = ">=3.7" rdflib = ">=6.1.1" [package.extras] -pandas = ["pandas (>=1.3.5)"] +dev = ["setuptools (>=3.7.1)", "mypy (>=0.931)", "pandas (>=1.3.5)", "pandas-stubs (>=1.2.0.48)"] +docs = ["sphinx (<5)", "sphinx-rtd-theme"] keepalive = ["keepalive (>=0.5)"] -docs = ["sphinx-rtd-theme", "sphinx (<5)"] -dev = ["pandas-stubs (>=1.2.0.48)", "pandas (>=1.3.5)", "mypy (>=0.931)", "setuptools (>=3.7.1)"] +pandas = ["pandas (>=1.3.5)"] [[package]] name = "sphinx" @@ -931,8 +1048,8 @@ optional = false python-versions = ">=3.5" [package.extras] +lint = ["flake8", "mypy", "docutils-stubs"] test = ["pytest"] -lint = ["docutils-stubs", "mypy", "flake8"] [[package]] name = "sphinxcontrib-devhelp" @@ -943,8 +1060,8 @@ optional = false python-versions = ">=3.5" [package.extras] +lint = ["flake8", "mypy", "docutils-stubs"] test = ["pytest"] -lint = ["docutils-stubs", "mypy", "flake8"] [[package]] name = "sphinxcontrib-htmlhelp" @@ -955,8 +1072,8 @@ optional = false python-versions = ">=3.6" [package.extras] -test = ["html5lib", "pytest"] -lint = ["docutils-stubs", "mypy", "flake8"] +lint = ["flake8", "mypy", "docutils-stubs"] +test = ["pytest", "html5lib"] [[package]] name = "sphinxcontrib-jsmath" @@ -967,7 +1084,7 @@ optional = false python-versions = ">=3.5" [package.extras] -test = ["mypy", "flake8", "pytest"] +test = ["pytest", "flake8", "mypy"] [[package]] name = "sphinxcontrib-qthelp" @@ -978,8 +1095,8 @@ optional = false python-versions = ">=3.5" [package.extras] +lint = ["flake8", "mypy", "docutils-stubs"] test = ["pytest"] -lint = ["docutils-stubs", "mypy", "flake8"] [[package]] name = "sphinxcontrib-serializinghtml" @@ -990,8 +1107,8 @@ optional = false python-versions = ">=3.5" [package.extras] +lint = ["flake8", "mypy", "docutils-stubs"] test = ["pytest"] -lint = ["docutils-stubs", "mypy", "flake8"] [[package]] name = "sqlalchemy" @@ -1025,6 +1142,36 @@ postgresql_psycopg2cffi = ["psycopg2cffi"] pymysql = ["pymysql (<1)", "pymysql"] sqlcipher = ["sqlcipher3-binary"] +[[package]] +name = "tomli" +version = "2.0.1" +description = "A lil' TOML parser" +category = "dev" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "tox" +version = "3.26.0" +description = "tox is a generic virtualenv management and test command line tool" +category = "dev" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" + +[package.dependencies] +colorama = {version = ">=0.4.1", markers = "platform_system == \"Windows\""} +filelock = ">=3.0.0" +packaging = ">=14" +pluggy = ">=0.12.0" +py = ">=1.4.17" +six = ">=1.14.0" +tomli = {version = ">=2.0.1", markers = "python_version >= \"3.7\" and python_version < \"3.11\""} +virtualenv = ">=16.0.0,<20.0.0 || >20.0.0,<20.0.1 || >20.0.1,<20.0.2 || >20.0.2,<20.0.3 || >20.0.3,<20.0.4 || >20.0.4,<20.0.5 || >20.0.5,<20.0.6 || >20.0.6,<20.0.7 || >20.0.7" + +[package.extras] +docs = ["pygments-github-lexers (>=0.0.5)", "sphinx (>=2.0.0)", "sphinxcontrib-autoprogram (>=0.1.5)", "towncrier (>=18.5.0)"] +testing = ["flaky (>=3.4.0)", "freezegun (>=0.3.11)", "pytest (>=4.0.0)", "pytest-cov (>=2.5.1)", "pytest-mock (>=1.10.0)", "pytest-randomly (>=1.0.0)", "psutil (>=5.6.1)", "pathlib2 (>=2.3.3)"] + [[package]] name = "typing-extensions" version = "4.3.0" @@ -1046,6 +1193,23 @@ brotli = ["brotlicffi (>=0.8.0)", "brotli (>=1.0.9)", "brotlipy (>=0.6.0)"] secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "urllib3-secure-extra", "ipaddress"] socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] +[[package]] +name = "virtualenv" +version = "20.16.5" +description = "Virtual Python Environment builder" +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +distlib = ">=0.3.5,<1" +filelock = ">=3.4.1,<4" +platformdirs = ">=2.4,<3" + +[package.extras] +docs = ["proselint (>=0.13)", "sphinx (>=5.1.1)", "sphinx-argparse (>=0.3.1)", "sphinx-rtd-theme (>=1)", "towncrier (>=21.9)"] +testing = ["coverage (>=6.2)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=21.3)", "pytest (>=7.0.1)", "pytest-env (>=0.6.2)", "pytest-freezegun (>=0.4.2)", "pytest-mock (>=3.6.1)", "pytest-randomly (>=3.10.3)", "pytest-timeout (>=2.1)"] + [[package]] name = "watchdog" version = "2.1.9" @@ -1080,14 +1244,14 @@ testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest- [metadata] lock-version = "1.1" python-versions = "^3.9" -content-hash = "7f584394ee7adf13fdd9776e9aaab9444226a95a82dc881308b0e7826636078b" +content-hash = "d0cc2575e51653d8bf0f9a64d32c3b34241abc08b0ab2346bbab064e1d682c3c" [metadata.files] alabaster = [] antlr4-python3-runtime = [] -argparse = [] attrs = [] babel = [] +beautifulsoup4 = [] certifi = [] cfgraph = [] chardet = [] @@ -1096,8 +1260,11 @@ click = [] colorama = [] decorator = [] deprecated = [] +distlib = [] docutils = [] +editorconfig = [] et-xmlfile = [] +filelock = [] ghp-import = [] graphviz = [] greenlet = [] @@ -1107,6 +1274,7 @@ imagesize = [] importlib-metadata = [] isodate = [] jinja2 = [] +jsbeautifier = [] json-flattener = [] jsonasobj = [] jsonasobj2 = [] @@ -1126,12 +1294,17 @@ mergedeep = [] mkdocs = [] mkdocs-material = [] mkdocs-material-extensions = [] +mkdocs-mermaid2-plugin = [] myst-parser = [] openpyxl = [] packaging = [] parse = [] +platformdirs = [] +pluggy = [] ply = [] prefixcommons = [] +prefixmaps = [] +py = [] pydantic = [] pygments = [] pyjsg = [] @@ -1153,6 +1326,7 @@ requests = [] shexjsg = [] six = [] snowballstemmer = [] +soupsieve = [] sparqlslurper = [] sparqlwrapper = [] sphinx = [] @@ -1164,8 +1338,11 @@ sphinxcontrib-jsmath = [] sphinxcontrib-qthelp = [] sphinxcontrib-serializinghtml = [] sqlalchemy = [] +tomli = [] +tox = [] typing-extensions = [] urllib3 = [] +virtualenv = [] watchdog = [] wrapt = [] zipp = [] diff --git a/{{cookiecutter.project_name}}/pyproject.toml b/{{cookiecutter.project_name}}/pyproject.toml index 8212e41..6f8b68b 100644 --- a/{{cookiecutter.project_name}}/pyproject.toml +++ b/{{cookiecutter.project_name}}/pyproject.toml @@ -11,8 +11,9 @@ python = "^3.9" linkml-runtime = "^1.1.24" [tool.poetry.dev-dependencies] -linkml = "^1.2.6" +linkml = "^1.3.3" mkdocs-material = "^8.2.8" +mkdocs-mermaid2-plugin = "^0.6.0" [build-system] requires = ["poetry-core>=1.0.0"] diff --git a/{{cookiecutter.project_name}}/src/{{cookiecutter.__project_slug}}/schema/{{cookiecutter.__project_slug}}.yaml b/{{cookiecutter.project_name}}/src/{{cookiecutter.__project_slug}}/schema/{{cookiecutter.__project_slug}}.yaml index 5bd32e7..c30b56a 100644 --- a/{{cookiecutter.project_name}}/src/{{cookiecutter.__project_slug}}/schema/{{cookiecutter.__project_slug}}.yaml +++ b/{{cookiecutter.project_name}}/src/{{cookiecutter.__project_slug}}/schema/{{cookiecutter.__project_slug}}.yaml @@ -1,4 +1,4 @@ -id: https://w3id.org/{{cookiecutter.my_org}}/{{cookiecutter.project_name}} +id: https://w3id.org/{{cookiecutter.github_org}}/{{cookiecutter.project_name}} name: {{cookiecutter.project_name}} title: {{cookiecutter.project_name}} description: |- @@ -7,7 +7,7 @@ imports: - linkml:types prefixes: - {{cookiecutter.__project_slug}}: https://w3id.org/{{cookiecutter.my_org}}/{{cookiecutter.project_name}}/ + {{cookiecutter.__project_slug}}: https://w3id.org/{{cookiecutter.github_org}}/{{cookiecutter.project_name}}/ linkml: https://w3id.org/linkml/ biolink: https://w3id.org/biolink/ schema: http://schema.org/ From 4589d18a3c29d3cde5fd8da6fb87d972606ff068 Mon Sep 17 00:00:00 2001 From: cmungall Date: Fri, 9 Sep 2022 16:36:22 -0700 Subject: [PATCH 3/3] regen --- {{cookiecutter.project_name}}/.gitignore | 2 +- {{cookiecutter.project_name}}/Makefile | 4 ++++ {{cookiecutter.project_name}}/README.md | 18 +++++++++++++++++- .../src/docs/about.md | 5 +++++ 4 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 {{cookiecutter.project_name}}/src/docs/about.md diff --git a/{{cookiecutter.project_name}}/.gitignore b/{{cookiecutter.project_name}}/.gitignore index 07bcc77..439c571 100644 --- a/{{cookiecutter.project_name}}/.gitignore +++ b/{{cookiecutter.project_name}}/.gitignore @@ -1,4 +1,4 @@ -docs/ +./docs/ # Byte-compiled / optimized / DLL files __pycache__/ diff --git a/{{cookiecutter.project_name}}/Makefile b/{{cookiecutter.project_name}}/Makefile index 42f5a74..89f3c4e 100644 --- a/{{cookiecutter.project_name}}/Makefile +++ b/{{cookiecutter.project_name}}/Makefile @@ -24,6 +24,7 @@ help: status @echo "make install -- install dependencies" @echo "make setup -- initial setup" @echo "make test -- runs tests" + @echo "make lint -- perfom linting" @echo "make testdoc -- builds docs and runs local test server" @echo "make deploy -- deploys site" @echo "make update -- updates linkml version" @@ -51,6 +52,9 @@ gen-project: $(PYMODEL) test: $(RUN) gen-project -d tmp $(SOURCE_SCHEMA_PATH) +lint: + $(RUN) linkml-lint $(SOURCE_SCHEMA_PATH) + check-config: @(grep my-datamodel about.yaml > /dev/null && printf "\n**Project not configured**:\n\n - Remember to edit 'about.yaml'\n\n" || exit 0) diff --git a/{{cookiecutter.project_name}}/README.md b/{{cookiecutter.project_name}}/README.md index 7a3e149..ef0b538 100644 --- a/{{cookiecutter.project_name}}/README.md +++ b/{{cookiecutter.project_name}}/README.md @@ -1,5 +1,21 @@ -# {{cookiecutter.__project_slug}} +# {{cookiecutter.project_name}} {{cookiecutter.project_description}} +## Website +* [https://{{cookiecutter.github_org}}.github.io/{{cookiecutter.project_name}}](https://{{cookiecutter.github_org}}.github.io/{{cookiecutter.project_name}}) + +## Developer Documentation + +
+Use the `make` command to generate project artefacts: + +- `make all`: make everything +- `make deploy`: deploys site + +
+ +## Credits + +this project was made with [linkml-project-cookiecutter](https://github.com/linkml/linkml-project-cookiecutter) diff --git a/{{cookiecutter.project_name}}/src/docs/about.md b/{{cookiecutter.project_name}}/src/docs/about.md new file mode 100644 index 0000000..3e3e986 --- /dev/null +++ b/{{cookiecutter.project_name}}/src/docs/about.md @@ -0,0 +1,5 @@ +# {{cookiecutter.project_name}} + +{{cookiecutter.project_description}} + +