{"id":31924677,"url":"https://github.com/vizonex/llh2","last_synced_at":"2025-10-14T00:18:51.929Z","repository":{"id":315467050,"uuid":"1058085120","full_name":"Vizonex/llh2","owner":"Vizonex","description":"http/2 Frame Parser implementation using llparse in python","archived":false,"fork":false,"pushed_at":"2025-09-28T05:27:02.000Z","size":105,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-28T07:18:01.949Z","etag":null,"topics":["frame-parser","http2","http2-frame","llparse"],"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/Vizonex.png","metadata":{"files":{"readme":"README.md","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,"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":"2025-09-16T15:47:51.000Z","updated_at":"2025-09-28T05:27:06.000Z","dependencies_parsed_at":"2025-09-18T21:08:14.347Z","dependency_job_id":"7fd1391e-ce63-4072-98e3-e86a7f6e25a6","html_url":"https://github.com/Vizonex/llh2","commit_stats":null,"previous_names":["vizonex/llh2"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Vizonex/llh2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vizonex%2Fllh2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vizonex%2Fllh2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vizonex%2Fllh2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vizonex%2Fllh2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Vizonex","download_url":"https://codeload.github.com/Vizonex/llh2/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vizonex%2Fllh2/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279017376,"owners_count":26086052,"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-13T02:00:06.723Z","response_time":61,"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":["frame-parser","http2","http2-frame","llparse"],"created_at":"2025-10-14T00:18:50.975Z","updated_at":"2025-10-14T00:18:51.924Z","avatar_url":"https://github.com/Vizonex.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# llh2\n\nFrame Parser for the http/2 protocol with the objective of parsing frames and unpacking incoming frames\nbased off llhttp's structural design and approch. You may notice that were using python and this is \nbecuase of some unimplemented features in the typescript version that have yet to be introduced. \nWork is based off RFC 9113 with the goal of being RFC Compliant.\n\n\n\n# How to compile\n\nUnlike llhttp this requires python 3.9 or higher.\n\n## Step 1 install python version of llparse \n```\npip install -r requirements.txt\n```\n\n## Step 2 run script\n\n```\npython llh2.py\n```\nA New version of llh2.c and llh2.h should appear in the build directory if all was done correctly.\n\n## TODOS\n- A workflow simillar to llhttp for releases.\n\n\n# Batteries included (Pun intended)\n\n## Binary Data Included Stress free\nReleases will always include binary data for both static and dynamic artifacts as compiling these is an annoying step when performing any installation of any C Library. If this is a security concern for you, hashes are included to verify these releases as well as tools for building releases as well as Meson and CMakeLists.txt file for building your own. Meson is used by default for all binary compilations incase this concerns you.\n\n## Cython bindings\nCopying off the cython file should be enough to help you bind the library straight on over to python however know that the \nbinary data should not be relied on and you should look at setup_tests.py for the sources you need to gather when compiling which are as follows \n\n### Sources\n- native/http2.c\n- src/api.c\n- src/llh2.c\n\n### Includes\n- include/llh2.h\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvizonex%2Fllh2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvizonex%2Fllh2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvizonex%2Fllh2/lists"}