{"id":32177511,"url":"https://github.com/open-mss/fs_filepicker","last_synced_at":"2025-10-21T20:09:38.314Z","repository":{"id":60721086,"uuid":"106703248","full_name":"Open-MSS/fs_filepicker","owner":"Open-MSS","description":"QT file picker (Open|Save|GetDirectory) for accessing a pyfilesystem2","archived":false,"fork":false,"pushed_at":"2025-08-23T21:12:03.000Z","size":616,"stargazers_count":8,"open_issues_count":13,"forks_count":7,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2025-08-24T08:35:19.084Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://github.com/Open-MSS/fs_filepicker","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Open-MSS.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGES.rst","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":"AUTHORS"}},"created_at":"2017-10-12T14:25:22.000Z","updated_at":"2025-08-23T20:58:40.000Z","dependencies_parsed_at":"2022-10-03T19:02:27.363Z","dependency_job_id":"76365343-1ad2-4a21-9c34-1835757a7564","html_url":"https://github.com/Open-MSS/fs_filepicker","commit_stats":{"total_commits":305,"total_committers":5,"mean_commits":61.0,"dds":"0.013114754098360604","last_synced_commit":"85751bc2737b37a00ab516e976ec01c34157c8cc"},"previous_names":[],"tags_count":38,"template":false,"template_full_name":null,"purl":"pkg:github/Open-MSS/fs_filepicker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Open-MSS%2Ffs_filepicker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Open-MSS%2Ffs_filepicker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Open-MSS%2Ffs_filepicker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Open-MSS%2Ffs_filepicker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Open-MSS","download_url":"https://codeload.github.com/Open-MSS/fs_filepicker/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Open-MSS%2Ffs_filepicker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280325382,"owners_count":26311435,"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-10-21T02:00:06.614Z","response_time":58,"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":"2025-10-21T20:09:37.117Z","updated_at":"2025-10-21T20:09:38.306Z","avatar_url":"https://github.com/Open-MSS.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"fs_filepicker\n~~~~~~~~~~~~~\n\n|Source| |Coveralls| |Platforms| |Downloads| |License| |Documentation|\n\n.. |Source| image:: https://img.shields.io/badge/source-GitHub-303030.svg?maxAge=300\u0026style=flat-square\n   :target: https://github.com/open-mss/fs_filepicker\n\n.. |Platforms| image:: https://anaconda.org/conda-forge/fs_filepicker/badges/platforms.svg\n   :target: https://anaconda.org/conda-forge/fs_filepicker\n\n.. |Downloads| image:: https://anaconda.org/conda-forge/fs_filepicker/badges/downloads.svg\n   :target: https://anaconda.org/conda-forge/fs_filepicker   \n\n.. |License| image:: https://anaconda.org/conda-forge/fs_filepicker/badges/license.svg\n   :target: https://choosealicense.com/licenses/apache-2.0/\n\n.. |Coveralls| image:: https://coveralls.io/repos/github/Open-MSS/fs_filepicker/badge.svg?branch=develop\n   :target: https://coveralls.io/github/Open-MSS/fs_filepicker?branch=develop\n\n\n.. |Documentation| image:: https://readthedocs.org/projects/fs_filepicker/badge/?version=latest\n   :target: https://fs-filepicker.readthedocs.io/en/latest/?badge=latest\n\nThis project is based on `PyFilesystem2 \u003chttp://pyfilesystem2.readthedocs.io/\u003e`_\nAs fs_url you can enter any valid url which the fs.open_fs accepts.\n\n.. image:: docs/ui.png\n\nExample for commandline::\n\n   ~$: fs_filepicker -h\n   usage: fs_filepicker [-h] [-v] [-s] [-d DEFAULT_NAME] [-u FS_URL]\n                        [-f FILE_PATTERN] [-t TITLE]\n   optional arguments:\n     -h, --help            show this help message and exit\n     -v, --version         show version\n     -s, --save            show save button\n     -d DEFAULT_NAME, --default_name DEFAULT_NAME\n                           default name for saving\n     -u FS_URL, --fs_url FS_URL\n                           fs url to filesystem\n     -f FILE_PATTERN, --file_pattern FILE_PATTERN\n                           file pattern\n     -t TITLE, --title TITLE\n                           title of window\n\n\n   ~$: fs_filepicker -u ftp://ftp.de.debian.org/debian\n\n\nExamples for PyQt5::\n\n  from PyQt5 import QtWidgets\n  app = QtWidgets.QApplication([])\n  from fslib.fs_filepicker import getOpenFileName, getSaveFileName, getExistingDirectory, getOpenFileNameAndFilter, \\\n                                  getSaveFileNameAndFilter\n  filename = getOpenFileName(parent=None, fs_url=u'~/', file_pattern=u'All Files (*)',\n                           title=u'Open Config File')\n  print(filename)\n\n  patterns = [u'All Files (*)', u'Config Files (*.json)']\n  filename = getSaveFileName(parent=None, fs_url=u'~/', file_pattern=patterns,\n                             default_filename=u'config.json',\n                             title=u'Save Config File')\n  print(filename)\n\n  dirname = getExistingDirectory(parent=None, fs_url=u'~/')\n  print(dirname)\n\n  patterns = [u'Data Files (*.xml)', u'Config Files (*.json)']\n  filename, pattern = getOpenFileNameAndFilter(parent=None, fs_url=u'~/', file_pattern=patterns)\n  print(filename, pattern)\n\n  patterns = [u'Data Files (*.xml)', u'Config Files (*.json)']\n  filename, pattern = getSaveFileNameAndFilter(parent=None, fs_url=u'~/', file_pattern=patterns)\n  print(filename, pattern)\n\n  def load_file(self):\n      from fslib.fs_filepicker import getOpenFileName\n      filename = getOpenFileName(self, fs_url=u'ftp://ftp.de.debian.org/debian', file_pattern=u'All Files (*)',\n                                 title=u\"Debian files\")\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopen-mss%2Ffs_filepicker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopen-mss%2Ffs_filepicker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopen-mss%2Ffs_filepicker/lists"}