{"id":31946468,"url":"https://github.com/stariongroup/deh-csv","last_synced_at":"2025-10-14T11:16:50.287Z","repository":{"id":186549159,"uuid":"675242740","full_name":"STARIONGROUP/DEH-CSV","owner":"STARIONGROUP","description":"A library that converts ECSS-E-TM-10-25 datasets into CSV","archived":false,"fork":false,"pushed_at":"2025-02-06T17:40:18.000Z","size":527,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"development","last_synced_at":"2025-09-24T09:57:49.395Z","etag":null,"topics":["csv","ecss-e-tm-10-25","mbse","modeltopia"],"latest_commit_sha":null,"homepage":"https://www.stariongroup.eu","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":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-08-06T09:11:33.000Z","updated_at":"2025-02-06T17:36:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"4d179c2f-9b8b-479a-9ee0-dea0ba7aa684","html_url":"https://github.com/STARIONGROUP/DEH-CSV","commit_stats":null,"previous_names":["rheagroup/deh-csv","stariongroup/deh-csv"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/STARIONGROUP/DEH-CSV","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/STARIONGROUP%2FDEH-CSV","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/STARIONGROUP%2FDEH-CSV/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/STARIONGROUP%2FDEH-CSV/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/STARIONGROUP%2FDEH-CSV/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/STARIONGROUP","download_url":"https://codeload.github.com/STARIONGROUP/DEH-CSV/tar.gz/refs/heads/development","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/STARIONGROUP%2FDEH-CSV/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":["csv","ecss-e-tm-10-25","mbse","modeltopia"],"created_at":"2025-10-14T11:16:47.847Z","updated_at":"2025-10-14T11:16:50.282Z","avatar_url":"https://github.com/STARIONGROUP.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DEH-CSV\n\nThe Digital Engineering Hub CSV **DEH-CSV** library is used to convert an ECSS-E-TM-10-25 data set into a CSV files.\n\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=STARIONGROUP_DEH-CSV\u0026metric=alert_status)](https://sonarcloud.io/summary/new_code?id=STARIONGROUP_DEH-CSV)\n[![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=STARIONGROUP_DEH-CSV\u0026metric=code_smells)](https://sonarcloud.io/summary/new_code?id=STARIONGROUP_DEH-CSV)\n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=STARIONGROUP_DEH-CSV\u0026metric=coverage)](https://sonarcloud.io/summary/new_code?id=STARIONGROUP_DEH-CSV)\n[![Duplicated Lines (%)](https://sonarcloud.io/api/project_badges/measure?project=STARIONGROUP_DEH-CSV\u0026metric=duplicated_lines_density)](https://sonarcloud.io/summary/new_code?id=STARIONGROUP_DEH-CSV)\n[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=STARIONGROUP_DEH-CSV\u0026metric=ncloc)](https://sonarcloud.io/summary/new_code?id=STARIONGROUP_DEH-CSV)\n[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=STARIONGROUP_DEH-CSV\u0026metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=STARIONGROUP_DEH-CSV)\n[![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=STARIONGROUP_DEH-CSV\u0026metric=reliability_rating)](https://sonarcloud.io/summary/new_code?id=STARIONGROUP_DEH-CSV)\n[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=STARIONGROUP_DEH-CSV\u0026metric=security_rating)](https://sonarcloud.io/summary/new_code?id=STARIONGROUP_DEH-CSV)\n[![Technical Debt](https://sonarcloud.io/api/project_badges/measure?project=STARIONGROUP_DEH-CSV\u0026metric=sqale_index)](https://sonarcloud.io/summary/new_code?id=STARIONGROUP_DEH-CSV)\n[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=STARIONGROUP_DEH-CSV\u0026metric=vulnerabilities)](https://sonarcloud.io/summary/new_code?id=STARIONGROUP_DEH-CSV)\n\n## Installation\n\nThe packages are available on Nuget at https://www.nuget.org/packages/DEH-CSV/\n\n[![NuGet Badge](https://buildstats.info/nuget/DEH-CSV)](https://buildstats.info/nuget/DEH-CSV)\n\n## Quickstart\n\n  1. Install the nuget package into your project or solution. \n  \n### Write\n\n  1. Add a mapping file that states how the properties of an ECSS-E-TM-10-25 [Thing](https://comet-dev-docs.mbsehub.org/) needs to be mapped to fields in a CSV file.\n  1. Use the [ICsvWriter](https://github.com/STARIONGROUP/DEH-CSV/blob/master/DEH-CSV/ICsvWriter.cs) interface and/or the [CsvWriter](https://github.com/STARIONGROUP/DEH-CSV/blob/master/DEH-CSV/CsvWriter.cs) class.\n\nThe `ICsvWriter` interface exposes only one method: **write**.\n\n```\n public void Write(Iteration iteration, bool includeNestedElements, IEnumerable\u003cTypeMap\u003e maps, DirectoryInfo target, object options);\n```\n\n  - iteration: Proive an `Iteration` instance that provides access to all the `Thing`s that need to be exported, this includes the container `EngineeringMoedel` and the `SiteDirectory`. \n  - includeNestedElements: A value that indicates whether a volatile nested element tree needs to be generated for each `Option` in the provided `Iteration` and added to the `Thing` instances for which CSVs are to be written.\n  - maps:  a collection of `TypeMap`s that contain the configuration of how a certain kind of `Thing` is to be mapped to fields in a CSV file.\n  - target: the target directory where the CSV files are to be generated.\n  - options: any kind of `object` that can contain configuration information (this is igonred by the standard implementation but can be used when a derived CsvWriter is created where the `Write` method is overriden).\n\n### Read\n\n  1. Add a mapping file that states of a CSV file needs to be mapped to the properties of an ECSS-E-TM-10-25 [Thing](https://comet-dev-docs.mbsehub.org/)\n  1. Add the corresponding CSV file that needs to be processed\n  1. Use the [ICsvReader](https://github.com/STARIONGROUP/DEH-CSV/blob/development/DEH-CSV/ICsvReader.cs) interface and/or the [CsvReader](https://github.com/STARIONGROUP/DEH-CSV/blob/development/DEH-CSV/CsvReader.cs) class.\n\n The `ICsvReader` interface exposes only one method: **read**.\n\n```\n public Task\u003cIEnumerable\u003cThing\u003e\u003e Read(Stream stream, IReadOnlyCollection\u003cTypeMap\u003e typeMaps, ISession session);\n```\n  \n  - stream: The `Stream` that contains CSV content\n  - typeMaps: The collection of `TypeMap`s\n  - session: The `ISession` that helps to retrieve `Thing`\n  - returns: A `Task` that contains a collection of mapped `Thing`s\n\n After the read is done, all mapped `Thing`s can be written to the `Isession` by adding them to the correct TopContainer. A manual action will need to be done there, unless a `TypeMap` is created to perform that action.\n\n## Build Status\n\nGitHub actions are used to build and test the libraries\n\nBranch | Build Status\n------- | :------------\nMaster | ![Build Status](https://github.com/STARIONGROUP/DEH-CSV/actions/workflows/CodeQuality.yml/badge.svg?branch=master)\nDevelopment | ![Build Status](https://github.com/STARIONGROUP/DEH-CSV/actions/workflows/CodeQuality.yml/badge.svg?branch=development)\n\n# License\n\nThe DEH-CSV libraries are provided to the community under the Apache License 2.0.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstariongroup%2Fdeh-csv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstariongroup%2Fdeh-csv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstariongroup%2Fdeh-csv/lists"}