{"id":17672133,"url":"https://github.com/8ightfold/exicpp","last_synced_at":"2025-03-30T15:24:47.232Z","repository":{"id":259124922,"uuid":"860643981","full_name":"8ightfold/exiCPP","owner":"8ightfold","description":"C++ wrapper for the Efficient XML Interchange (EXI) processor","archived":false,"fork":false,"pushed_at":"2025-03-21T22:28:37.000Z","size":6421,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-21T23:27:29.553Z","etag":null,"topics":["cpp","cpp17","exi","xml"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/8ightfold.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}},"created_at":"2024-09-20T20:46:44.000Z","updated_at":"2025-03-21T22:28:41.000Z","dependencies_parsed_at":"2025-01-01T21:38:27.744Z","dependency_job_id":"c0c59c8c-4293-40d9-97f3-27a5dea1f5f7","html_url":"https://github.com/8ightfold/exiCPP","commit_stats":{"total_commits":148,"total_committers":1,"mean_commits":148.0,"dds":0.0,"last_synced_commit":"fab5a503a6ffb22fadae5cf59019fa7060b62d04"},"previous_names":["8ightfold/exicpp"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/8ightfold%2FexiCPP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/8ightfold%2FexiCPP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/8ightfold%2FexiCPP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/8ightfold%2FexiCPP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/8ightfold","download_url":"https://codeload.github.com/8ightfold/exiCPP/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246336135,"owners_count":20760990,"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","cpp17","exi","xml"],"created_at":"2024-10-24T04:07:05.390Z","updated_at":"2025-03-30T15:24:47.227Z","avatar_url":"https://github.com/8ightfold.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# exiCPP\n\nC++ wrapper for the Efficient XML Interchange Processor (EXIP).\n\n## Background\n\nWhile doing research for my website, I fell down the rabbithole\nof data encoding formats. I then stumbled across the EXI format,\nbut discovered it didn't really have any C++ libraries for it.\nSo... I made my own.\n\n## Current Work\n\n**I've decided to completely rewrite exip in C++.**\nThere were major issues with the library,\nbut the tipping point was its complete inability to handle other libs outputs.\n\nIt was also obviously not written to be used for real XML inputs.\nThere are a mountain of bugs and inefficiencies that I've been taping over,\nand a lack of support for essential options (like compression).\n\nAnd while I *could* go through the whole codebase and fix all these issues,\nI wanted to write a safer and more efficient version from the start.\n\nYou can find the new TODO list [here](TODO.md).\n\n## Improvements\n\nWith some changes to exip's lookup and allocation methods, as well as the new HashTable,\nlarge files can be encoded up to ***14400 times faster*** than the standalone library.\nYou can read about my changes [here](old/doc/Changes.md#performance).\n\n## Todo (Old)\n\nIn order:\n\n- Exificent compatible compression\n- Schema support\n- Finish wrapping the serializer\n- Add full options support in driver\n- DTD/PI support\n- Improve error generality\n- Generic character encoding?\n- JSON support?\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F8ightfold%2Fexicpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F8ightfold%2Fexicpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F8ightfold%2Fexicpp/lists"}