{"id":17861144,"url":"https://github.com/jonathanstowe/raku-gdbm","last_synced_at":"2025-08-14T14:30:46.761Z","repository":{"id":54336376,"uuid":"48423303","full_name":"jonathanstowe/Raku-GDBM","owner":"jonathanstowe","description":"GNU dbm binding for Raku","archived":false,"fork":false,"pushed_at":"2023-07-02T07:22:03.000Z","size":48,"stargazers_count":1,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-07-02T08:32:39.258Z","etag":null,"topics":["database","dbm","gdbm","hash","raku"],"latest_commit_sha":null,"homepage":"","language":"Raku","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"artistic-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jonathanstowe.png","metadata":{"files":{"readme":"README.md","changelog":"Changes","contributing":null,"funding":null,"license":null,"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":"2015-12-22T09:34:16.000Z","updated_at":"2023-07-02T08:32:39.260Z","dependencies_parsed_at":"2024-10-28T09:05:46.784Z","dependency_job_id":"956c0892-4944-4e6f-88da-f6847407163a","html_url":"https://github.com/jonathanstowe/Raku-GDBM","commit_stats":null,"previous_names":[],"tags_count":9,"template":null,"template_full_name":null,"purl":"pkg:github/jonathanstowe/Raku-GDBM","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanstowe%2FRaku-GDBM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanstowe%2FRaku-GDBM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanstowe%2FRaku-GDBM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanstowe%2FRaku-GDBM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jonathanstowe","download_url":"https://codeload.github.com/jonathanstowe/Raku-GDBM/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonathanstowe%2FRaku-GDBM/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270434841,"owners_count":24583069,"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-08-14T02:00:10.309Z","response_time":75,"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":["database","dbm","gdbm","hash","raku"],"created_at":"2024-10-28T08:43:03.103Z","updated_at":"2025-08-14T14:30:46.503Z","avatar_url":"https://github.com/jonathanstowe.png","language":"Raku","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GDBM\n\nGNU dbm binding for Raku\n\n![Build Status](https://github.com/jonathanstowe/Raku-GDBM/workflows/CI/badge.svg)\n\n## Synopsis\n\n```perl6\n\nuse GDBM;\n\nmy $data = GDBM.new('somefile.db');\n\n$data\u003cfoo\u003e = 'bar';\n\nsay $data\u003cfoo\u003e:exists;\n\n$data.close;\n\n# Then in some time later, possibly in another program\n\n$data = GDBM.new('somefile.db');\n\nsay $data\u003cfoo\u003e;\n\n$data.close;\n\n```\n\n## Description\n\nThe [GNU DBM](http://www.gnu.org.ua/software/gdbm/) stores key/value\npairs in a hashed database file. Its implementation allows for keys\nand values of arbitrary length (compared to fairly frugal limits on\nsome earlier implementations.)\n\nThis module allows for the data to be transparently managed as if it\nwere in an normal Associative container such as a Hash.  The only limitation\ncurrently is that both key and value must be strings (or can be meaningfully\nstringified,) so e.g. structured data will need to be serialised to some\nformat that can be represented as a string.  However it can be used for\npersistence or caching if this doesn't need to be shared by processes\non different machines.\n\n## Installation\n\nIn order to install this you will need to have the GDBM development\npackages installed in order to build the wrapper this library requires\non Linux this may be either *libgdbm-dev* or *libgdbm-devel* depending\non the distribution.  For FreeBSD the *database/gdbm* port will install\neverything that is required. \n\nAssuming that you have a working installation of Rakudo you should be able to install this with *zef* :\n\n     zef install GDBM\n\n     # Or if you have a local checkout of the code\n\n     zef install .\n\n## Support\n\nThe gdbm library itself is mature and well tested so it's likely that any\nbugs you find are ones I have introduced into the wrapper.  I'd rather\ndo without the C wrapper but the gdbm api is rather awkward for Rakudo\nNativeCall to deal with otherwise.\n\nIf you have any suggestions/fixes or actual bugs please report them to\nhttps://github.com/jonathanstowe/Raku-GDBM/issues \n\n## Licence \u0026 Copyright\n\nThis is free software, please see the [LICENCE](LICENCE) file for details.\n\n© Jonathan Stowe 2017 - 2021\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonathanstowe%2Fraku-gdbm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonathanstowe%2Fraku-gdbm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonathanstowe%2Fraku-gdbm/lists"}