{"id":16949954,"url":"https://github.com/tailhook/debian-coyaml","last_synced_at":"2025-03-21T10:20:35.646Z","repository":{"id":4181606,"uuid":"5298450","full_name":"tailhook/debian-coyaml","owner":"tailhook","description":"Debian packaging for coyaml","archived":false,"fork":false,"pushed_at":"2012-08-04T20:30:19.000Z","size":220,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-26T06:43:19.245Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/tailhook.png","metadata":{"files":{"readme":"README.markdown","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}},"created_at":"2012-08-04T20:27:46.000Z","updated_at":"2013-12-11T01:39:57.000Z","dependencies_parsed_at":"2022-07-20T08:32:24.760Z","dependency_job_id":null,"html_url":"https://github.com/tailhook/debian-coyaml","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tailhook%2Fdebian-coyaml","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tailhook%2Fdebian-coyaml/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tailhook%2Fdebian-coyaml/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tailhook%2Fdebian-coyaml/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tailhook","download_url":"https://codeload.github.com/tailhook/debian-coyaml/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244776342,"owners_count":20508507,"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":[],"created_at":"2024-10-13T21:56:28.639Z","updated_at":"2025-03-21T10:20:35.618Z","avatar_url":"https://github.com/tailhook.png","language":"C","readme":"CoYaml\n------\n\nCoYaml is a parser generator for configuration files.\n\nParsing configuration files is uneasy work. There are a lot of configuration\nfile parsers, but syntax of most of them is ugly. Also all parsers I have seen\nbefore, require you fetch every option from configuration library and copy it to\nyou own structure. Also it's not easy to make reusable parts for configuration\nfile (they have only scalar variables usually). So...\n\n * We use [YAML] for configuration files (via [libyaml])\n * We generate C structure, already typed appropriately, for your config\n * Command-line parser is generated automatically (command-line overrides\n    configuration file options)\n * We use YAML config, to configure parser itself. So you decide the\n    types of options, constraints, and command-line argument names\n * That configuration is also used to generate one of three types of sample\n    config (full-blown with comments, minimal, and all defaults)\n * Code, to print runtime configuration (including command-line overrides)\n    is also made\n * YAML has rich set of data types (arrays, mappings) which we use to make\n    config useful (compare it with old `.ini` files)\n * We use YAML-builtin anchors to make reusable parts\n * We have extended YAML with runtime variables, substring substitution\n    (and WILL implement some simple mathematical expressions)\n\nAll this to meet the following goals:\n\n * Embed configuration in your own application with ease\n * Add each option only in one place\n * Document it just as easy as adding\n\n[YAML]: http://yaml.org\n[libyaml]: http://pyyaml.org/wiki/LibYAML\n\nRequirements\n------------\n * libyaml (-dev)\n * python3\n\nBuild Instructions\n------------------\n\nBuild process is done with waf (if your default python is python3)::\n\n    ./waf configure --prefix=/usr\n    ./waf build\n    sudo ./waf install\n\nIf you have another python as default one you need the following::\n\n    PYTHON=python3 python3 ./waf configure --prefix=/usr\n    python3 ./waf build\n    sudo python3 ./waf install\n\n(the first line tells waf to use ``python3`` as the internal build tool\ncalled ``PYTHON``, and other ``python3`` prefixes are for running\nwaf itself with correct version of python)","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftailhook%2Fdebian-coyaml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftailhook%2Fdebian-coyaml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftailhook%2Fdebian-coyaml/lists"}