{ "info": { "author": "Chris Miuchiz", "author_email": "chrismiuchiz@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# WTC\n\nWTC is an extension of the lzma compression format, specifically designed to make osu!std replays smaller before storing them. It reduces the size of certain datatypes in the original .osr format, achieving ~40% lossy compression ratios.\n\n| Part | Original lzma datatype | WTC datatype |\n| --- | --- | --- |\n| w (ms since preivous frame) | Long (8 bytes) | 24bit Integer (3 bytes)|\n| x (x-cord) | Float (4 bytes) | Short (2 bytes) |\n| y (y-cord) | Float (4 bytes) | Short (2 bytes) |\n| z (bit combination of keypresses) | Integer (4 bytes) | Char (1 byte) |\n\nThis compresses the original 20 byte frame to an 8 byte frame, but not without losses. Precision is lost on w, x, and y, but not z, because the keypressed bit combination will never go above 4 bits for osu!standard. Though it may be larger for other gamemodes such as 7k mania, this compressor is explicitly for osu!standard.\n\nWTC compression achieves an average of 40% \u00b15 compression (Not a formally calculated number - simply based on experience).\n\nInstallation:\n\n```bash\n$ pip install git+git://github.com/osu-anticheat/wtc-lzma-compressor\n```\n\nUsage:\n\n```python\nimport wtc\n\n# to compress an lzma bytestring\nwtc_bytestring = wtc.compress(lzma_bytestring)\n\n# to decompress a wtc bytestring into an lzma bytestring\nlzma_bytestring = wtc.decompress(wtc_bytestring)\n\n# compress and decompress are (almost) inverse operations, so lzma_bytestring \u2248 wtc.decompress(wtc.compress(lzma_bytestring)).\n# some precision is lost, so the strings are not identical.\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/circleguard/wtc-lzma-compressor/tarball/1.1.3", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/circleguard/wtc-lzma-compressor", "keywords": "osu!, compression, lzma, python, replay, osr", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "wtc", "package_url": "https://pypi.org/project/wtc/", "platform": "", "project_url": "https://pypi.org/project/wtc/", "project_urls": { "Download": "https://github.com/circleguard/wtc-lzma-compressor/tarball/1.1.3", "Homepage": "https://github.com/circleguard/wtc-lzma-compressor" }, "release_url": "https://pypi.org/project/wtc/1.1.3/", "requires_dist": null, "requires_python": "", "summary": "Compress osu replay lzma bytestrings", "version": "1.1.3" }, "last_serial": 5559001, "releases": { "1.1.3": [ { "comment_text": "", "digests": { "md5": "8ea8ecae305c3646a59a0dcb0b92669f", "sha256": "270c748426b819008aa7a7d4639147e34f5aad8f2db4b6e896f83d239af14b80" }, "downloads": -1, "filename": "wtc-1.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "8ea8ecae305c3646a59a0dcb0b92669f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4772, "upload_time": "2019-07-19T22:22:50", "url": "https://files.pythonhosted.org/packages/33/a2/8a76e4fa8743b0ace6ed89b935f291787988406e512a989886b68ec9ae2c/wtc-1.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "020fdae0494e3ec27275d535494948af", "sha256": "a00c531065d849ebdfce9886c8c985b7c2f2996442837d608b6ce62e39ae4e5d" }, "downloads": -1, "filename": "wtc-1.1.3.tar.gz", "has_sig": false, "md5_digest": "020fdae0494e3ec27275d535494948af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3736, "upload_time": "2019-07-19T22:22:52", "url": "https://files.pythonhosted.org/packages/9d/25/37c995ecd2151ee05b7dae69c0976d6b28cdd83bd4efe7472bd5201a28ed/wtc-1.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8ea8ecae305c3646a59a0dcb0b92669f", "sha256": "270c748426b819008aa7a7d4639147e34f5aad8f2db4b6e896f83d239af14b80" }, "downloads": -1, "filename": "wtc-1.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "8ea8ecae305c3646a59a0dcb0b92669f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4772, "upload_time": "2019-07-19T22:22:50", "url": "https://files.pythonhosted.org/packages/33/a2/8a76e4fa8743b0ace6ed89b935f291787988406e512a989886b68ec9ae2c/wtc-1.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "020fdae0494e3ec27275d535494948af", "sha256": "a00c531065d849ebdfce9886c8c985b7c2f2996442837d608b6ce62e39ae4e5d" }, "downloads": -1, "filename": "wtc-1.1.3.tar.gz", "has_sig": false, "md5_digest": "020fdae0494e3ec27275d535494948af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3736, "upload_time": "2019-07-19T22:22:52", "url": "https://files.pythonhosted.org/packages/9d/25/37c995ecd2151ee05b7dae69c0976d6b28cdd83bd4efe7472bd5201a28ed/wtc-1.1.3.tar.gz" } ] }