{"id":15008127,"url":"https://github.com/ameliasquires/lullaby","last_synced_at":"2025-10-04T14:25:33.360Z","repository":{"id":255972002,"uuid":"849725542","full_name":"ameliasquires/lullaby","owner":"ameliasquires","description":"broad lua library primarily for networking, cryptography, and multithreading","archived":false,"fork":false,"pushed_at":"2025-09-02T05:07:53.000Z","size":563,"stargazers_count":8,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-02T07:09:48.122Z","etag":null,"topics":["c","lua","lua54","webserver"],"latest_commit_sha":null,"homepage":"","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/ameliasquires.png","metadata":{"files":{"readme":"docs/readme.md","changelog":null,"contributing":null,"funding":null,"license":"license.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-08-30T06:03:38.000Z","updated_at":"2025-09-02T05:07:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"c5096716-3813-4405-91bc-6cc2fc68b182","html_url":"https://github.com/ameliasquires/lullaby","commit_stats":null,"previous_names":["ameliasquires/lullaby"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/ameliasquires/lullaby","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ameliasquires%2Flullaby","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ameliasquires%2Flullaby/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ameliasquires%2Flullaby/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ameliasquires%2Flullaby/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ameliasquires","download_url":"https://codeload.github.com/ameliasquires/lullaby/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ameliasquires%2Flullaby/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278323374,"owners_count":25968119,"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-10-04T02:00:05.491Z","response_time":63,"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":["c","lua","lua54","webserver"],"created_at":"2024-09-24T19:15:17.953Z","updated_at":"2025-10-04T14:25:33.348Z","avatar_url":"https://github.com/ameliasquires.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# lullaby (llby) \r\n(name subject to change)\r\n\r\nwith the library in the same directory [(or one of the other valid search locations)](https://www.lua.org/pil/8.1.html)\r\n\r\n```lua\r\nllby = require \"lullaby\"\r\n```\r\n\r\nreturns a table has many subtables and functions, with related function in them, you can view them like so\r\n\r\n```lua\r\nllby.io.pprint(llby) --pprint is a part of the io module, pprint meaning pretty print\r\n```\r\n\r\nall subtables and functions have a corresponding file in this directory on usage\r\n\r\nyou can also select just a specific module\r\n\r\n```lua\r\ncrypto = require \"lullaby.crypto\"\r\ncrypto.sha224()\r\n```\r\n\r\n### configuration\r\n\r\nmodules will each have different values you can change\r\n\r\neach individual function will list what values you can modify, but all of them will exist in the parent table\r\n\r\n```lua\r\nllby.net.mimetypes = \"/etc/meow\"\r\n```\r\n\r\n## common functions/utils\r\n\r\n### stream\r\n\r\nstreams allow generating a string in smaller chunks to save on memory\r\n\r\ncurrently can only be made in c using luaI_newstream\r\n\r\nstream:file(filename, bytes?)\r\nstream:read(bytes?)\r\n\r\nboth function identically, file sending the data to a file and read returning it\r\n\r\nthe number of bytes can be selected, the function will return an amount close to what was requested\r\n\r\nsome streams may not support the bytes param, and may just ignore it. if it is ignored or not given it will always read the entire stream\r\n\r\n---\r\n\r\n## big changes\r\n\r\n### __clone metamethod (todo)\r\n\r\ntakes a single argument (the object to be cloned) returns a 'copy' of the object\r\n\r\nthis is for cloning a object to be the same, but not share any internals \r\n\r\ncreated for luaI_deepcopy (see src/lua.c) too create a seperate object for the other state\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fameliasquires%2Flullaby","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fameliasquires%2Flullaby","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fameliasquires%2Flullaby/lists"}