# zipmanager
[](https://www.pepy.tech/projects/zipmanager) [](https://github.com/SimplePythonCoder/zipmanager/blob/main/CHANGELOG.md) [](https://github.com/SimplePythonCoder/zipmanager/wiki)
```
pip install zipmanager
```
## What does this package do ?
It allows you to create and handle zip folders as data without needing to save them.
## Usage
```python
from zipmanager import ZipFolder
file_data = b'some data'
zip_folder = ZipFolder({'file_name.file_extension': file_data})
# file extension not required
# ZipFolder will hold all the files given in the dictionary
file_data = zip_folder['file_name.file_extension']
# will return the file data
```
## Main functions
```python
from zipmanager import ZipFolder
file_data = b'some_data'
zip_folder = ZipFolder({'file_name.file_extension': file_data})
# list of functions:
zip_folder.add_files({'new_file': 'new_data'}) # add files to zip. read more at docstring.
zip_folder.delete_file('new_file') # removes file from zip
zip_folder.get('file_name') # returns None if file was not found
# or
zip_folder['file_name']
zip_folder.save() # saves zip in given location (empty is './temp.zip')
```
## File extension features
json and text files data is automatically returned as a dict or str respectively:
```python
from zipmanager import ZipFolder
file_data = b'{"key": "value"}'
zip_folder = ZipFolder({'file_name.json': file_data})
# .json extension is required to return a dict/list/str
data = zip_folder['file_name.json'] # returns a dict/list/str type
# same for .txt
file_data = b'text file data'
zip_folder = ZipFolder({'file_name.txt': file_data})
data = zip_folder['file_name.txt'] # returns a string
```
new in version 0.2.0 - files with the zip extension will return a ZipFolder object:
```python
from zipmanager import ZipFolder
zip_data = b'some zip data'
zip_folder = ZipFolder({'file_name.zip': zip_data})
data = zip_folder['file_name.zip'] # returns a ZipFolder object
```
Raw data
{
"_id": null,
"home_page": "https://github.com/SimplePythonCoder/zipmanager",
"name": "zipmanager",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": "zip, zipfile",
"author": "SimplePythonCoder",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/c1/6f/b4a3139f7ad3a38fbf384162f7ff7e7bff31bd0b831625e5f8df9411ce3e/zipmanager-0.5.1.tar.gz",
"platform": null,
"description": "# zipmanager\r\n[](https://www.pepy.tech/projects/zipmanager) [](https://github.com/SimplePythonCoder/zipmanager/blob/main/CHANGELOG.md) [](https://github.com/SimplePythonCoder/zipmanager/wiki)\r\n```\r\npip install zipmanager\r\n```\r\n## What does this package do ?\r\nIt allows you to create and handle zip folders as data without needing to save them.\r\n\r\n## Usage\r\n```python\r\nfrom zipmanager import ZipFolder\r\n\r\nfile_data = b'some data'\r\n\r\nzip_folder = ZipFolder({'file_name.file_extension': file_data})\r\n# file extension not required\r\n# ZipFolder will hold all the files given in the dictionary\r\n\r\nfile_data = zip_folder['file_name.file_extension']\r\n# will return the file data\r\n```\r\n\r\n## Main functions\r\n```python\r\nfrom zipmanager import ZipFolder\r\n\r\nfile_data = b'some_data'\r\nzip_folder = ZipFolder({'file_name.file_extension': file_data})\r\n\r\n# list of functions:\r\nzip_folder.add_files({'new_file': 'new_data'}) # add files to zip. read more at docstring.\r\nzip_folder.delete_file('new_file') # removes file from zip\r\n\r\nzip_folder.get('file_name') # returns None if file was not found\r\n# or\r\nzip_folder['file_name']\r\n\r\nzip_folder.save() # saves zip in given location (empty is './temp.zip')\r\n```\r\n\r\n## File extension features\r\njson and text files data is automatically returned as a dict or str respectively:\r\n```python\r\nfrom zipmanager import ZipFolder\r\n\r\nfile_data = b'{\"key\": \"value\"}'\r\n\r\nzip_folder = ZipFolder({'file_name.json': file_data})\r\n# .json extension is required to return a dict/list/str\r\n\r\ndata = zip_folder['file_name.json'] # returns a dict/list/str type\r\n\r\n# same for .txt\r\nfile_data = b'text file data'\r\nzip_folder = ZipFolder({'file_name.txt': file_data})\r\ndata = zip_folder['file_name.txt'] # returns a string\r\n```\r\nnew in version 0.2.0 - files with the zip extension will return a ZipFolder object:\r\n```python\r\nfrom zipmanager import ZipFolder\r\n\r\nzip_data = b'some zip data'\r\nzip_folder = ZipFolder({'file_name.zip': zip_data})\r\ndata = zip_folder['file_name.zip'] # returns a ZipFolder object\r\n```\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Allows you to manage zip folders as data",
"version": "0.5.1",
"project_urls": {
"Changelog": "https://github.com/SimplePythonCoder/zipmanager/blob/main/CHANGELOG.md",
"Documentation": "https://github.com/SimplePythonCoder/zipmanager/wiki",
"Homepage": "https://github.com/SimplePythonCoder/zipmanager",
"Issues": "https://github.com/SimplePythonCoder/zipmanager/issues",
"Source": "https://github.com/SimplePythonCoder/zipmanager"
},
"split_keywords": [
"zip",
" zipfile"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "2111a391dd2f4c02e3e2ae276a1f011537baa74d16bb32f32ad8300d50083534",
"md5": "28fc64e0d140747216936800e5b92d4a",
"sha256": "61df0dcb7d96624afca80efea9d3c3d1ab54767f9d092060aaef0295ec1b5dcd"
},
"downloads": -1,
"filename": "zipmanager-0.5.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "28fc64e0d140747216936800e5b92d4a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 10206,
"upload_time": "2025-02-10T13:32:06",
"upload_time_iso_8601": "2025-02-10T13:32:06.692482Z",
"url": "https://files.pythonhosted.org/packages/21/11/a391dd2f4c02e3e2ae276a1f011537baa74d16bb32f32ad8300d50083534/zipmanager-0.5.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c16fb4a3139f7ad3a38fbf384162f7ff7e7bff31bd0b831625e5f8df9411ce3e",
"md5": "b8e503c1e88e55f214364ae9f4cc3614",
"sha256": "ad0774416f58c6644a8157de113c385af8fb1c132008c443e8139ed5ad7a1198"
},
"downloads": -1,
"filename": "zipmanager-0.5.1.tar.gz",
"has_sig": false,
"md5_digest": "b8e503c1e88e55f214364ae9f4cc3614",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 10378,
"upload_time": "2025-02-10T13:32:08",
"upload_time_iso_8601": "2025-02-10T13:32:08.440371Z",
"url": "https://files.pythonhosted.org/packages/c1/6f/b4a3139f7ad3a38fbf384162f7ff7e7bff31bd0b831625e5f8df9411ce3e/zipmanager-0.5.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-10 13:32:08",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "SimplePythonCoder",
"github_project": "zipmanager",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "zipmanager"
}