{"id":21073241,"url":"https://github.com/valentinvignal/epicpath","last_synced_at":"2025-07-29T06:08:52.898Z","repository":{"id":57426721,"uuid":"237634204","full_name":"ValentinVignal/EpicPath","owner":"ValentinVignal","description":"A high Level Python Librairy to work with Path","archived":false,"fork":false,"pushed_at":"2021-03-21T16:55:42.000Z","size":45,"stargazers_count":15,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-23T22:57:33.179Z","etag":null,"topics":["epic","epic-path","path","python","python-libraries"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ValentinVignal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-02-01T15:24:18.000Z","updated_at":"2024-10-25T17:19:06.000Z","dependencies_parsed_at":"2022-09-19T06:41:16.800Z","dependency_job_id":null,"html_url":"https://github.com/ValentinVignal/EpicPath","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/ValentinVignal/EpicPath","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ValentinVignal%2FEpicPath","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ValentinVignal%2FEpicPath/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ValentinVignal%2FEpicPath/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ValentinVignal%2FEpicPath/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ValentinVignal","download_url":"https://codeload.github.com/ValentinVignal/EpicPath/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ValentinVignal%2FEpicPath/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267639011,"owners_count":24119766,"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","status":"online","status_checked_at":"2025-07-29T02:00:12.549Z","response_time":2574,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["epic","epic-path","path","python","python-libraries"],"created_at":"2024-11-19T19:00:30.549Z","updated_at":"2025-07-29T06:08:52.864Z","avatar_url":"https://github.com/ValentinVignal.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# :sparkles: EpicPath :sparkles: \nA high Level Python Library to work with Path\n\n`EpicPath` is a SubClass of `Path` from `pathlib`.\nThis class aims to simplify high level operations with path\n\n# Context and history\n\nI'm a Computing Student tired of creating again and again the same functions through all my projects to do the exact same things... :tired_face: \nIndeed, in every of my projects I create files, delete them, create folders and delete them *blablabla* ...\nTo solve this boring problem, I decided to create my own library that I can create one and only one time to use and reuse as many times as I wish to.\nAnd because I'm trying to be nice to this cruel world I share this *Epic* project with all of you :heart:\nSo feel free to download it, use it and give feedback about this ***epic***  creation. :+1:\n\n\n# Description\n\nYou already know `Path` from the library `pathlib`. Well, `EpicPath` is all like `Path` but in a ***EPIC*** way :tada: . \n\nIt is a *pseudo* subclass of `Path` but consider it as a subclass, it supports all the methods and options of the original library.\nIt is also a `os.PathLike` object which allows you to use as you would want to:\n\n```python\nwith open(my_epic_path_object, 'w') as f:\n    f.write('This is epic !!!')\n```\n\n \n# Use it\n\n\n\n## Install it\n\n```shell\npip install epic-path\n```\n\n## Use it\n\n```python\nfrom epicpath import EpicPath as EPath\n\npath = EPath('f1', 'f2')        # EpicPath('f1/f2')\npath2 = path / 'f3'             # EpicPath('f1/f2/f3')\npath2 += '_0'                   # EpicPath('f1/f2/f3_0')\n```\n\n[See the documentation](doc/README.md)   \n\n# :warning: Warnings :warning:\n\nBecause `Path` is build-in Python libraries, some other library\n(like [PIL](https://github.com/python-pillow/Pillow) or [skopt](https://github.com/scikit-optimize/scikit-optimize))\ncan have a specific behavior when the given filename is a `str` or a `Path` object.\nUnfortunately, they don't support an `EpicPath` object ... :cry: But no worries, it is still possible to give an `EpicPath` object as a `Path` object or a `str` object using the properties `.path` and `.str`:\n\n```python\npath = EPath('f1', 'f2')        # EpicPath('f1/f2')\n\nweird_function(path.path)       # Gives Path('f1/f2') to the function\nweird_function(path.str)        # Gives the string 'f1/f2' to the function\n```\n\n \n ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvalentinvignal%2Fepicpath","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvalentinvignal%2Fepicpath","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvalentinvignal%2Fepicpath/lists"}