{"id":27595690,"url":"https://github.com/mkoculak/fileexplorer.jl","last_synced_at":"2025-04-22T12:16:50.013Z","repository":{"id":276135887,"uuid":"928066699","full_name":"mkoculak/FileExplorer.jl","owner":"mkoculak","description":"Explore folders and files as Julia structures.","archived":false,"fork":false,"pushed_at":"2025-02-13T23:14:43.000Z","size":266,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-22T12:16:44.708Z","etag":null,"topics":["filesystem","julia"],"latest_commit_sha":null,"homepage":"https://mkoculak.github.io/FileExplorer.jl/","language":"Julia","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/mkoculak.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-06T02:11:26.000Z","updated_at":"2025-02-16T14:45:52.000Z","dependencies_parsed_at":"2025-02-06T14:36:50.278Z","dependency_job_id":null,"html_url":"https://github.com/mkoculak/FileExplorer.jl","commit_stats":null,"previous_names":["mkoculak/fileexplorer.jl"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkoculak%2FFileExplorer.jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkoculak%2FFileExplorer.jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkoculak%2FFileExplorer.jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkoculak%2FFileExplorer.jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mkoculak","download_url":"https://codeload.github.com/mkoculak/FileExplorer.jl/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250237844,"owners_count":21397403,"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":["filesystem","julia"],"created_at":"2025-04-22T12:16:49.221Z","updated_at":"2025-04-22T12:16:49.986Z","avatar_url":"https://github.com/mkoculak.png","language":"Julia","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FileExplorer\n\n[![Build Status](https://github.com/mkoculak/FileExplorer.jl/actions/workflows/CI.yml/badge.svg?branch=master)](https://github.com/mkoculak/FileExplorer.jl/actions/workflows/CI.yml?query=branch%3Amaster)\n\nPackage provides a simple interface to explore your filesystem as a tree structure and print it in the REPL.  \nIt has two main functions:  \n#### 1. represent the chosen directory or file as a Julia struct\n```julia\njulia\u003e using FileExplorer\njulia\u003e f = Folder(\"path/to/FileExplorer.jl\")\nFolder: FileExplorer.jl (2 folders, 4 files)\n```\nIts contents can be found in `children` filed and accessed as a dictionary:\n```julia\njulia\u003e f.children\nOrderedCollections.OrderedDict{String, FileExplorer.ExpNode} with 6 entries:\n  \"src\"           =\u003e Folder: src (0 folders, 5 files)…\n  \"test\"          =\u003e Folder: test (0 folders, 1 files)…\n  \"LICENSE\"       =\u003e File: LICENSE…\n  \"Manifest.toml\" =\u003e File: Manifest.toml…\n  \"Project.toml\"  =\u003e File: Project.toml…\n  \"README.md\"     =\u003e File: README.md…\n\njulia\u003e f[\"Project.toml\"]\nFile: Project.toml\n```\nAdditionally, each folder and file contains more information about itself in the `stat` field.\n\u0026nbsp;  \n#### 2. display the contents in the REPL\nWe mimic the behavior of popular commands like `ls` and `dir` to provide a text-only overview:\n```julia\njulia\u003e ls(f)\nPath: D:\\Github\\FileExplorer.jl\nTotal elements: 6\nsrc  test  LICENSE  Manifest.toml  Project.toml  README.md\n\njulia\u003e ls(z, long=true)\nPath: D:\\Github\\FileExplorer.jl\nTotal elements: 6\ndrw-rw-rw-     0  07 Sep 12:09  src\ndrw-rw-rw-     0  09 Apr 14:04  test\n-rw-rw-rw-  1115  09 Apr 14:04  LICENSE\n-rw-rw-rw-   764  17 Sep 22:09  Manifest.toml\n-rw-rw-rw-   438  17 Sep 22:09  Project.toml\n-rw-rw-rw-   332  25 Nov 01:11  README.md\n```\nAs well as a richer tree representation:\n```julia\njulia\u003e browse(f)\n📁 FileExplorer.jl\n ├─ 📁 src\n ├─ 📁 test\n ├─ 📄 LICENSE\n ├─ 📄 Manifest.toml\n ├─ 📄 Project.toml\n └─ 📄 README.md\n```\nPackage allows for a number of customisations to the displayed output through keyword arguments. For more information, please refer to the documentation or the docstrings.\n\u0026nbsp;\n\n## Roadmap\nFileExplorer.jl is a work in progress and we are open to suggestions and contributions.\nThere is a number of features that we would like to add in the future, such as:\n- [ ] interface to easily extend the package with custom folder/file types\n- [ ] styling handled by `Preferences.jl`\n- [ ] a dedicated REPL mode to browse the filesystem\n- [ ] interactive browsing in the REPL  \n\nIf you have any ideas how to implement them or would like to contribute in any other way, please let us know!\n\u0026nbsp;\n\n## Acknowledgements\nThis package is mostly an extension of an [example](https://github.com/JuliaCollections/AbstractTrees.jl/blob/master/test/examples/fstree.jl) in the AbstractTrees.jl package. Many thanks to the authors of the package for the inspiration.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmkoculak%2Ffileexplorer.jl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmkoculak%2Ffileexplorer.jl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmkoculak%2Ffileexplorer.jl/lists"}