{"id":22628006,"url":"https://github.com/wf001/fconv","last_synced_at":"2026-04-13T21:31:34.017Z","repository":{"id":63612502,"uuid":"559169497","full_name":"wf001/fconv","owner":"wf001","description":"command-line utility and library for converting between multiple file formats","archived":false,"fork":false,"pushed_at":"2023-01-11T06:33:49.000Z","size":101,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-03-29T16:55:41.644Z","etag":null,"topics":["command-line","converter","json","python","toml","utility","xml","yaml"],"latest_commit_sha":null,"homepage":"","language":"Python","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/wf001.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-10-29T09:19:47.000Z","updated_at":"2023-01-04T09:53:25.000Z","dependencies_parsed_at":"2023-02-09T02:01:28.570Z","dependency_job_id":null,"html_url":"https://github.com/wf001/fconv","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/wf001/fconv","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wf001%2Ffconv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wf001%2Ffconv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wf001%2Ffconv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wf001%2Ffconv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wf001","download_url":"https://codeload.github.com/wf001/fconv/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wf001%2Ffconv/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31771805,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T20:17:16.280Z","status":"ssl_error","status_checked_at":"2026-04-13T20:17:08.216Z","response_time":93,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["command-line","converter","json","python","toml","utility","xml","yaml"],"created_at":"2024-12-09T01:17:20.146Z","updated_at":"2026-04-13T21:31:33.987Z","avatar_url":"https://github.com/wf001.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n![](https://drive.google.com/uc?export=view\u0026id=1qFjfwcWq-C5AY16V916zyz2eYmioWmWX)\n\n# fconv\n\n![GitHub](https://img.shields.io/github/license/wf001/fconv)\n![Github](https://img.shields.io/static/v1?label=fconv\u0026message=for%20Terminal\u0026color=FA9BFA)\n![GitHub release (latest by date)](https://img.shields.io/pypi/v/fconv)\n![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/wf001/fconv/python.yaml?branch=master)\n![PyPI version](https://img.shields.io/pypi/pyversions/fconv)\n[![codecov](https://codecov.io/gh/wf001/fconv/branch/master/graph/badge.svg?token=2WQLCPD4AJ)](https://codecov.io/gh/wf001/fconv)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/7a703111e4ec4ccd81b1e6ce67f8b335)](https://www.codacy.com/gh/wf001/fconv/dashboard?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=wf001/fconv\u0026amp;utm_campaign=Badge_Grade)\n![Github](https://img.shields.io/static/v1?label=code%20style\u0026message=black\u0026color=222222)\n\n\nfconv is a Command-Line utility and library for converting between multiple file formats such as JSON, YAML.\n\n## Getting started\n```\npip install fconv\n```\n\n```\n$ fconv --v\nfconv: vx.x.x\n```\n\n## Features\n- Convert a format into other format\n\n- Supported format \n\t- JSON\n\t- YAML\n\t- TOML\n\t- XML\n\n- To be supported\n\t- INI\n\t- JSON5\n\n- You can use fconv as command-line tool and Python module.\n\n- Using fconv as a module, String and file are available as input or output.\n\n- Using fconv as CLI tool, only file is available as input and String and file are available as output.\n\nThe options available in the CLI version are different from those available in the module version.\n\nTo know which options are available,\n\nSee [SPEC.md](https://github.com/wf001/fconv/blob/master/SPEC.md):\n\n## Example\n### Use as a module\n```\n\u003e\u003e\u003e from fconv.core import Former\n\u003e\u003e\u003e from fconv.formats.json import Json\n\u003e\u003e\u003e from fconv.formats.yaml import Yaml\n\u003e\u003e\u003e f = Former(src_format=Json, target_format=Yaml)\n\n\u003e\u003e\u003e f.form('{\"key1\":\"value1\"}')\n'key1: value1\\\\n'\n\n\u003e\u003e\u003e f = Former(src_format=Yaml, target_format=Json, out_opt={'indent':3})\n\u003e\u003e\u003e f.form('key1: value1\\\\n')\n'{\\\\n   \"key1\": \"value1\"\\\\n}'\n```\n\n### Use as a command-line tool\nBasic usage\n```\nfconv \u003csource format\u003e \u003ctarget format\u003e -i \u003csource file name\u003e\n```\n\nConvert json file into yaml and print out\n```\nfconv json yaml -i sample.json\n```\n\nConvert yaml file into json formated file\n```\nfconv yaml json -i sample.yaml -o result.json\n```\n\nConvert yaml file into json formated file with json indent option\n```\nfconv yaml json -i sample.yaml -o result.json --json-indent 2\n```\n\n```\n$ fconv -h\nusage: fconv [-h] -i I [--v] [--debug] [-o O] [--json-float-as-int]\n             [--json-float-as-str] [--json-int-as-float] [--json-int-as-str]\n             [--json-skip-keys] [--json-ignore-check-circular]\n             [--json-disallow-nan] [--json-indent JSON_INDENT]\n             [--json-sort-keys] [--yaml-explicit-start] [--yaml-explicit-end]\n             [--yaml-indent YAML_INDENT] [--xml-process-namespaces]\n             [--xml-process-comments] [--xml-particle-document]\n             [--xml-disable-pretty]\n             source-format target-format\n\nConverter between multiple open-standard file formats.\n\npositional arguments:\n  source-format         data format converting from\n  target-format         data format converting to\n\noptions:\n  -h, --help            show this help message and exit\n  -i I                  (Required) a file converting from\n  --v                   print version number and exit\n  --debug               print more information\n  -o O                  a file converting to\n  --json-float-as-int   JSON float to be decoded with int\n  --json-float-as-str   JSON float to be decoded with string\n  --json-int-as-float   JSON int to be decoded with float\n  --json-int-as-str     JSON int to be decoded with string\n  --json-skip-keys      keys that are not of a basic type (str, int, float,\n                        bool, None) will be skipped\n  --json-ignore-check-circular\n                        the circular reference check for container types will\n                        be skipped\n  --json-disallow-nan   disallow to serialize out of range float values (nan,\n                        inf, -inf) in strict compliance of the JSON\n                        specification.\n  --json-indent JSON_INDENT\n                        JSON array elements and object members will be pretty-\n                        printed with that indent level.\n  --json-sort-keys      the output of dictionaries will be sorted by key.\n  --yaml-explicit-start\n                        add explicit start marker(See also\n                        https://yaml.org/spec/1.2.2/#914-explicit-documents)\n  --yaml-explicit-end   add explicit end marker(See also\n                        https://yaml.org/spec/1.2.2/#914-explicit-documents)\n  --yaml-indent YAML_INDENT\n                        YAML array elements and object members will be pretty-\n                        printed with that indent level.\n  --xml-process-namespaces\n                        enable namespace support(See more info at\n                        https://github.com/martinblech/xmltodict#namespace-\n                        support)\n  --xml-process-comments\n                        treat comments directives as an attribute\n  --xml-particle-document\n                        disable to add document root attribute\n  --xml-disable-pretty  disable XML document to be pretty-printed with indent\n\n```\n\n## Contribution\nHave a look through existing Issues and Pull Requests that you could help with. If you'd like to request a feature or report a bug, please create a GitHub Issue using one of the templates provided. Any kind of contribution and suggestions are highly appreciated!\n\n[See contribution guide-\u003e](https://github.com/wf001/fconv/blob/master/CONTRIBUTING.md)\n\n\n### License\nLicensed under the MIT License.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwf001%2Ffconv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwf001%2Ffconv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwf001%2Ffconv/lists"}