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_buttons
: Mutil Refresh button configuration, type: [{'button_name': str, 'refresh_value': datetime}], default values: []. When the button is clicked, it refreshes the selected time range.available_dates
: Available dates, type: List[datetime], default value: None, can select all dates.- 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().available_dates
: Available dates, type: List[datetime], default value: None, can select all dates.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.5.tar.gz
(939.5 kB
view details)
Built Distribution
File details
Details for the file streamlit_date_picker-0.0.5.tar.gz
.
File metadata
- Download URL: streamlit_date_picker-0.0.5.tar.gz
- Upload date:
- Size: 939.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.8.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6aa12d3ca319c3fb9a144d70134d2980ab9fe28411daa6766365f0ea081aa284 |
|
MD5 | 2a0048bc0e34acc803d81859cab58a47 |
|
BLAKE2b-256 | 994a4b31704f0854077ed5d16720f14819bd5cddcbeb3a6858d4a6e76ae08754 |
File details
Details for the file streamlit_date_picker-0.0.5-py3-none-any.whl
.
File metadata
- Download URL: streamlit_date_picker-0.0.5-py3-none-any.whl
- Upload date:
- Size: 2.8 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 | 34df7a6e55773079480a46b929ddd5e3cca47590395f265145afafcca4063999 |
|
MD5 | 7106d287ff312b9836f9245fa6868555 |
|
BLAKE2b-256 | ed6101299712d3537e18d4452e8598115390826089e7000faf7cc5b20212aa81 |