A versatile slider with fine-tuned control, adjustable precision, and direct text input for exact values.
Project description
panel-precision-slider
A versatile slider with fine-tuned control, adjustable precision, and direct text input for exact values.
Features
- Toggle Between Slider and Input: Switch between a slider and a direct input field for value selection.
- Adjustable Step Size: Show or hide the step size adjustment slider to control the precision of the value.
- Customizable Icons: Use toggle icons to enhance the user interface for swapping views and showing steps.
Installation
Install it via pip
:
pip install panel-precision-slider
Development
This project is managed by pixi. You can install the package in development mode using:
git clone https://github.com/panel-extensions/panel-precision-slider
cd panel-precision-slider
pixi run pre-commit-install
pixi run postinstall
pixi run test
Usage
The PrecisionSlider
is a custom Panel component that provides a synchronized slider and input field for selecting numerical values with adjustable precision. Users can toggle between a slider and a direct input field, as well as show or hide the step size adjustment.
Basic Example
import panel as pn
from panel_precision_slider import PrecisionSlider
pn.extension()
# Instantiate the PrecisionSlider
precision_slider = PrecisionSlider(
value=5,
min=0,
max=10,
step=0.1,
show_step=True,
swap=False
)
# Display the slider
precision_slider
Integrating with Other Panel Components
You can integrate PrecisionSlider
with other Panel widgets and layouts to build interactive dashboards.
import panel as pn
import numpy as np
import holoviews as hv
from panel_precision_slider import PrecisionSlider
hv.extension('bokeh')
pn.extension()
def sine_wave(frequency):
x = np.linspace(0, 10, 500)
y = np.sin(2 * np.pi * frequency * x)
return hv.Curve((x, y), 'x', 'sin(2πfx)')
precision_slider = PrecisionSlider(name="Select Value", value=2.5, min=0, max=5, step=0.05)
sine_plot = pn.bind(sine_wave, precision_slider.param.value)
layout = pn.Column(
"### Precision Slider Example",
precision_slider,
sine_plot
)
layout.servable()
Contributing
Contributions are welcome! Please follow these steps to contribute:
- Fork the repository.
- Create a new branch:
git checkout -b feature/YourFeature
. - Make your changes and commit them:
git commit -m 'Add some feature'
. - Push to the branch:
git push origin feature/YourFeature
. - Open a pull request.
Please ensure your code adheres to the project's coding standards and passes all tests.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file panel_precision_slider-0.1.0.tar.gz
.
File metadata
- Download URL: panel_precision_slider-0.1.0.tar.gz
- Upload date:
- Size: 116.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26053c34808d538966f034005bb6e140f49b49786eccafccdb26b4eaabb2720e |
|
MD5 | 515c5cd6cd0342a417b91de95e4cbc0a |
|
BLAKE2b-256 | e805bbf4777baaba206a50152fcb767b2fbba0f10d3acfefc326a85b16868d2b |
File details
Details for the file panel_precision_slider-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: panel_precision_slider-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71ebbe488a9f782c831879dd77aab5211c8d0882f686ab5128c1c48dc521fd58 |
|
MD5 | 0c912400f159a1c11469588a2bb46ed9 |
|
BLAKE2b-256 | fc9cc8aaca7dc9e49f9beb55d7cf8bef11fdca3736c4982dd39ecd9c72f02725 |