{"id":31946435,"url":"https://github.com/stariongroup/uml4net","last_synced_at":"2026-02-08T20:20:39.333Z","repository":{"id":38011397,"uuid":"172515155","full_name":"STARIONGROUP/uml4net","owner":"STARIONGROUP","description":"C# library to read UML version 2.5.1 models","archived":false,"fork":false,"pushed_at":"2025-09-17T08:28:42.000Z","size":60720,"stargazers_count":5,"open_issues_count":10,"forks_count":3,"subscribers_count":1,"default_branch":"development","last_synced_at":"2025-10-06T23:18:18.036Z","etag":null,"topics":["modeltopia","uml"],"latest_commit_sha":null,"homepage":"","language":"C#","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/STARIONGROUP.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-02-25T13:52:58.000Z","updated_at":"2025-09-02T09:01:29.000Z","dependencies_parsed_at":"2025-08-26T19:35:18.293Z","dependency_job_id":"fbf1a631-6b45-4653-bf4f-d114f9c11e50","html_url":"https://github.com/STARIONGROUP/uml4net","commit_stats":null,"previous_names":["stariongroup/uml4net"],"tags_count":25,"template":false,"template_full_name":null,"purl":"pkg:github/STARIONGROUP/uml4net","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/STARIONGROUP%2Fuml4net","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/STARIONGROUP%2Fuml4net/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/STARIONGROUP%2Fuml4net/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/STARIONGROUP%2Fuml4net/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/STARIONGROUP","download_url":"https://codeload.github.com/STARIONGROUP/uml4net/tar.gz/refs/heads/development","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/STARIONGROUP%2Fuml4net/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279019103,"owners_count":26086513,"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","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["modeltopia","uml"],"created_at":"2025-10-14T11:16:22.840Z","updated_at":"2026-01-23T14:02:36.998Z","avatar_url":"https://github.com/STARIONGROUP.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"![uml4net](https://raw.githubusercontent.com/STARIONGROUP/uml4net/master/uml4net-logo.png)\n\n# Introduction\n\nUml4net is a suite of dotnet core libraries and tools that are used to deserialize (read) a UML version 2.5.1 model in XMI form. Uml4net is typically used to support opinionated template based code-generation and is a part of `modeltopia`. Uml4net porivdes a number of libraries that are described in the following sections.\n\n## uml4net\n\nThe core library that contains all the class definitions as they appear in the UML 2.5.1 specification. Together with uml4net.xmi it provides the capability to to read UML models and make them available as an in-memory object graph.\n\n## uml4net.Extensions\n\nThe **uml4net.Extensions** library provides extensions methods to the uml4net library to support code generation. This library is part of the uml4net ecosystem.\n\n## uml4net.xmi\n\nThe **uml4net.xmi** library provides an XMI reader implementation to read UML XMI model files.\n\n\u003e To learn more about how to read an UML model, read about it [here](https://github.com/STARIONGROUP/uml4net/wiki/uml4net.xmi.project)\n\n## uml4net.xmi.Extensions.EnterpriseArchitect\n\nThe **uml4net.xmi.Extensions.EnterpriseArchitect** library is a specific XMI Reader extension to support Enterprise Architect XMI reading.\n\n## uml4net.HandleBars\n\nThe **uml4net.HandleBars** library provides [HandleBars](https://github.com/Handlebars-Net/Handlebars.Net) helpers to support code generation. This library is part of the uml4net ecosystem.\n\n## uml4net.Reporting\n\nThe **uml4net.Reporting** library contains reporting generators. This library is part of the uml4net ecosystem.\n\n## uml4net.Tools\n\nThe **uml4net.Tools** commandline application is used to generate reports on the content of the UML model. Find the documentation [here](https://github.com/STARIONGROUP/uml4net/wiki/uml4net.Tools).\n\n# Code Quality\n\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=STARIONGROUP_uml4net\u0026metric=alert_status)](https://sonarcloud.io/summary/new_code?id=STARIONGROUP_uml4net)\n[![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=STARIONGROUP_uml4net\u0026metric=code_smells)](https://sonarcloud.io/summary/new_code?id=STARIONGROUP_uml4net)\n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=STARIONGROUP_uml4net\u0026metric=coverage)](https://sonarcloud.io/summary/new_code?id=STARIONGROUP_uml4net)\n[![Duplicated Lines (%)](https://sonarcloud.io/api/project_badges/measure?project=STARIONGROUP_uml4net\u0026metric=duplicated_lines_density)](https://sonarcloud.io/summary/new_code?id=STARIONGROUP_uml4net)\n[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=STARIONGROUP_uml4net\u0026metric=ncloc)](https://sonarcloud.io/summary/new_code?id=STARIONGROUP_uml4net)\n[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=STARIONGROUP_uml4net\u0026metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=STARIONGROUP_uml4net)\n[![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=STARIONGROUP_uml4net\u0026metric=reliability_rating)](https://sonarcloud.io/summary/new_code?id=STARIONGROUP_uml4net)\n[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=STARIONGROUP_uml4net\u0026metric=security_rating)](https://sonarcloud.io/summary/new_code?id=STARIONGROUP_uml4net)\n[![Technical Debt](https://sonarcloud.io/api/project_badges/measure?project=STARIONGROUP_uml4net\u0026metric=sqale_index)](https://sonarcloud.io/summary/new_code?id=STARIONGROUP_uml4net)\n[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=STARIONGROUP_uml4net\u0026metric=vulnerabilities)](https://sonarcloud.io/summary/new_code?id=STARIONGROUP_uml4net)\n\n# Installation\n\nThe package are available on Nuget at:\n\n  - [uml4net](https://www.nuget.org/packages/uml4net): ![NuGet Version](https://img.shields.io/nuget/v/uml4net)\n  - [uml4net.Extensions](https://www.nuget.org/packages/uml4net.Extensions): ![NuGet Version](https://img.shields.io/nuget/v/uml4net.Extensions)\n  - [uml4net.xmi](https://www.nuget.org/packages/uml4net.xmi): ![NuGet Version](https://img.shields.io/nuget/v/uml4net.xmi)\n  - [uml4net.HandleBars](https://www.nuget.org/packages/uml4net.HandleBars): ![NuGet Version](https://img.shields.io/nuget/v/uml4net.HandleBars)\n  - [uml4net.Reporting](https://www.nuget.org/packages/uml4net.Reporting): ![NuGet Version](https://img.shields.io/nuget/v/uml4net.Reporting)\n  - [uml4net.Tools](https://www.nuget.org/packages/uml4net.Tools): ![NuGet Version](https://img.shields.io/nuget/v/uml4net.Tools)\n  - [uml4net.xmi.Extensions.EnterpriseArchitect](https://www.nuget.org/packages/uml4net.xmi.Extensions.EnterpriseArchitect): ![NuGet Version](https://img.shields.io/nuget/v/uml4net.xmi.Extensions.EnterpriseArchitect)\n\n# Reading a UML model\n\nReading a UML model is straightforward and is done using the an `IXmiReader`. An instance of `IXmiReader` is created using the `XmiReaderBuilder`. Once the reader is available, point it to a UML model you want to read and you're of to the races:\n\n```\nvar reader = XmiReaderBuilder.Create()\n    .Build();\n\nvar xmiReaderResult = reader.Read(\"path-to-your-model\");\n\nvar rootPackage = xmiReaderResult.QueryRoot(\"\u003cxmi:id-of-the-root-package-you-are-interested-in\u003e\");\n\n```\n\nThe `IXmiReader` can be configured with an `IXmiReaderSettings`, read more about reading an XMI document [here](https://github.com/STARIONGROUP/uml4net/wiki/uml4net.xmi.project)\n\nThe `IXmiReader` is able to read and process **StereoTypes** as they are applied to UML model elements. Read more about that [here](https://github.com/STARIONGROUP/uml4net/wiki/ProfilesAndStereoTypes)\n\n# Build Status\n\nGitHub actions are used to build and test the uml4net libraries\n\nBranch | Build Status\n------- | :------------\nMaster | ![Build Status](https://github.com/STARIONGROUP/uml4net/actions/workflows/CodeQuality.yml/badge.svg?branch=master)\nDevelopment | ![Build Status](https://github.com/STARIONGROUP/uml4net/actions/workflows/CodeQuality.yml/badge.svg?branch=development)\n\n# UML Documentation\n\nThe Object Management Group (OMG) is an international technology standards consortium. It was founded in 1989 with the goal of creating and maintaining vendor-neutral, interoperable, and portable standards for distributed computing. UML is one of the standards provided by OMG at http://www.omg.org/spec/UML/\n\n# Software Bill of Materials (SBOM)\n\nAs part of our commitment to security and transparency, this project includes a Software Bill of Materials (SBOM) in the associated NuGet packages. The SBOM provides a detailed inventory of the components and dependencies included in the package, allowing you to track and verify the software components, their licenses, and versions.\n\n**Why SBOM?**\n\n- **Improved Transparency**: Gain insight into the open-source and third-party components included in this package.\n- **Security Assurance**: By providing an SBOM, we enable users to more easily track vulnerabilities associated with the included components.\n- **Compliance**: SBOMs help ensure compliance with licensing requirements and make it easier to audit the project's dependencies.\n\nYou can find the SBOM in the NuGet package itself, which is automatically generated and embedded during the build process.\n\n# License\n\nThe uml4net libraries are provided to the community under the Apache License 2.0.\n\n# Contributions\n\nContributions to the code-base are welcome. However, before we can accept your contributions we ask any contributor to sign the Contributor License Agreement (CLA) and send this digitaly signed to s.gerene@stariongroup.eu. You can find the CLA's in the CLA folder.\n\n[Contribution guidelines for this project](.github/CONTRIBUTING.md)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstariongroup%2Fuml4net","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstariongroup%2Fuml4net","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstariongroup%2Fuml4net/lists"}