{"id":15144380,"url":"https://github.com/sdm-lang/rust-sdml","last_synced_at":"2025-03-29T06:31:29.477Z","repository":{"id":169052025,"uuid":"644928889","full_name":"sdm-lang/rust-sdml","owner":"sdm-lang","description":"Rust CLI tools for the Simple Domain Modeling Language (SDML)","archived":false,"fork":false,"pushed_at":"2025-03-10T21:27:12.000Z","size":2088,"stargazers_count":6,"open_issues_count":10,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-21T03:22:17.518Z","etag":null,"topics":["rust","sdml","tree-sitter"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sdm-lang.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-24T14:43:48.000Z","updated_at":"2025-03-10T21:27:17.000Z","dependencies_parsed_at":"2023-09-08T20:54:41.173Z","dependency_job_id":"aca86a3c-589f-4b2f-a3e0-d2cff4f9201c","html_url":"https://github.com/sdm-lang/rust-sdml","commit_stats":{"total_commits":270,"total_committers":1,"mean_commits":270.0,"dds":0.0,"last_synced_commit":"a1514a3d886ee357398e704b424f491f641f3d24"},"previous_names":["johnstonskj/rust-sdml","sdm-lang/rust-sdml"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdm-lang%2Frust-sdml","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdm-lang%2Frust-sdml/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdm-lang%2Frust-sdml/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdm-lang%2Frust-sdml/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sdm-lang","download_url":"https://codeload.github.com/sdm-lang/rust-sdml/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246150347,"owners_count":20731418,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["rust","sdml","tree-sitter"],"created_at":"2024-09-26T10:40:59.395Z","updated_at":"2025-03-29T06:31:27.036Z","avatar_url":"https://github.com/sdm-lang.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"#+TITLE: Rust SDML\n#+AUTHOR: Simon Johnston\n#+EMAIL: johnstonskj@gmail.com\n#+LANGUAGE: en\n#+STARTUP: overview hidestars inlineimages entitiespretty\n#+OPTIONS: author:nil created:nil creator:nil date:nil email:nil num:3 toc:nil\n\n[[https://raw.githubusercontent.com/sdm-lang/.github/main/profile/horizontal-text.svg]]\n\nRust Library and Tools for the Simple Domain Modeling Language (SDML).\n\n[[https://opensource.org/licenses/Apache-2.0][https://img.shields.io/badge/License-Apache_2.0-blue.svg]]\n[[https://github.com/johnstonskj/rust-sdml/actions/workflows/rust.yml][https://github.com/johnstonskj/rust-sdml/actions/workflows/rust.yml/badge.svg]]\n[[https://github.com/johnstonskj/rust-sdml/actions/workflows/security-audit.yml][https://github.com/johnstonskj/rust-sdml/actions/workflows/security-audit.yml/badge.svg]]\n[[https://codecov.io/gh/johnstonskj/rust-sdml][https://codecov.io/gh/johnstonskj/rust-sdml/branch/main/graph/badge.svg?token=1HGN6M4KIT]]\n[[https://github.com/johnstonskj/rust-sdml/stargazers][https://img.shields.io/github/stars/johnstonskj/rust-sdml.svg]]\n\nThis project's intent is to provide an idiomatic implementation of the in-memory model, parser, generators, and the CLI\ntool. The following figure shows the usage and relationships of the packages in this workspace.\n\n#+CAPTION: Package Organization\n#+BEGIN_EXAMPLE\n                         ╭───────╮\n                         │  CLI  │\n                    ╔══  │ crate │  ══╗\n                    ║    ╰───────╯    ║\n┌╌╌╌╌╌╌╌╌┐          V                 V\n┆        ┆       ╭───────╮       ╭──────────╮       Formatted Source\n┆ source ┆  ══\u003e  │ parse │  ══\u003e  │ generate │  ══\u003e  RDF Representation \n┆  file  ┆   ╭───│ crate │───────│   crate  │───╮   Documentation\n┆        ┆   │   ╰───────╯       ╰──────────╯   │   Diagrams\n└╌╌╌╌╌╌╌╌┘   │        core/errors crate         │\n             ╰──────────────────────────────────╯\n ┌───────┐                  ⋀\n │ other │                  ║\n │ tools │  ════════════════╝\n └───────┘\n#+END_EXAMPLE\n\nTo install the command-line tool on MacOS or Linux use the Homebrew package manager and the SDML Tap.\n\n#+BEGIN_SRC sh :exports code :eval never\n❯ brew install sdm-lang/sdml/sdml\n#+END_SRC\n\n* Packages\n** errors\n\nThis [[./sdml-errors/README.org][package]] contains the common =Error= type as well as a diagnostic set for reporting language parse and model issues.\n\n[[https://crates.io/crates/sdml-errors][https://img.shields.io/crates/v/sdml-errors.svg]]\n[[https://docs.rs/sdml-errors][https://img.shields.io/docsrs/sdml-errors.svg]]\n\n** core\n\nThis [[./sdml-core/README.org][package]] contains the in-memory model of an sdml module, the major component of the project itself. It also has\ntraits (`ModuleLoader`, `ModuleResolver`, `ModuleStore`) that are required by packages that follow.\n\n[[https://crates.io/crates/sdml_core][https://img.shields.io/crates/v/sdml_core.svg]]\n[[https://docs.rs/sdml_core][https://img.shields.io/docsrs/sdml-core.svg]]\n\n** parse\n\nThis [[./sdml-parse/README.org][package]] contains the bridge from the tree-sitter SDML library to the in-memory model in =sdml_core=.\n\n[[https://crates.io/crates/sdml_parse][https://img.shields.io/crates/v/sdml_parse.svg]]\n[[https://docs.rs/sdml_parse][https://img.shields.io/docsrs/sdml-parse.svg]]\n\n** generate\n\nThis [[./sdml-generate/README.org][package]] contains a set of tools for generating alternative representations of an in-memory module as well as\nrelated actions for the CLI.\n\n[[https://crates.io/crates/sdml_generate][https://img.shields.io/crates/v/sdml_generate.svg]]\n[[https://docs.rs/sdml_generate][https://img.shields.io/docsrs/sdml-generate.svg]]\n\n** cli\n\nThis [[./sdml-cli/README.org][package]] contains the entry-point for the command-line tool.\n\n[[https://crates.io/crates/sdml_cli][https://img.shields.io/crates/v/sdml_cli.svg]]\n\n* License\n\nThis repository, and all contents, are released under the Apache License, Version 2.0. See [[./LICENSE][LICENSE]] file\nfor details.\n\nFor information on contributing, see [[./doc/contributing.org][How to Contribute]], and the [[./doc/code_of_conduct.org][Code of Conduct]].\n\n* Changes\n\nAfter version 0.1.4 the single crate has been replaced with the four =sdml-core=, =sdml-errors=, =sdml-parse=, =sdml-generate=, and =sdml-cli=.\nEach will have it's own version history starting with *0.1.5*.\n\n*Version: 0.1.4*\n\n- Support the latest grammar\n- UML Class Diagram (initial)\n- Modeling Library modules\n\n*Version: 0.1.3*\n\n- Support the latest grammar\n\n*Version: 0.1.2*\n\n- Syntax highlighting supported\n- Support the latest grammar\n\n*Version: 0.1.1*\n\n- More drawing details\n- More command-line features\n- Support the latest grammar\n\n*Version: 0.1.0*\n\n- Initial version, limited to basic drawings\n\n* Other Links\n\n** Formatting\n\n- https://github.com/numtide/treefmt/wiki\n- https://melpa.org/#/format-all\n- https://github.com/tweag/topiary\n\n** Linting\n\n- https://github.com/github/super-linter\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsdm-lang%2Frust-sdml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsdm-lang%2Frust-sdml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsdm-lang%2Frust-sdml/lists"}