{"id":22865719,"url":"https://github.com/lagolunatic/pyfastgbalz77","last_synced_at":"2025-07-25T05:33:38.940Z","repository":{"id":96959205,"uuid":"236253489","full_name":"LagoLunatic/PyFastGBALZ77","owner":"LagoLunatic","description":"Python module for quickly LZ77 compressing data for the GBA","archived":false,"fork":false,"pushed_at":"2021-04-09T04:49:22.000Z","size":8,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-06T14:32:59.649Z","etag":null,"topics":["gba","lz77","romhacking"],"latest_commit_sha":null,"homepage":null,"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/LagoLunatic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2020-01-26T01:30:09.000Z","updated_at":"2023-09-28T20:17:18.000Z","dependencies_parsed_at":null,"dependency_job_id":"8b9fe843-4fc7-4b61-9291-a984d7154fcd","html_url":"https://github.com/LagoLunatic/PyFastGBALZ77","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LagoLunatic%2FPyFastGBALZ77","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LagoLunatic%2FPyFastGBALZ77/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LagoLunatic%2FPyFastGBALZ77/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LagoLunatic%2FPyFastGBALZ77/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LagoLunatic","download_url":"https://codeload.github.com/LagoLunatic/PyFastGBALZ77/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246450403,"owners_count":20779406,"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":["gba","lz77","romhacking"],"created_at":"2024-12-13T11:38:40.672Z","updated_at":"2025-03-31T09:47:43.789Z","avatar_url":"https://github.com/LagoLunatic.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n### About\n\nThis is a Python 3 module for LZ77 compressing data for the GBA.  \nIt is written in C so the performance is much better than native Python code.  \ne.g. For 0x8000 bytes of raw GBA GFX data I tested this on, this module can compress it in 0.06 seconds, while the equivalent native Python code takes 9.97 seconds.  \n\nCurrently only supports compression because decompression isn't slow even with native Python code.  \n\n### Installation\n\n`python setup.py install`\n\n### Usage\n\nCall `pyfastgbalz77.compress` with a bytes object containing the data you wish to compress.  \nIt will return the compressed data as a new bytes object.  \nThe second argument should be a boolean for whether the compressed data should be made compatible with the GBA's 16-bit LZ77 decompression function. If False, only the 8-bit decompression function will be able to decompress this data, but the size will be slightly smaller.  \n\nExample:\n```py\nimport pyfastgbalz77\n\nwith open(\"some_uncompressed_file.bin\", \"rb\") as f:\n  uncompressed_bytes = f.read()\n\ncompressed_bytes = pyfastgbalz77.compress(uncompressed_bytes, True)\n\nwith open(\"some_compressed_file.bin\", \"wb\") as f:\n  f.write(compressed_bytes)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flagolunatic%2Fpyfastgbalz77","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flagolunatic%2Fpyfastgbalz77","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flagolunatic%2Fpyfastgbalz77/lists"}