{ "info": { "author": null, "author_email": "Arun Kishore ", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License" ], "description": "\n
\n

ak-file

\n

\n A base module to manipulate files and folders\n

\n

\n View Demo\n \u00b7 \n Documentation\n \u00b7 \n Report Bug\n \u00b7 \n Request Feature\n

\n
\n
\n\n[![tests](https://github.com/rpakishore/ak-file/actions/workflows/test.yml/badge.svg)](https://github.com/rpakishore/ak-file/actions/workflows/test.yml)\n![GitHub commit activity](https://img.shields.io/github/commit-activity/m/rpakishore/ak-file)\n![GitHub last commit](https://img.shields.io/github/last-commit/rpakishore/ak-file)\n\n

Table of Contents

\n\n- [1. About the Project](#1-about-the-project)\n - [1.1. Features](#11-features)\n- [2. Getting Started](#2-getting-started)\n - [2.1. Dependencies](#21-dependencies)\n - [2.2. Installation](#22-installation)\n- [3. Usage](#3-usage)\n- [4. Roadmap](#4-roadmap)\n- [4. License](#4-license)\n- [5. Contact](#5-contact)\n- [6. Acknowledgements](#6-acknowledgements)\n\n\n## 1. About the Project\n\nA base project to simplify file manipulation\n\n\n### 1.1. Features\n\n- Can sanitize filename based on windows limitaions\n- Can search for and return files with specified filenames\n\n\n## 2. Getting Started\n\n### 2.1. Dependencies\n\nThe repo comes pre-compiled with all dependencies. Needs Python 3.11+\n\n\n### 2.2. Installation\n\nInstall from pypi\n\n```bash\npip install ak_file\n```\n\n\n## 3. Usage\n\n```python\nimport ak_file import File\nfile = File(\"\")\n\nfile.exists() # Returns bool\nfile.properties() # Returns dict\n\nfile.encrypt(password = 'Some Fancy Password') # Returns bytes data\nfile._DEFAULT_SALT = b'SuperSecureSaltForEncryption' # Change default encryption salt\nfile.decrypt(password = 'Some Fancy Password') # Returns bytes data\n\n# To sanitize filename\nfrom ak_file import sanitizer\nsanitizer.sanitize(\"Dirty_windows_file_name.ext\", strict=False)\n\n# Obfuscate/Unobfuscate filename with simple char shift\nsanitizer.obfuscate('Filename to obfuscate') # Returns 'WzCvErDvqKFqFswLJtrKv'\nsanitizer.unobfuscate('WzCvErDvqKFqFswLJtrKv') # Returns 'Filename to obfuscate'\n\n# Search\nfrom ak_file import SearchFolder\nsearch = SearchFolder(folder_path=\"Folder\\path\", recurse=True)\n\nsearch.extension(extension_str='py') # by extension\nsearch.size(min_size=1024, max_size=2048) # Bytes; by size\nsearch.regex(pattern=r'[A-Z]{3}\\.py', case_sensitive=False) # By regex\nsearch.modification_date(start_date=datetime(2023,01,01), end_date=datetime(2023,10,10))\n\n## search by generic function\nsearch.search(condition=lambda file: 'Alpha' in file.parent)\n```\n\n## 4. Roadmap\n\n- [ ] Exception Handling\n- [ ] File Operations\n - [ ] Adding methods to write content to files.\n - [ ] Methods for appending content to files.\n - [ ] Support for working with directories: create, remove, list contents, move, etc.\n- [ ] Checksum Algorithms\n- [ ] Metadata Extraction\n- [ ] Support for More Encryption Options\n- [ ] Context Managers\n- [ ] File Comparison Methods\n- [ ] Logging and Debugging\n- [ ] Asynchronous I/O Support\n- [ ] Serialization and Deserialization\n- [ ] Support Different File Types\n\n\n## 4. License\n\nSee LICENSE for more information.\n\n\n## 5. Contact\n\nArun Kishore - [@rpakishore](mailto:pypi@rpakishore.co.in)\n\nProject Link: [https://github.com/rpakishore/ak-file](https://github.com/rpakishore/ak-file)\n\n\n\n## 6. Acknowledgements\n\n- [Awesome README Template](https://github.com/Louis3797/awesome-readme-template/blob/main/README-WITHOUT-EMOJI.md)\n- [Shields.io](https://shields.io/)", "description_content_type": "text/markdown", "docs_url": null, "download_url": null, "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": null, "keywords": null, "license": null, "maintainer": null, "maintainer_email": null, "name": "ak_file", "package_url": "https://pypi.org/project/ak_file/", "platform": null, "project_url": "https://pypi.org/project/ak_file/", "project_urls": { "Home": "https://github.com/rpakishore/ak-file" }, "release_url": "https://pypi.org/project/ak_file/0.1.4/", "requires_dist": [ "cryptography>=41.0.3", "ipykernel ; extra == \"dev\"", "icecream ; extra == \"dev\"", "pytest ; extra == \"test\"" ], "requires_python": ">=3.11.0", "summary": "File Parsing function", "version": "0.1.4", "yanked": false, "yanked_reason": null }, "last_serial": 20498112, "releases": { "0.0.1": [ { "comment_text": null, "digests": { "blake2b_256": "2410beedad92934044a6048639b9392d9c04bf4d525b5e6bee826994b98ddbd7", "md5": "767d691be1c4f18eebc1a401cf1d9235", "sha256": "0136ad45e8a60008e288e159edfd7e677fadc35c0a0f1cd745b87853a53eb8a3" }, "downloads": -1, "filename": "ak_file-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "767d691be1c4f18eebc1a401cf1d9235", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5325, "upload_time": "2023-02-07T22:45:22", "upload_time_iso_8601": "2023-02-07T22:45:22.441733Z", "url": "https://files.pythonhosted.org/packages/24/10/beedad92934044a6048639b9392d9c04bf4d525b5e6bee826994b98ddbd7/ak_file-0.0.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": null, "digests": { "blake2b_256": "00beee7d865834e13132d86913ec045ecbddddb5d952da468e43c7d26bce18a8", "md5": "0a1095f038171619b7a6cb301cb1da7e", "sha256": "0dee5953b7666a3a2a2edbc7da67b6bcdfbca73935e5a95aaecd61a0fd9fe4d0" }, "downloads": -1, "filename": "ak_file-0.0.1.tar.gz", "has_sig": false, "md5_digest": "0a1095f038171619b7a6cb301cb1da7e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 149772, "upload_time": "2023-02-07T22:45:31", "upload_time_iso_8601": "2023-02-07T22:45:31.632019Z", "url": "https://files.pythonhosted.org/packages/00/be/ee7d865834e13132d86913ec045ecbddddb5d952da468e43c7d26bce18a8/ak_file-0.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.2": [ { "comment_text": null, "digests": { "blake2b_256": "443b93db2796c42d0b983ee35ac18e5cdceb4f86a435ebc58d2dabcf72df48cf", "md5": "9d856aa2dc363f8345e9c3e632e6cce1", "sha256": "34e422f9ec8f0bdf898740ddda94e575607741669e7563da20ea2ee30a652bc5" }, "downloads": -1, "filename": "ak_file-0.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9d856aa2dc363f8345e9c3e632e6cce1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5313, "upload_time": "2023-02-07T23:07:00", "upload_time_iso_8601": "2023-02-07T23:07:00.623128Z", "url": "https://files.pythonhosted.org/packages/44/3b/93db2796c42d0b983ee35ac18e5cdceb4f86a435ebc58d2dabcf72df48cf/ak_file-0.0.2-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": null, "digests": { "blake2b_256": "1419df7e4d6aa222f538309a103d886d82c535a950e749177faf7c5307dd1180", "md5": "56681eecdb4a100abc57dc5f174ebef1", "sha256": "a120fea9fa30b20ec3e0c50f0c5537899d6fe02a7bc355a71b4f59ceccd42748" }, "downloads": -1, "filename": "ak_file-0.0.2.tar.gz", "has_sig": false, "md5_digest": "56681eecdb4a100abc57dc5f174ebef1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 149785, "upload_time": "2023-02-07T23:07:06", "upload_time_iso_8601": "2023-02-07T23:07:06.648164Z", "url": "https://files.pythonhosted.org/packages/14/19/df7e4d6aa222f538309a103d886d82c535a950e749177faf7c5307dd1180/ak_file-0.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.3": [ { "comment_text": null, "digests": { "blake2b_256": "94b6967023232203e33edbc16f5b35f8b81320578033b82c638d2117b044464d", "md5": "47a8c1c8ca8b48225ef540576a19b8e9", "sha256": "880036eb114537fa95ddc3fef007fcc4a24da976208a47c83227fe302068cb67" }, "downloads": -1, "filename": "ak_file-0.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "47a8c1c8ca8b48225ef540576a19b8e9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5443, "upload_time": "2023-02-08T00:16:20", "upload_time_iso_8601": "2023-02-08T00:16:20.720551Z", "url": "https://files.pythonhosted.org/packages/94/b6/967023232203e33edbc16f5b35f8b81320578033b82c638d2117b044464d/ak_file-0.0.3-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": null, "digests": { "blake2b_256": "2aa913d26062a7c59e81110038ae44493a7d109a0975bf62a1b67165c518925e", "md5": "419b59f90608087a53e362813a5e1ea7", "sha256": "cb970c7aa07a1e7f635b026833b3f40042ab815e77d7aaf834413688cfeb7bd5" }, "downloads": -1, "filename": "ak_file-0.0.3.tar.gz", "has_sig": false, "md5_digest": "419b59f90608087a53e362813a5e1ea7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6609, "upload_time": "2023-02-08T00:16:27", "upload_time_iso_8601": "2023-02-08T00:16:27.173175Z", "url": "https://files.pythonhosted.org/packages/2a/a9/13d26062a7c59e81110038ae44493a7d109a0975bf62a1b67165c518925e/ak_file-0.0.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.0.4": [ { "comment_text": null, "digests": { "blake2b_256": "a7617072bfb9d14c8b0d2a6ca64c889987b0e10c57f963541895f694a567e49f", "md5": "da404ad5bb9446ef627ec2e6dfb97066", "sha256": "d04e572c8abc2e35fcb1913cf53a3c38034fdfb63bfe1a856cd3317feb21e48c" }, "downloads": -1, "filename": "ak_file-0.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "da404ad5bb9446ef627ec2e6dfb97066", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5430, "upload_time": "2023-04-20T22:17:33", "upload_time_iso_8601": "2023-04-20T22:17:33.141471Z", "url": "https://files.pythonhosted.org/packages/a7/61/7072bfb9d14c8b0d2a6ca64c889987b0e10c57f963541895f694a567e49f/ak_file-0.0.4-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": null, "digests": { "blake2b_256": "c5e164c538d29d9496310b117b5201b27b4ebf3236af4f4699ab8e08f6c3bc74", "md5": "7df10060f3c0024da2ddec43d6b483a8", "sha256": "ac606b75d0e593d10cf29a1e82ff80726148a5ced7238fe59dbdc5c9a521cbce" }, "downloads": -1, "filename": "ak_file-0.0.4.tar.gz", "has_sig": false, "md5_digest": "7df10060f3c0024da2ddec43d6b483a8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6576, "upload_time": "2023-04-20T22:17:41", "upload_time_iso_8601": "2023-04-20T22:17:41.053403Z", "url": "https://files.pythonhosted.org/packages/c5/e1/64c538d29d9496310b117b5201b27b4ebf3236af4f4699ab8e08f6c3bc74/ak_file-0.0.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.1": [ { "comment_text": null, "digests": { "blake2b_256": "e416b3275e985be9c0ceae38700994a1fb393178bb131a786784d5a37f2af391", "md5": "4b46290abbcf886c969e5026d5c5a254", "sha256": "b71d257920593a4bd253afeeba6692d56422ba1d2f6ef38329d1faacf682e170" }, "downloads": -1, "filename": "ak_file-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4b46290abbcf886c969e5026d5c5a254", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6824, "upload_time": "2023-09-05T23:01:51", "upload_time_iso_8601": "2023-09-05T23:01:51.812784Z", "url": "https://files.pythonhosted.org/packages/e4/16/b3275e985be9c0ceae38700994a1fb393178bb131a786784d5a37f2af391/ak_file-0.1.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": null, "digests": { "blake2b_256": "5cf5addc4989b68acfaaee49453eec5f7e56157221ba668fcd344f4f71fda650", "md5": "f2467d61e025f95db9b20c55eb58a9b1", "sha256": "87a16bac7c48031eee6794ad04e4169f9ccb8d2cb227259e63233ca70e41f1b5" }, "downloads": -1, "filename": "ak_file-0.1.1.tar.gz", "has_sig": false, "md5_digest": "f2467d61e025f95db9b20c55eb58a9b1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7802, "upload_time": "2023-09-05T23:01:53", "upload_time_iso_8601": "2023-09-05T23:01:53.538718Z", "url": "https://files.pythonhosted.org/packages/5c/f5/addc4989b68acfaaee49453eec5f7e56157221ba668fcd344f4f71fda650/ak_file-0.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.2": [ { "comment_text": null, "digests": { "blake2b_256": "6c2e87a9cb0e17187ec133c8f2eab8cb0b88b1047d193f84238ce76150b65e4c", "md5": "1e92030eac19461f297312135e21bd68", "sha256": "cc107a1b45f8e2e23a162e7a134a624cf9a899fef027f71068c31be3b9fb431f" }, "downloads": -1, "filename": "ak_file-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1e92030eac19461f297312135e21bd68", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7031, "upload_time": "2023-09-07T22:40:26", "upload_time_iso_8601": "2023-09-07T22:40:26.566459Z", "url": "https://files.pythonhosted.org/packages/6c/2e/87a9cb0e17187ec133c8f2eab8cb0b88b1047d193f84238ce76150b65e4c/ak_file-0.1.2-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": null, "digests": { "blake2b_256": "28e714c8c9e6a4e56a101f415c13e536578eca5f3ba03d181c0d2446121c5738", "md5": "17619136ada3ad9b4618834824ceb00e", "sha256": "583b03f0d2fa7111726d10ac043f66e573acd429e873eb998a1098fd2f26e22d" }, "downloads": -1, "filename": "ak_file-0.1.2.tar.gz", "has_sig": false, "md5_digest": "17619136ada3ad9b4618834824ceb00e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8011, "upload_time": "2023-09-07T22:40:28", "upload_time_iso_8601": "2023-09-07T22:40:28.650665Z", "url": "https://files.pythonhosted.org/packages/28/e7/14c8c9e6a4e56a101f415c13e536578eca5f3ba03d181c0d2446121c5738/ak_file-0.1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.3": [ { "comment_text": null, "digests": { "blake2b_256": "0b70048d2895b9c361b2d477a5a7b5ef07b496e6c841d7c081797b9955f64a75", "md5": "182d4fdcb1d34b03ea2d0682dfd32414", "sha256": "5e4af1878218c342aad2db00f26c855cc91d17eb513950cb998814de81bda1e0" }, "downloads": -1, "filename": "ak_file-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "182d4fdcb1d34b03ea2d0682dfd32414", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.11.0", "size": 7639, "upload_time": "2023-09-07T23:09:42", "upload_time_iso_8601": "2023-09-07T23:09:42.438193Z", "url": "https://files.pythonhosted.org/packages/0b/70/048d2895b9c361b2d477a5a7b5ef07b496e6c841d7c081797b9955f64a75/ak_file-0.1.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": null, "digests": { "blake2b_256": "87a7c40865374cbac073748766da4505d48a2a9f228ddf145ddf76f7573660c7", "md5": "0f0454e900f202946b202f9015eda734", "sha256": "5f16012d2650bebc2f539b7a84d9f95059e4eb65acea696306bc4efbeca91817" }, "downloads": -1, "filename": "ak_file-0.1.3.tar.gz", "has_sig": false, "md5_digest": "0f0454e900f202946b202f9015eda734", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.11.0", "size": 9508, "upload_time": "2023-09-07T23:09:44", "upload_time_iso_8601": "2023-09-07T23:09:44.173283Z", "url": "https://files.pythonhosted.org/packages/87/a7/c40865374cbac073748766da4505d48a2a9f228ddf145ddf76f7573660c7/ak_file-0.1.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.4": [ { "comment_text": null, "digests": { "blake2b_256": "f9a74c8e7b231b2cd1488eef73e2d473e7c1210b44f7e3c1f838d2c29c85f7d1", "md5": "295fd3f8b977a58bdf5c97b2fcca7825", "sha256": "0187e715ccda787d0cf1afa10d30080c046b07ac9c60bcc702b99c3a2227ac79" }, "downloads": -1, "filename": "ak_file-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "295fd3f8b977a58bdf5c97b2fcca7825", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.11.0", "size": 7811, "upload_time": "2023-11-06T05:29:53", "upload_time_iso_8601": "2023-11-06T05:29:53.520273Z", "url": "https://files.pythonhosted.org/packages/f9/a7/4c8e7b231b2cd1488eef73e2d473e7c1210b44f7e3c1f838d2c29c85f7d1/ak_file-0.1.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": null, "digests": { "blake2b_256": "f8c014d0fd0df9a531c24c9d00ce639147b16035b4c057d735da865cb9fda74d", "md5": "eb81ccc8f271572ad132da2f609d1c8a", "sha256": "86cb6630b7e3104c011aab46cd788fae5844e887db21097c4984772fd22e41bf" }, "downloads": -1, "filename": "ak_file-0.1.4.tar.gz", "has_sig": false, "md5_digest": "eb81ccc8f271572ad132da2f609d1c8a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.11.0", "size": 9824, "upload_time": "2023-11-06T05:29:55", "upload_time_iso_8601": "2023-11-06T05:29:55.590276Z", "url": "https://files.pythonhosted.org/packages/f8/c0/14d0fd0df9a531c24c9d00ce639147b16035b4c057d735da865cb9fda74d/ak_file-0.1.4.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": null, "digests": { "blake2b_256": "f9a74c8e7b231b2cd1488eef73e2d473e7c1210b44f7e3c1f838d2c29c85f7d1", "md5": "295fd3f8b977a58bdf5c97b2fcca7825", "sha256": "0187e715ccda787d0cf1afa10d30080c046b07ac9c60bcc702b99c3a2227ac79" }, "downloads": -1, "filename": "ak_file-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "295fd3f8b977a58bdf5c97b2fcca7825", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.11.0", "size": 7811, "upload_time": "2023-11-06T05:29:53", "upload_time_iso_8601": "2023-11-06T05:29:53.520273Z", "url": "https://files.pythonhosted.org/packages/f9/a7/4c8e7b231b2cd1488eef73e2d473e7c1210b44f7e3c1f838d2c29c85f7d1/ak_file-0.1.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": null, "digests": { "blake2b_256": "f8c014d0fd0df9a531c24c9d00ce639147b16035b4c057d735da865cb9fda74d", "md5": "eb81ccc8f271572ad132da2f609d1c8a", "sha256": "86cb6630b7e3104c011aab46cd788fae5844e887db21097c4984772fd22e41bf" }, "downloads": -1, "filename": "ak_file-0.1.4.tar.gz", "has_sig": false, "md5_digest": "eb81ccc8f271572ad132da2f609d1c8a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.11.0", "size": 9824, "upload_time": "2023-11-06T05:29:55", "upload_time_iso_8601": "2023-11-06T05:29:55.590276Z", "url": "https://files.pythonhosted.org/packages/f8/c0/14d0fd0df9a531c24c9d00ce639147b16035b4c057d735da865cb9fda74d/ak_file-0.1.4.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }