{"id":20325779,"url":"https://github.com/aboutcode-org/saneyaml","last_synced_at":"2025-07-27T01:06:15.074Z","repository":{"id":44706644,"uuid":"113056975","full_name":"aboutcode-org/saneyaml","owner":"aboutcode-org","description":"Cleaner, simpler, safer and saner YAML parsing/serialization in Python, for YAML meant to be readable first, on top of PyYAML","archived":false,"fork":false,"pushed_at":"2025-03-30T14:48:06.000Z","size":513,"stargazers_count":9,"open_issues_count":6,"forks_count":4,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-06-17T03:26:13.997Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aboutcode-org.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":"CONTRIBUTING.rst","funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.rst","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.rst","dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-12-04T15:03:07.000Z","updated_at":"2025-03-30T14:48:03.000Z","dependencies_parsed_at":"2024-08-14T06:32:41.121Z","dependency_job_id":"bec339ad-3035-4ff0-8d16-b1084f082e11","html_url":"https://github.com/aboutcode-org/saneyaml","commit_stats":null,"previous_names":["aboutcode-org/saneyaml"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/aboutcode-org/saneyaml","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aboutcode-org%2Fsaneyaml","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aboutcode-org%2Fsaneyaml/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aboutcode-org%2Fsaneyaml/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aboutcode-org%2Fsaneyaml/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aboutcode-org","download_url":"https://codeload.github.com/aboutcode-org/saneyaml/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aboutcode-org%2Fsaneyaml/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267278657,"owners_count":24063253,"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-26T02:00:08.937Z","response_time":62,"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":[],"created_at":"2024-11-14T19:41:38.817Z","updated_at":"2025-07-27T01:06:15.024Z","avatar_url":"https://github.com/aboutcode-org.png","language":"Python","readme":"========\nsaneyaml\n========\n\nThis micro library is a PyYaml wrapper with sane behaviour to read and\nwrite readable YAML safely, typically when used with configuration files.\n\nWith saneyaml you can dump readable and clean YAML and load safely any YAML\npreserving ordering and avoiding surprises of type conversions by loading\neverything except booleans as strings.\n\nOptionally you can check for duplicated map keys when loading YAML.\n\nWorks with Python 3. Requires PyYAML 5.x or higher.\n\nlicense: apache-2.0\nhomepage_url: https://github.com/aboutcode-org/saneyaml\n\nUsage::\n\n    pip install saneyaml\n\n    \u003e\u003e\u003e from  saneyaml import load\n    \u003e\u003e\u003e from  saneyaml import dump\n    \u003e\u003e\u003e a=load('''version: 3.0.0.dev6\n    ...\n    ... description: |\n    ...     AboutCode Toolkit is a tool to process ABOUT files. An ABOUT file\n    ...     provides a way to document a software component.\n    ... ''')\n    \u003e\u003e\u003e a\n    dict([\n        (u'version', u'3.0.0.dev6'),\n        (u'description', u'AboutCode Toolkit is a tool to process ABOUT files. '\n        'An ABOUT file\\nprovides a way to document a software component.\\n')])\n\n    \u003e\u003e\u003e pprint(a.items())\n    [(u'version', u'3.0.0.dev6'),\n     (u'description',\n      u'AboutCode Toolkit is a tool to process ABOUT files. An ABOUT file\\nprovides a way to document a software component.\\n')]\n    \u003e\u003e\u003e print(dump(a))\n    version: 3.0.0.dev6\n    description: |\n      AboutCode Toolkit is a tool to process ABOUT files. An ABOUT file\n      provides a way to document a software component.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faboutcode-org%2Fsaneyaml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faboutcode-org%2Fsaneyaml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faboutcode-org%2Fsaneyaml/lists"}