{"id":21362830,"url":"https://github.com/legopitstop/userfolder","last_synced_at":"2025-06-30T23:02:58.920Z","repository":{"id":56708696,"uuid":"450271473","full_name":"legopitstop/UserFolder","owner":"legopitstop","description":"A python library to easly save or write files that are in the users folder","archived":false,"fork":false,"pushed_at":"2024-04-15T03:53:17.000Z","size":3131,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-30T23:02:22.515Z","etag":null,"topics":["easy","filemanagement","folder","pypi","python","pythonpackage","userfolder"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/UserFolder/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/legopitstop.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":null,"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,"zenodo":null},"funding":{"github":null,"patreon":"Legopitstop","open_collective":null,"ko_fi":"legopitstop","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2022-01-20T22:01:42.000Z","updated_at":"2024-04-11T18:02:43.000Z","dependencies_parsed_at":"2023-12-17T00:25:39.250Z","dependency_job_id":"38fbd59d-cb61-41c3-b180-c2b389da1471","html_url":"https://github.com/legopitstop/UserFolder","commit_stats":{"total_commits":19,"total_committers":1,"mean_commits":19.0,"dds":0.0,"last_synced_commit":"36070cc9bebf30a1187ef0e32390bb690d2353b2"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/legopitstop/UserFolder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/legopitstop%2FUserFolder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/legopitstop%2FUserFolder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/legopitstop%2FUserFolder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/legopitstop%2FUserFolder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/legopitstop","download_url":"https://codeload.github.com/legopitstop/UserFolder/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/legopitstop%2FUserFolder/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262863687,"owners_count":23376452,"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":["easy","filemanagement","folder","pypi","python","pythonpackage","userfolder"],"created_at":"2024-11-22T06:15:37.667Z","updated_at":"2025-06-30T23:02:58.134Z","avatar_url":"https://github.com/legopitstop.png","language":"Python","readme":"# UserFolder\n\n[![PyPI](https://img.shields.io/pypi/v/userfolder)](https://pypi.org/project/userfolder/)\n[![Python](https://img.shields.io/pypi/pyversions/userfolder)](https://www.python.org/downloads//)\n![Downloads](https://img.shields.io/pypi/dm/UserFolder)\n![Status](https://img.shields.io/pypi/status/UserFolder)\n[![Issues](https://img.shields.io/github/issues/legopitstop/UserFolder)](https://github.com/legopitstop/UserFolder/issues)\n\nThis is a simple library that allows you to read, write and create files within your own folder inside the user folder (`C:/User/USER/.python/PACKAGE_ID`)\n\n## Installation\nInstall the module with pip:\n```bat\npip3 install UserFolder\n```\nUpdate existing installation: `pip3 install UserFolder --upgrade`\n\n## Features\n\n- Automatically creates the directory.\n- Read and write to files inside the User folder.\n- Includes an uninstall function that will delete all files inside your directory.\n- A function to open the directory or open the file that is inside the directory.\n\n## Requirements\n\n| Name | Descirption |\n|--|--|\n| [`requests`](https://pypi.org/project/requests/) | **Requests** is a simple, yet elegant, HTTP library. |\n| [`uuid`](https://pypi.org/project/uuid/) | UUID object and generation functions (Python 2.3 or higher) |\n\n## License\n\nMIT License\n\n\n## Examples\nDownload needed assets\n\n```Python\nimport UserFolder\n\nuser = UserFolder.User('com.legopitstop.example') # Create user folder\n\nif user.exists('UserFolder-1.0.2')==False: # Check if folder already exists\n    # Download ZIP\n    user.download('https://github.com/legopitstop/UserFolder/archive/refs/tags/v1.0.2.zip', 'package.zip')\n    # Unarchive ZIP\n    user.unarchive('package.zip')\n\n\n```\n\nUniversal config\n```Python\nimport tkinter\nimport UserFolder\nfrom UserFolder import dialog\nfrom enum import Enum\n\nuser = UserFolder.User('com.legopitstop.example') # Create user folder\n\n# Define values\nclass values(Enum):\n    item1 = 'item1'\n    item2 = 'item2'\n    item3 = 'item3'\n    item4 = 'item4'\n    item5 = 'item5'\n\n# Create config with section \"metadata\"\nconfig = UserFolder.Config(section='metadata')\n\n# Register options\nconfig.registerItem('option1', 'value1', str, 'Option1', 'String config item')\nconfig.registerItem('option2', True, bool, 'Option2', 'Boolean config item')\nconfig.registerItem('option3', 1, int, 'Option3', 'Integer config item', from_=0, to=10)\nconfig.registerItem('option4', 1.0, float, 'Option4', 'Float config item', from_=0.0, to=1.0)\nconfig.registerItem('option5', 50, range, 'Option5', 'Range config item')\nconfig.registerItem('option6', values.item1, values, 'Option6', 'Enum config item')\n\n# Tkinter UI\nroot = tkinter.Tk()\nroot.title('Main Window')\nroot.minsize(500, 500)\n\n# Open config dialog when pressed\ntkinter.Button(root, text='Open ConfigDialog', command=lambda: dialog.ConfigDialog(parent=root)).pack()\n\n# Open user folder when pressed\ntkinter.Button(root, text='Open User Folder', command=user.show).pack()\nroot.mainloop()\n```","funding_links":["https://patreon.com/Legopitstop","https://ko-fi.com/legopitstop"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flegopitstop%2Fuserfolder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flegopitstop%2Fuserfolder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flegopitstop%2Fuserfolder/lists"}