tree-sitter-sdml


Nametree-sitter-sdml JSON
Version 0.4.3 PyPI version JSON
download
home_pageNone
SummarySDML grammar for tree-sitter
upload_time2025-02-11 21:11:54
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseCopyright 2023 Simon Johnston <johnstonskj@gmail.com> Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
keywords incremental parsing tree-sitter sdml
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Tree-Sitter grammar for SDML

![SDML Logo Text](https://raw.githubusercontent.com/sdm-lang/.github/main/profile/horizontal-text.svg)

A [tree-sitter](https://tree-sitter.github.io/tree-sitter/) grammar for the Simple Domain Modeling Language (SDML). For more
information on the language, see the [documentation](https://sdml.io/).

## Example

```sdml
module campaign <https://advertising.amazon.com/api-model> is

  import [dc rdfs skos]

  @skos:prefLabel = "Campaign sub-domain"@en
  @skos:version = xsd:decimal(2)

  datatype Name <- string {
    minLength = 5
    maxLength = 25
  }

  datatype Identifier <- opaque string {
    length = 20
  } is
    @dc:description = "An opaque, general, entity identifier."@en
  end

  property CampaignId -> Identifier is
    @skos:prefLabel = [
      "Campaign Identifier"@en
      "Identified de campagne"@fr
    ]
    @dc:description = "The globally unique identifier for a Campaign entity"@en
  end

  structure Tag is
    key -> token
    value -> {0..} rdfs:langString
  end

  entity Campaign is
    identity ref CampaignId

    name -> Name is
      @skos:definition = "the name of the campaign"@en
    end

    tag -> {unordered unique 0..} Tag

    target -> {1..} Target
  end

  entity Target

end
```

## Bindings

The following bindings are built and released along with any version upgrade of
the source version. The tree-sitter tool also generates bindings for C, Go, and
Swift that are not built and released to any repository.

[Node](https://www.npmjs.com/package/tree-sitter-sdml) bindings are published to npmjs and can be installed using the
npm command directly, or by making it a project dependency.

```sh
〉npm install -g tree_sitter_sdml
```

[Python](https://pypi.org/project/tree-sitter-sdml/) bindings are published to PyPI and can be installed using any
standard tool, such as `pip`.

```sh
〉pip3 install tree_sitter_sdml
```

[Rust](https://crates.io/crates/tree-sitter-sdml) bindings are published to crates.io and can be installed via cargo in
the usual manner.

```sh
〉cargo install tree_sitter_sdml
```

## License

This package is released under the Apache License, Version 2.0. See LICENSE file
for details.

## Changes

See [CHANGES.md](CHANGES.md).

## Additional Links

* Node bindings -- [npm.js](https://www.npmjs.com/package/tree-sitter-sdml)
* Rust bindings -- [crates.io](https://crates.io/crates/tree-sitter-sdml)
* Python bindings -- [PyPi.org](https://pypi.org/project/tree-sitter-sdml/)
* Emacs -- [sdml-mode](https://github.com/johnstonskj/emacs-sdml-mode)
* Command-line tool -- [rust-sdml](https://github.com/johnstonskj/rust-sdml)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "tree-sitter-sdml",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "incremental, parsing, tree-sitter, sdml",
    "author": null,
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/1c/5f/7c86860a718f8a5818f8ddfe68551d40cd375e745f7e13bc5d0cb0d5702a/tree_sitter_sdml-0.4.3.tar.gz",
    "platform": null,
    "description": "# Tree-Sitter grammar for SDML\n\n![SDML Logo Text](https://raw.githubusercontent.com/sdm-lang/.github/main/profile/horizontal-text.svg)\n\nA [tree-sitter](https://tree-sitter.github.io/tree-sitter/) grammar for the Simple Domain Modeling Language (SDML). For more\ninformation on the language, see the [documentation](https://sdml.io/).\n\n## Example\n\n```sdml\nmodule campaign <https://advertising.amazon.com/api-model> is\n\n  import [dc rdfs skos]\n\n  @skos:prefLabel = \"Campaign sub-domain\"@en\n  @skos:version = xsd:decimal(2)\n\n  datatype Name <- string {\n    minLength = 5\n    maxLength = 25\n  }\n\n  datatype Identifier <- opaque string {\n    length = 20\n  } is\n    @dc:description = \"An opaque, general, entity identifier.\"@en\n  end\n\n  property CampaignId -> Identifier is\n    @skos:prefLabel = [\n      \"Campaign Identifier\"@en\n      \"Identified de campagne\"@fr\n    ]\n    @dc:description = \"The globally unique identifier for a Campaign entity\"@en\n  end\n\n  structure Tag is\n    key -> token\n    value -> {0..} rdfs:langString\n  end\n\n  entity Campaign is\n    identity ref CampaignId\n\n    name -> Name is\n      @skos:definition = \"the name of the campaign\"@en\n    end\n\n    tag -> {unordered unique 0..} Tag\n\n    target -> {1..} Target\n  end\n\n  entity Target\n\nend\n```\n\n## Bindings\n\nThe following bindings are built and released along with any version upgrade of\nthe source version. The tree-sitter tool also generates bindings for C, Go, and\nSwift that are not built and released to any repository.\n\n[Node](https://www.npmjs.com/package/tree-sitter-sdml) bindings are published to npmjs and can be installed using the\nnpm command directly, or by making it a project dependency.\n\n```sh\n\u3009npm install -g tree_sitter_sdml\n```\n\n[Python](https://pypi.org/project/tree-sitter-sdml/) bindings are published to PyPI and can be installed using any\nstandard tool, such as `pip`.\n\n```sh\n\u3009pip3 install tree_sitter_sdml\n```\n\n[Rust](https://crates.io/crates/tree-sitter-sdml) bindings are published to crates.io and can be installed via cargo in\nthe usual manner.\n\n```sh\n\u3009cargo install tree_sitter_sdml\n```\n\n## License\n\nThis package is released under the Apache License, Version 2.0. See LICENSE file\nfor details.\n\n## Changes\n\nSee [CHANGES.md](CHANGES.md).\n\n## Additional Links\n\n* Node bindings -- [npm.js](https://www.npmjs.com/package/tree-sitter-sdml)\n* Rust bindings -- [crates.io](https://crates.io/crates/tree-sitter-sdml)\n* Python bindings -- [PyPi.org](https://pypi.org/project/tree-sitter-sdml/)\n* Emacs -- [sdml-mode](https://github.com/johnstonskj/emacs-sdml-mode)\n* Command-line tool -- [rust-sdml](https://github.com/johnstonskj/rust-sdml)\n",
    "bugtrack_url": null,
    "license": "Copyright 2023 Simon Johnston <johnstonskj@gmail.com>\n        \n        Licensed under the Apache License, Version 2.0 (the \"License\");\n        you may not use this file except in compliance with the License.\n        You may obtain a copy of the License at\n        \n            http://www.apache.org/licenses/LICENSE-2.0\n        \n        Unless required by applicable law or agreed to in writing, software\n        distributed under the License is distributed on an \"AS IS\" BASIS,\n        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n        See the License for the specific language governing permissions and\n        limitations under the License.\n        ",
    "summary": "SDML grammar for tree-sitter",
    "version": "0.4.3",
    "project_urls": {
        "Homepage": "https://github.com/tree-sitter/tree-sitter-sdml"
    },
    "split_keywords": [
        "incremental",
        " parsing",
        " tree-sitter",
        " sdml"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1c5f7c86860a718f8a5818f8ddfe68551d40cd375e745f7e13bc5d0cb0d5702a",
                "md5": "540218625540529d07c0b4a54a26379a",
                "sha256": "8f00f9f4cb4b6b5029cc081fab91c87099d9764b5ef4609bcf4a5112d35942b4"
            },
            "downloads": -1,
            "filename": "tree_sitter_sdml-0.4.3.tar.gz",
            "has_sig": false,
            "md5_digest": "540218625540529d07c0b4a54a26379a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 51714,
            "upload_time": "2025-02-11T21:11:54",
            "upload_time_iso_8601": "2025-02-11T21:11:54.250840Z",
            "url": "https://files.pythonhosted.org/packages/1c/5f/7c86860a718f8a5818f8ddfe68551d40cd375e745f7e13bc5d0cb0d5702a/tree_sitter_sdml-0.4.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-11 21:11:54",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "tree-sitter",
    "github_project": "tree-sitter-sdml",
    "github_not_found": true,
    "lcname": "tree-sitter-sdml"
}
        
Elapsed time: 0.76293s