{"id":27223929,"url":"https://github.com/automatonic/text-kdl","last_synced_at":"2025-08-02T02:34:01.946Z","repository":{"id":268922829,"uuid":"905536853","full_name":"automatonic/text-kdl","owner":"automatonic","description":"Support for KDL in the style of the System.Text.Json library for dotnet C#/CLI ","archived":false,"fork":false,"pushed_at":"2025-07-17T18:49:24.000Z","size":2059,"stargazers_count":2,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-17T20:24:27.199Z","etag":null,"topics":["assembly","csharp","dom","kdl","parser","reader","writer"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/automatonic.png","metadata":{"files":{"readme":"README.md","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,"zenodo":null}},"created_at":"2024-12-19T03:10:44.000Z","updated_at":"2025-07-17T18:49:27.000Z","dependencies_parsed_at":"2025-02-15T19:43:37.271Z","dependency_job_id":"ba5060ff-808b-4107-8bfd-e536ad38a247","html_url":"https://github.com/automatonic/text-kdl","commit_stats":null,"previous_names":["el2iot2/kdl","el2iot2/system-text-kdl"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/automatonic/text-kdl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/automatonic%2Ftext-kdl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/automatonic%2Ftext-kdl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/automatonic%2Ftext-kdl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/automatonic%2Ftext-kdl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/automatonic","download_url":"https://codeload.github.com/automatonic/text-kdl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/automatonic%2Ftext-kdl/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266436718,"owners_count":23928170,"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-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":["assembly","csharp","dom","kdl","parser","reader","writer"],"created_at":"2025-04-10T09:59:20.632Z","updated_at":"2025-08-02T02:34:01.901Z","avatar_url":"https://github.com/automatonic.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Automatonic.Text.Kdl\nC# support for [KDL](https://kdl.dev) in the style of the [System.Text.Json](https://learn.microsoft.com/en-us/dotnet/standard/serialization/system-text-json/how-to) library.\n\n\u003e This is a goal / passion project for [me](https://github.com/el2iot2) personally. I will be using it\n\u003e as a self-directed exercise to expand my skills with several key SDKs in modern\n\u003e C# and to \"scratch the itch\" of supporting/implementing a configuration language that I find interesting / compelling. I want to:\n\u003e - Compare and contrast `NewtonSoft.Json` (with which I am very familiar) to `System.Text.Json` for posterity and performance\n\u003e - Use the resulting knowledge of low allocation span-based parsers to create `Automatonic.Text.Kdl` primitives\n\u003e - Build out additional features as relevant/appropriate\n\n# Must Have\n- `KdlReader` - Fast forward-only parser/reader (analogous to `Utf8JsonReader`)\n- Full spec compatibility (KDL 2.0) verified via unit test converage and the the well-defined test cases\n- NuGet Package for easy / safe consumption\n- `KdlWriter` - Low-level primitive writer (analogous to `Utf8JsonWriter`)\n\n# Should Have\n- `KdlDocument` - In memory DOM for random access (analogous to `JsonDocument`)\n- `KdlSerializer` - Tool for serializing/deserializing KDL to/from objects in memory (analogous to `JsonConvert` in NewtonSoft, or `JsonSerializer` in System.Text.Json)\n\n# May Have (especially if prioritized by sponsorship)\n- KDL css-like style selectors implementation using `KdlReader` for efficient results\n- Linq to objects style support (c.f. `JObject`, etc)\n- Reflection based serialization (c.f. `NewtonSoft.Json`, `System.Text.Json`)\n- Helper types and routines to bind KDL to asp.net core as a supported/bindable content-type?\n- Generation based serialization (c.f. `System.Text.Json`)\n\n# Will Not Have (without explicit sponsorship)\n- **Strict Support for KDL 1.0.** KDL 2.0 supercedes in every descernable way and supports much of what KDL 1.0 documents would have express.\n- **Assumptions about the platform consuming this assembly.** Should work wherever dotnet core does.\n- **Backwards compatibility** for older .NET or older .NET core. I will be simplifying by starting with dotnet 9.0 and beyond. Even a .net standard implementation seems to be no longer strictly necessary moving forward (in my reading).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fautomatonic%2Ftext-kdl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fautomatonic%2Ftext-kdl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fautomatonic%2Ftext-kdl/lists"}