{"id":23772969,"url":"https://github.com/dyfanjones/inih","last_synced_at":"2026-05-09T09:42:56.404Z","repository":{"id":270476204,"uuid":"910482566","full_name":"DyfanJones/inih","owner":"DyfanJones","description":"Rcpp Bindings to C libray inih (https://github.com/benhoyt/inih) for ini files","archived":false,"fork":false,"pushed_at":"2024-12-31T13:02:09.000Z","size":92,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-21T05:15:34.813Z","etag":null,"topics":["cpp","ini","r"],"latest_commit_sha":null,"homepage":"https://dyfanjones.r-universe.dev/inih","language":"C","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/DyfanJones.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","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}},"created_at":"2024-12-31T11:53:28.000Z","updated_at":"2024-12-31T13:10:16.000Z","dependencies_parsed_at":"2024-12-31T17:57:05.609Z","dependency_job_id":null,"html_url":"https://github.com/DyfanJones/inih","commit_stats":null,"previous_names":["dyfanjones/inih"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DyfanJones%2Finih","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DyfanJones%2Finih/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DyfanJones%2Finih/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DyfanJones%2Finih/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DyfanJones","download_url":"https://codeload.github.com/DyfanJones/inih/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239958308,"owners_count":19724926,"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":["cpp","ini","r"],"created_at":"2025-01-01T05:21:35.830Z","updated_at":"2026-04-02T08:30:16.186Z","avatar_url":"https://github.com/DyfanJones.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\noutput: github_document\n---\n\n```{r, include = FALSE}\nknitr::opts_chunk$set(\n  collapse = TRUE,\n  comment = \"#\u003e\",\n  fig.path = \"man/figures/README-\",\n  out.width = \"100%\"\n)\n```\n\n# inih\n\n\u003c!-- badges: start --\u003e\n[![CRAN status](https://www.r-pkg.org/badges/version/inih)](https://CRAN.R-project.org/package=inih)\n[![Codecov test coverage](https://codecov.io/gh/DyfanJones/inih/graph/badge.svg)](https://app.codecov.io/gh/DyfanJones/inih)\n[![inih status badge](https://dyfanjones.r-universe.dev/inih/badges/version)](https://dyfanjones.r-universe.dev/inih)\n\u003c!-- badges: end --\u003e\n\nA simple wrapper of the [`inih`](https://github.com/benhoyt/inih) C library for reading and writing INI files in R.\n\n## Installation\n\nYou can install the development version of inih like so:\n\nGithub:\n``` r\nremotes::install_github(\"dyfanjones/inih\")\n```\n\nr-universe:\n```r\ninstall.packages(\"inih\", repos = c(\"https://dyfanjones.r-universe.dev\", \"https://cloud.r-project.org\"))\n```\n\n## Example\n\nThis is a basic example which shows you how to solve a common problem:\n\n``` {r, read_ini}\nlibrary(inih)\n\ndemo_ini \u003c- system.file(\"demo.ini\", package = \"inih\")\nread_ini(demo_ini)\n```\n\n\n``` {r, write_ini}\nlibrary(inih)\n\ntemp_file \u003c- tempfile(fileext = \".ini\")\n# Create an example configuration list\nconfig \u003c- list(\n  person = list(name = \"John Doe\", age = \"30\", city = \"New York\"),\n  job = list(title = \"Engineer\", company = \"ExampleCorp\")\n)\n\n# Write the configuration to an INI file\nwrite_ini(config, temp_file)\n\n# Check the content of the created INI file\ncat(readLines(temp_file), sep = \"\\n\")\n\n# clean up\nunlink(temp_file)\n```\n\n## Benchmark:\n\n```{r, benchmark} \ndemo_ini \u003c- system.file(\"demo.ini\", package = \"inih\")\n(bm \u003c- bench::mark(\n inih::read_ini(demo_ini),\n ini::read.ini(demo_ini),\n relative = TRUE\n))\n\nggplot2::autoplot(bm)\n```\n\n## Acknowledgements\n\nThis project uses the [`inih`](https://github.com/benhoyt/inih) library by Ben Hoyt, which is licensed under the BSD-3-Clause license. You can find the license text in the `inst/LICENSE-inih.txt` file.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdyfanjones%2Finih","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdyfanjones%2Finih","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdyfanjones%2Finih/lists"}