{"id":21719966,"url":"https://github.com/ext/xtags","last_synced_at":"2025-09-08T19:38:08.318Z","repository":{"id":66297243,"uuid":"1370129","full_name":"ext/xtags","owner":"ext","description":"Proof of concept implementation of a filesystem based only on metadata.","archived":false,"fork":false,"pushed_at":"2011-02-15T18:39:22.000Z","size":100,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-29T14:17:45.533Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/ext.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-02-15T16:42:27.000Z","updated_at":"2013-10-27T03:27:20.000Z","dependencies_parsed_at":"2023-02-20T01:40:20.397Z","dependency_job_id":null,"html_url":"https://github.com/ext/xtags","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ext/xtags","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ext%2Fxtags","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ext%2Fxtags/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ext%2Fxtags/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ext%2Fxtags/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ext","download_url":"https://codeload.github.com/ext/xtags/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ext%2Fxtags/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274231436,"owners_count":25245585,"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-09-08T02:00:09.813Z","response_time":121,"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":[],"created_at":"2024-11-26T01:45:58.066Z","updated_at":"2025-09-08T19:38:08.286Z","avatar_url":"https://github.com/ext.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# XTags metadata pseudo-filesystem\n\nXTags is a proof-of-concept implementation of a filesystem with nothing but\nmetadata. Files does not exist in directories at all, but \"directories\" is used\nto browse files matching metadata.\n\nFor my own purposes, it is useful to store anything from mediafiles to\ndocuments. For this purpose XTags allows to query for metadata from sources like\nimdb, anidb, etc, and supports storing a thumbnail.\n\nThis implementation is using symlinks and must be manually updated after editing\nmetadata, and only works on directories (on the real filesystem)\n\n    # ls tag-test\n    year:2009 year:2010 year:2011 content-type:image-png content-type:video-x-matroska\n    # ls tag-test/content-type:image-png\n    year:2009 year:2010 year:2011 holiday-pictures-2009 holiday-pictures-2010 holiday-pictures-2011 sample-pictures\n    # ls tag-test/content-type:image-png/year:2010\n    holiday-pictures-2010 sample-pictures\n    # ls tag-test/content-type:image-png/year:2010/sample-pictures\n    sample01.png sample02.png sample03.png sample04.png sample05.png\n\nFor each \"directory\" an intersection is performed, e.g.\n`content-type:image-png/year:2010` is the intersection of all files tagged with\n`content-type:image/png` and `year:2010`. It also means that reversing the tags\nyields the same result: `year:2010/content-type:image-png\".\n\nCustom queries can be made using the xtags cli tool,\ne.g. `xtags query year:1995-2005`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fext%2Fxtags","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fext%2Fxtags","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fext%2Fxtags/lists"}