Skip to main content

Python file chooser widget for use in Jupyter/IPython in conjunction with ipywidgets

Project description

ipyfilechooser

A simple Python file chooser widget for use in Jupyter/IPython in conjunction with ipywidgets. The selected path and file are available via .selected_path and .selected_filename respectvely or as a single combined filepath via .selected. The dialog can be reset to its default path and filename by using .reset().

When a typed filename matches an existing file entry in the current folder the entry will be highlighted. If a typed filename matches a folder entry in the current view the selection button is disabled ensure the user is aware of the match. To select a folder simply leave the filename field empty.

To emphasize the risk of overwriting existing files, the selected filepath is displayed in green if the file does not exist and orange if it does.

Downloads

Usage

from ipyfilechooser import FileChooser

# Create and display a FileChooser widget
fc = FileChooser('/Users/crahan/FC demo')
display(fc)

# Print the selected path, filename, or both
print(fc.selected_path)
print(fc.selected_filename)
print(fc.selected)

# Change defaults and reset the dialog
fc.default_path = '/Users/crahan/'
fc.default_filename = 'output.txt'
fc.reset()

# Shorthand reset
fc.reset(path='/Users/crahan/', filename='output.txt')

# Change hidden files
fc.show_hidden = True

# Show or hide folder icons
fc.use_dir_icons = True

# Switch to folder-only mode
fc.show_only_dirs = True

# Set a file filter pattern (uses https://docs.python.org/3/library/fnmatch.html)
fc.filter_pattern = '*.txt'

# Set multiple file filter patterns (uses https://docs.python.org/3/library/fnmatch.html)
fc.filter_pattern = ['*.jpg', '*.png']

# Change the title (use '' to hide)
fc.title = '<b>FileChooser title</b>'

# Sample callback function
def change_title(chooser):
    chooser.title = '<b>Callback function executed</b>'

# Register callback function
fc.register_callback(change_title)

Functions and properties

fc.reset()
fc.refresh()
fc.register_callback(function_name)
fc.show_hidden
fc.use_dir_icons
fc.show_only_dirs
fc.rows
fc.title
fc.filter_pattern
fc.default
fc.default_path
fc.default_filename
fc.selected
fc.selected_path
fc.selected_filename

Screenshots

Closed vs open dialog

Screenshot 1

Screenshot 2

Existing vs new file selection

Screenshot 3

Screenshot 4

Quick navigation dropdown

Screenshot 5

Use folder icons

Screenshot 6

Release notes

0.4.4

  • Added typing hints (@Mandroide)
  • Updated max line length check from 90 to 120 characters
  • Fixed filter_pattern values not being treated as case-insensitive
  • General code cleanup

0.4.3

  • Prevent applying the selected value if the filename doesn't match one of the filter_pattern values

0.4.2

  • Added ability to specify a list of fnmatch pattern strings for filter_pattern

0.4.1

  • Fixed issue with select_default not being applied on reset

0.4.0

  • Option added to specify a file filter (@andriykorchak)
  • Add support for ValueWidget and get_interact_value()
  • Updated sample notebook with filter example
  • Updated Development Status to Production/Stable

0.3.5

  • Option added to only display folders (@andriykorchak)

0.3.4

  • Option added to display folder icons (@ptooley)

0.3.3

  • Option added to add self as an argument to the callback function (@ptooley)

0.3.2

  • Return None if file is not selected (@danjjl)

0.3.1

  • Option to register a callback function (register_callback(function_name))

0.3.0

  • Ability to select a folder
  • Support for Windows drive letters
  • Option to use the defaults as the selected value

0.2.0

  • First public release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ipyfilechooser-0.4.4.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

ipyfilechooser-0.4.4-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

Details for the file ipyfilechooser-0.4.4.tar.gz.

File metadata

  • Download URL: ipyfilechooser-0.4.4.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.3

File hashes

Hashes for ipyfilechooser-0.4.4.tar.gz
Algorithm Hash digest
SHA256 8e24966349c5e42b68e921ad2da0c9341a4b54746f51c8c65e0c74e02e9dece2
MD5 3f7fa99205d290331388a92b4b8c9845
BLAKE2b-256 76f1620a5389c1c7c26bf6485207648458fa6adc647af68ff7d49146d4f3664f

See more details on using hashes here.

File details

Details for the file ipyfilechooser-0.4.4-py3-none-any.whl.

File metadata

  • Download URL: ipyfilechooser-0.4.4-py3-none-any.whl
  • Upload date:
  • Size: 8.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.3

File hashes

Hashes for ipyfilechooser-0.4.4-py3-none-any.whl
Algorithm Hash digest
SHA256 e4ed8b12173bae2286115885b936f31cd5a356b3b2b39a388d1d6c21161eaac9
MD5 f90b871131769c3795d2439bb5e6ddc1
BLAKE2b-256 5012170368d1928c27c60bcc70bc56871f65a9d1d7c6a89e3f3dd87cda293d00

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page