{ "info": { "author": "Kataiser", "author_email": "mecharon1.gm@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "[![PyPI](https://img.shields.io/pypi/v/fast-package-file.svg)](https://pypi.org/project/fast-package-file/)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/fast-package-file.svg)](https://pypi.org/project/fast-package-file/)\n[![Build Status](https://travis-ci.com/Kataiser/fast-package-file.svg?branch=master)](https://travis-ci.com/Kataiser/fast-package-file)\n[![Documentation Status](https://readthedocs.org/projects/fast-package-file/badge/?version=latest)](https://fast-package-file.readthedocs.io/en/latest/?badge=latest)\n[![codecov](https://codecov.io/gh/Kataiser/fast-package-file/branch/master/graph/badge.svg)](https://codecov.io/gh/Kataiser/fast-package-file)\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/5018ac2a202145eca3d0ede57904815e)](https://app.codacy.com/app/Kataiser/fast-package-file?utm_source=github.com&utm_medium=referral&utm_content=Kataiser/fast-package-file&utm_campaign=Badge_Grade_Dashboard)\n\n# fast_package_file\nPackage a directory to a file, with fast file access and compression support\n\n```python\nimport fast_package_file\n\n# Package a directory into a file\nfast_package_file.build('a_directory', 'a_package.file')\n\n# Prepare a package file\ndata_package = fast_package_file.PackagedDataFile('a_package.file')\n\n# Load a file from the packed directory and save it\nwith open('any.file', 'wb') as any_file:\n data_package.load_file('path\\\\to\\\\any.file')\n\n# Or just get the raw binary data\nfrom PIL import Image\ni = Image.open(io.BytesIO(data_package.load_file('image.png')))\n\n# Some other useful functions\ndata_package.load_bulk(prefix='audio\\\\sfx\\\\', postfix='.wav')\nfast_package_file.oneshot('a_package.file', 'path\\\\to\\\\any.file')\nfast_package_file.oneshot_bulk('a_package.file', prefix='audio\\\\sfx\\\\', postfix='.wav')\n```\n\n## Installation\nFrom PyPI:\n```shell\npip install fast-package-file\n```\nOr from Github:\n```shell\npip install git+git://github.com/Kataiser/fast-package-file.git@master#egg=fast_package_file\n```\n\n## Documentation\nMore details will be available at https://fast-package-file.readthedocs.io/en/latest/\n\n## Features\n- Is fast because only the data needed is loaded from the package file, total package size is irrelevant\n- Obfuscates files from (most) users\n- Like a .zip file, but doesn't decompress the entire thing when reading just one file\n- Includes the entire directory and subdirectories, not just surface-level files\n- Files are compressed with Gzip, but only if compression improves file size (per file) and is enabled (per package file)\n- Pretty good error handling when loading package files, just catch fast_package_file.PackageDataError\n- Inspired by video game packaging, such as UE4's .pak or GTA V's .rpf formats\n- Cross-platform, has CI for Linux, MacOS, and Windows\n\n## Contribute\n- Issue Tracker: https://github.com/Kataiser/fast-package-file/issues\n- Source Code: https://github.com/Kataiser/fast-package-file\n\n## License\nThe project is licensed under the MIT license.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Kataiser/fast-package-file", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "fast-package-file", "package_url": "https://pypi.org/project/fast-package-file/", "platform": "", "project_url": "https://pypi.org/project/fast-package-file/", "project_urls": { "Homepage": "https://github.com/Kataiser/fast-package-file" }, "release_url": "https://pypi.org/project/fast-package-file/1.1/", "requires_dist": null, "requires_python": "", "summary": "Package a directory to a file, with fast file access and compression support", "version": "1.1" }, "last_serial": 5484516, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "e2a4424ab15b982d4997435171b5d9b7", "sha256": "d0b69b324dda8e898f1146f8c6de004427667216e9cc13d3d331f5307b9fc240" }, "downloads": -1, "filename": "fast_package_file-1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e2a4424ab15b982d4997435171b5d9b7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5601, "upload_time": "2019-06-19T01:35:17", "url": "https://files.pythonhosted.org/packages/ca/e6/dceefe1a6df963ecff152fecddd417ddfc0492781d2a5cf4a3ef03bd5ddb/fast_package_file-1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fd35b3660bc6c35456c781d46f8a6009", "sha256": "7ce778185b4eaa2bf52feea83e2485198c86982067c1316a395ff6fe1a4e0ffe" }, "downloads": -1, "filename": "fast_package_file-1.0.tar.gz", "has_sig": false, "md5_digest": "fd35b3660bc6c35456c781d46f8a6009", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4366, "upload_time": "2019-06-19T01:35:19", "url": "https://files.pythonhosted.org/packages/77/7f/4442b98fac27da536b63be28450c4639786459bfd3973742a137f249fc1a/fast_package_file-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "7917971f8334bc3551492086c9fd60de", "sha256": "a5c4860efdffe9f84030c73170d6440dd2c8ff283ef3d836ff24e387c9641bcd" }, "downloads": -1, "filename": "fast_package_file-1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "7917971f8334bc3551492086c9fd60de", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7083, "upload_time": "2019-07-04T03:13:56", "url": "https://files.pythonhosted.org/packages/c7/72/af75c71905c88a34a787186226191aed183f1ae12431221b758799625a2d/fast_package_file-1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b81e64ed4a490165966dd9d2d40661fa", "sha256": "46bea46f9c363d4435c5b88d14cad39fdc10dfdc29be28bbd744702ee77519ca" }, "downloads": -1, "filename": "fast_package_file-1.1.tar.gz", "has_sig": false, "md5_digest": "b81e64ed4a490165966dd9d2d40661fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5919, "upload_time": "2019-07-04T03:14:00", "url": "https://files.pythonhosted.org/packages/b4/4f/67cf6f6f0aed8682581ffe646bbb2c8ba358ae9b962f971fe273dd8b3f85/fast_package_file-1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7917971f8334bc3551492086c9fd60de", "sha256": "a5c4860efdffe9f84030c73170d6440dd2c8ff283ef3d836ff24e387c9641bcd" }, "downloads": -1, "filename": "fast_package_file-1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "7917971f8334bc3551492086c9fd60de", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7083, "upload_time": "2019-07-04T03:13:56", "url": "https://files.pythonhosted.org/packages/c7/72/af75c71905c88a34a787186226191aed183f1ae12431221b758799625a2d/fast_package_file-1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b81e64ed4a490165966dd9d2d40661fa", "sha256": "46bea46f9c363d4435c5b88d14cad39fdc10dfdc29be28bbd744702ee77519ca" }, "downloads": -1, "filename": "fast_package_file-1.1.tar.gz", "has_sig": false, "md5_digest": "b81e64ed4a490165966dd9d2d40661fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5919, "upload_time": "2019-07-04T03:14:00", "url": "https://files.pythonhosted.org/packages/b4/4f/67cf6f6f0aed8682581ffe646bbb2c8ba358ae9b962f971fe273dd8b3f85/fast_package_file-1.1.tar.gz" } ] }