---
tags: [gradio-custom-component, DateTime]
title: gradio_datetimerange
short_description: Component to create time ranges.
colorFrom: blue
colorTo: yellow
sdk: gradio
pinned: false
app_file: space.py
---
# `gradio_datetimerange`
Component to create time ranges.
## Installation
```bash
pip install gradio_datetimerange
```
## Usage
```python
import gradio as gr
from gradio_datetimerange import DateTimeRange
import pandas as pd
from random import randint
temp_sensor_data = pd.DataFrame(
{
"time": pd.date_range("2021-01-01", end="2021-01-05", periods=200),
"temperature": [randint(50 + 10 * (i % 2), 65 + 15 * (i % 2)) for i in range(200)],
"humidity": [randint(50 + 10 * (i % 2), 65 + 15 * (i % 2)) for i in range(200)],
"location": ["indoor", "outdoor"] * 100,
}
)
with gr.Blocks() as demo:
date = DateTimeRange(["2021-01-01 00:00:00", "2021-01-07 00:00:00"])
merged_temp_plot = gr.LinePlot(
temp_sensor_data,
x="time",
y="temperature",
)
split_temp_plot = gr.LinePlot(
temp_sensor_data,
x="time",
y="temperature",
color="location",
)
with gr.Row():
humidity_bar_plot = gr.BarPlot(
temp_sensor_data,
x="time",
y="humidity",
color="location",
x_bin="1h",
)
humidity_scatter_plot = gr.ScatterPlot(
temp_sensor_data,
x="time",
y="humidity",
color="location",
)
date.bind([merged_temp_plot, split_temp_plot, humidity_bar_plot, humidity_scatter_plot])
if __name__ == "__main__":
demo.launch()
```
## `DateTimeRange`
### Initialization
name | type | default | description |
---|---|---|---|
value |
```python tuple[float | str | datetime, float | str | datetime] | None ``` | None |
default value for datetime. |
include_time |
```python bool ``` | True |
If True, the component will include time selection. If False, only date selection will be available. |
type |
```python Literal["timestamp", "datetime", "string"] ``` | "timestamp" |
The type of the value. Can be "timestamp", "datetime", or "string". If "timestamp", the value will be a number representing the start and end date in seconds since epoch. If "datetime", the value will be a datetime object. If "string", the value will be the date entered by the user. |
timezone |
```python str | None ``` | None |
The timezone to use for timestamps, such as "US/Pacific" or "Europe/Paris". If None, the timezone will be the local timezone. |
quick_ranges |
```python list[str] | None ``` | None |
List of strings representing quick ranges to display, such as ["30s", "1h", "24h", "7d"]. Set to [] to clear. |
label |
```python str | None ``` | None |
The label for this component. Appears above the component and is also used as the header if there are a table of examples for this component. If None and used in a `gr.Interface`, the label will be the name of the parameter this component is assigned to. |
show_label |
```python bool | None ``` | None |
if True, will display label. |
info |
```python str | None ``` | None |
additional component description. |
every |
```python float | None ``` | None |
If `value` is a callable, run the function 'every' number of seconds while the client connection is open. Has no effect otherwise. The event can be accessed (e.g. to cancel it) via this component's .load_event attribute. |
scale |
```python int | None ``` | None |
relative size compared to adjacent Components. For example if Components A and B are in a Row, and A has scale=2, and B has scale=1, A will be twice as wide as B. Should be an integer. scale applies in Rows, and to top-level Components in Blocks where fill_height=True. |
min_width |
```python int ``` | 160 |
minimum pixel width, will wrap if not sufficient screen space to satisfy this value. If a certain scale value results in this Component being narrower than min_width, the min_width parameter will be respected first. |
visible |
```python bool ``` | True |
If False, component will be hidden. |
elem_id |
```python str | None ``` | None |
None |
elem_classes |
```python list[str] | str | None ``` | None |
An optional list of strings that are assigned as the classes of this component in the HTML DOM. Can be used for targeting CSS styles. |
render |
```python bool ``` | True |
If False, component will not render be rendered in the Blocks context. Should be used if the intention is to assign event listeners now but render the component later. |
key |
```python int | str | None ``` | None |
if assigned, will be used to assume identity across a re-render. Components that have the same key across a re-render will have their value preserved. |