{"id":15731737,"url":"https://github.com/flyx/nimyaml","last_synced_at":"2025-04-12T21:19:23.555Z","repository":{"id":39954021,"uuid":"48759344","full_name":"flyx/NimYAML","owner":"flyx","description":"YAML implementation for Nim","archived":false,"fork":false,"pushed_at":"2025-02-22T13:15:47.000Z","size":1418,"stargazers_count":194,"open_issues_count":5,"forks_count":36,"subscribers_count":9,"default_branch":"devel","last_synced_at":"2025-04-04T00:24:25.270Z","etag":null,"topics":["nim","serialization","yaml"],"latest_commit_sha":null,"homepage":"https://nimyaml.org","language":"Nim","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flyx.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"copying.txt","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},"funding":{"github":"flyx"}},"created_at":"2015-12-29T17:35:54.000Z","updated_at":"2025-03-30T16:06:24.000Z","dependencies_parsed_at":"2024-01-06T11:49:38.806Z","dependency_job_id":"997e4ccb-c9d5-4ebf-94be-ac454744daa4","html_url":"https://github.com/flyx/NimYAML","commit_stats":{"total_commits":536,"total_committers":24,"mean_commits":"22.333333333333332","dds":"0.15858208955223885","last_synced_commit":"7721c955b522f4893265bb36a6de4f8edef8b54b"},"previous_names":[],"tags_count":32,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyx%2FNimYAML","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyx%2FNimYAML/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyx%2FNimYAML/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyx%2FNimYAML/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flyx","download_url":"https://codeload.github.com/flyx/NimYAML/tar.gz/refs/heads/devel","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248631969,"owners_count":21136599,"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":["nim","serialization","yaml"],"created_at":"2024-10-04T00:04:53.005Z","updated_at":"2025-04-12T21:19:23.535Z","avatar_url":"https://github.com/flyx.png","language":"Nim","funding_links":["https://github.com/sponsors/flyx"],"categories":[],"sub_categories":[],"readme":"# NimYAML - YAML implementation for Nim\n\n![Test Status](https://github.com/flyx/NimYAML/actions/workflows/action.yml/badge.svg)\n\nNimYAML is a pure Nim YAML implementation without any dependencies other than\nNim's standard library. It enables you to serialize Nim objects to a YAML stream\nand back. It also provides a low-level event-based API.\n\nDocumentation, examples and an online demo are available [here][1]. Releases are\navailable as tags in this repository and can be fetched via nimble:\n\n    nimble install yaml\n\n## Status\n\nThis library is stable.\nNimYAML passes all tests of the current [YAML 1.2 test suite][4].\nThis project follows [SemVer][5].\n\nI am committed to maintaining the library, but will seldom introduce new features.\nPRs are welcome.\n\n## Dependencies\n\nNimYAML requires Nim 2.0.0 or later.\nThe last version supporting Nim 1.6.x is `v1.1.0`.\nUse this in your `.nimble` file if you haven't migrated to Nim 2.x yet:\n\n```nim\nrequires \"yaml ^= 1.1.0\"\n```\n\n## Missing Features\n\nBe aware that serialization currently doesn't support the following features in types that are used for loading and dumping:\n\n * Polymorphism: If a field has a type `ref Parent`, you cannot load a `ref Child` into it.\n * Generic objects: The code auto-generating loading and dumping functions currently cannot process instances of generic objects anywhere in the type you want to load/dump.\n * Default values: NimYAML uses its own `{.defaultVal: \"foo\".}` pragma.\n   It currently cannot process default values introduced in Nim 2.0.\n\n## Developers\n\nNix users can `nix develop` to get a devshell with the required Nim version. You'll need to have Flakes enabled.\n\n```bash\nnim test # runs all tests\nnim lexerTests # run lexer tests\nnim parserTests # run parser tests (git-clones yaml-dev-kit)\nnim nativeTests # runs native value tests\nnim quickstartTests # run tests for quickstart snippets from documentation\nnim clean # guess\nnim build # build a library\n```\n\nWhen debugging crashes in this library, use the `d:debug` compile flag to enable printing of the internal stack traces for calls to `internalError` and `yAssert`.\n\n### Web Documentation\n\nThe online documentation on [nimyaml.org][1], including the\ntesting ground, is generated via [Nix Flake][3].\n\nYou can build \u0026 run the docs server at via\n\n```bash\nnix run .#webdocs\n```\n\nIt can be deployed to NixOS by importing the Flake's NixOS module and then doing\n\n```nix\nservices.nimyaml-webdocs.enable = true;\n```\n\nThis will run the documentation server locally at `127.0.0.1:5000`.\nSince there isn't much of a use-case for third parties to host this documentation, there is no support for running the server without Nix.\n\n## License\n\n[MIT][2]\n\n## Support this Project\n\nIf you want to support this project financially, there's a GitHub Sponsor button to the right.\n\n [1]: https://nimyaml.org\n [2]: copying.txt\n [3]: https://nixos.wiki/wiki/Flakes\n [4]: https://github.com/yaml/yaml-test-suite\n [5]: https://semver.org\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflyx%2Fnimyaml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflyx%2Fnimyaml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflyx%2Fnimyaml/lists"}