this is date picker for streamlit
Project description
Streamlit DatePicker
Project Introduction
streamlit-date-picker
is a date picker designed for use with Streamlit. It allows users to easily select a range of dates and times.
Installation
Install the package using the following command:
pip install streamlit-date-picker
Usage
import streamlit as st
from datetime import datetime, timedelta
from streamlit_date_picker import date_range_picker, date_picker, PickerType
st.set_page_config(
page_title="Streamlit Date Picker",
page_icon="📅",
layout="wide",
)
st.title('Streamlit Date Picker')
st.subheader('Date Picker')
st.markdown("#### 1.Date Picker")
default_value = datetime.now()
select_date = date_picker(picker_type=PickerType.date, value=default_value, key='date_picker')
if select_date:
st.write(f"Date Picker: {select_date}")
st.markdown("#### 2.Available Date Picker")
default_value = datetime.now()
available_datas = [
datetime.now() - timedelta(days=4),
datetime.now() - timedelta(days=3),
datetime.now() - timedelta(days=1),
datetime.now(),
datetime.now() + timedelta(days=1),
datetime.now() + timedelta(days=3),
datetime.now() + timedelta(days=4),
]
select_date = date_picker(picker_type=PickerType.date, value=default_value, key='available_date_picker', available_dates=available_datas)
if select_date:
st.write(f"Date Picker: {select_date}")
st.subheader('Date Range Picker')
st.markdown("#### 1.Time Range Picker")
default_start, default_end = datetime.now() - timedelta(minutes=30), datetime.now()
refresh_value = timedelta(minutes=30)
refresh_buttons = [{
'button_name': 'Refresh Last 30 Minutes',
'refresh_value': refresh_value
}]
date_range_string = date_range_picker(picker_type=PickerType.time,
start=default_start, end=default_end,
key='time_range_picker',
refresh_buttons=refresh_buttons)
if date_range_string:
start, end = date_range_string
st.write(f"Time Range Picker [{start}, {end}]")
st.markdown("#### 2.Date Range Picker")
default_start, default_end = datetime.now() - timedelta(days=1), datetime.now()
refresh_value = timedelta(days=1)
refresh_buttons = [{
'button_name': 'Refresh Last 1 Days',
'refresh_value': refresh_value
}]
date_range_string = date_range_picker(picker_type=PickerType.date,
start=default_start, end=default_end,
key='date_range_picker',
refresh_buttons=refresh_buttons)
if date_range_string:
start, end = date_range_string
st.write(f"Date Range Picker [{start}, {end}]")
st.markdown("#### 3.Week Range Picker")
default_start, default_end = datetime.now() - timedelta(days=7), datetime.now()
refresh_value = timedelta(days=7)
refresh_buttons = [{
'button_name': 'Refresh Last 1 Week',
'refresh_value': refresh_value
}]
date_range_string = date_range_picker(picker_type=PickerType.week,
start=default_start, end=default_end,
key='week_range_picker',
refresh_buttons=refresh_buttons)
if date_range_string:
start, end = date_range_string
st.write(f"Week Range Picker [{start}, {end}]")
st.markdown("#### 4.Month Range Picker")
default_start, default_end = datetime.now() - timedelta(days=30), datetime.now()
refresh_value = timedelta(days=30)
refresh_buttons = [{
'button_name': 'Refresh Last 1 Month',
'refresh_value': refresh_value
}]
date_range_string = date_range_picker(picker_type=PickerType.month,
start=default_start, end=default_end,
key='month_range_picker',
refresh_buttons=refresh_buttons)
if date_range_string:
start, end = date_range_string
st.write(f"Month Range Picker [{start}, {end}]")
st.markdown("#### 5.Year Range Picker")
default_start, default_end = datetime.now() - timedelta(days=365), datetime.now()
refresh_value = timedelta(days=365)
refresh_buttons = [{
'button_name': 'Refresh Last 1 Year',
'refresh_value': refresh_value
}]
date_range_string = date_range_picker(picker_type=PickerType.year,
start=default_start, end=default_end,
key='year_range_picker',
refresh_buttons=refresh_buttons)
if date_range_string:
start, end = date_range_string
st.write(f"Year Range Picker [{start}, {end}]")
st.markdown("#### 6.Available Date Range Picker")
default_start, default_end = datetime.now() - timedelta(days=1), datetime.now()
available_datas = [
datetime.now() - timedelta(days=4),
datetime.now() - timedelta(days=3),
datetime.now() - timedelta(days=1),
datetime.now(),
datetime.now() + timedelta(days=1),
datetime.now() + timedelta(days=3),
datetime.now() + timedelta(days=4),
]
date_range_string = date_range_picker(picker_type=PickerType.date,
start=default_start, end=default_end,
available_dates=available_datas,
key='available_date_range_picker',)
if date_range_string:
start, end = date_range_string
st.write(f"Date Range Picker [{start}, {end}]")
st.markdown("#### 7.Mutil Refresh Button Date Time Range Picker")
default_start, default_end = datetime.now() - timedelta(minutes=30), datetime.now()
refresh_buttons = [
{
'button_name': 'Refresh Last 30 Minutes',
'refresh_value': timedelta(minutes=30)
},
{
'button_name': 'Refresh Last 60 Minutes',
'refresh_value': timedelta(minutes=60)
}
]
date_range_string = date_range_picker(picker_type=PickerType.time,
start=default_start, end=default_end,
key='mutil_time_range_picker',
refresh_buttons=refresh_buttons)
if date_range_string:
start, end = date_range_string
st.write(f"Time Range Picker [{start}, {end}]")
Parameter
Range Picker
picker_type
: Default picker type, type: str, options: time, date, week, month, quarter, year.key
: Picker key, default value: None.start
: Default start datetime, type: datetime, default value: datetime.now().end
: Default end datetime, type: int, default value: datetime.now().refresh_button
: Refresh button configuration, type: {'is_show': bool, 'button_name': str, 'refresh_value': datetime}, default values: None. When the button is clicked, it refreshes the selected time range.- The return value of datetime_range_picker is of type str.
Date Picker
picker_type
: Default picker type, type: str, options: time, date, week, month, quarter, year.value
: Default value, type: datetime, default value: datetime.now().key
: Picker key, default value: None.
License
This project is licensed under the MIT License. See the LICENSE file for more details.
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
streamlit_date_picker-0.0.4.tar.gz
(940.2 kB
view details)
Built Distribution
File details
Details for the file streamlit_date_picker-0.0.4.tar.gz
.
File metadata
- Download URL: streamlit_date_picker-0.0.4.tar.gz
- Upload date:
- Size: 940.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.8.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f8899e774291ddd024b48b94a7dd08a5a8fb6cccd58c9a35198a2e33695c7a35 |
|
MD5 | 57cf7e9cf7bd53cde32c5835580beb7a |
|
BLAKE2b-256 | e161f92abbd29b9ba81bfd28a3c9e3f3f5dd64f360d25b35a7b8455712865fb6 |
File details
Details for the file streamlit_date_picker-0.0.4-py3-none-any.whl
.
File metadata
- Download URL: streamlit_date_picker-0.0.4-py3-none-any.whl
- Upload date:
- Size: 1.9 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.8.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a398231a4e0380cac110f7b973018218f708499e41e86d38d29634e94b3d3a8 |
|
MD5 | 30637c63cdfc9e979660b62e2bf8f49d |
|
BLAKE2b-256 | f037e3cd993347f00a19c90938d9dc61de2a6193365d18c8a7f4f848ed207d5e |