Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shunyooo/notion-tqdm
Progress Bar displayed in Notion like tqdm for Python
https://github.com/shunyooo/notion-tqdm
notion progress python tqdm
Last synced: about 1 month ago
JSON representation
Progress Bar displayed in Notion like tqdm for Python
- Host: GitHub
- URL: https://github.com/shunyooo/notion-tqdm
- Owner: shunyooo
- License: mit
- Created: 2020-11-20T18:54:05.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2023-01-24T17:45:08.000Z (almost 2 years ago)
- Last Synced: 2024-10-31T15:47:34.147Z (about 2 months ago)
- Topics: notion, progress, python, tqdm
- Language: Python
- Homepage:
- Size: 43 KB
- Stars: 87
- Watchers: 3
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# notion-tqdm
[![PyPI version](https://badge.fury.io/py/notion-tqdm.svg)](https://badge.fury.io/py/notion-tqdm) [![MIT License](http://img.shields.io/badge/license-MIT-blue.svg?style=flat)](LICENSE)
Progress Bar displayed in Notion like tqdm for Python using [`notion-py`](https://github.com/jamalex/notion-py).
![demo](https://user-images.githubusercontent.com/17490886/100184781-97ae2580-2f25-11eb-9700-2d9c5ce95592.gif)
`notion-tqdm` inherits from [tqdm](https://github.com/tqdm/tqdm), so it can be run in the same way as tqdm.
# Installation
```
pip install git+https://github.com/shunyooo/notion-tqdm
```# Usage
## Preparation
1. **Get Notion's Token** for reference **[here](https://www.notion.so/How-to-get-your-token-d7a3421b851f406380fb9ff429cd5d47)**
2. [**Duplicate this page**](https://www.notion.so/syunyo/notion-tqdm-template-7d2d53595e774c9eb7a020e00fd81fab) in your own workspace and **get the table link**.
(Note that it is a table link, not a page link.)## QuickStart
```python
from notion_tqdm import notion_tqdm
from time import sleep# Configure
token_v2 = ''
table_url = ''
notion_email = '' # For multi-account users
notion_tqdm.set_config(token_v2, table_url, email=notion_email, timezone='Asia/Tokyo')# Run Iterate
for i in notion_tqdm(range(100), desc='Processing'):
sleep(1)
print(i)
```A row representing the progress should be added to the table as shown below.
![](https://user-images.githubusercontent.com/17490886/100450225-9ed95d00-30f8-11eb-8932-19c4d9a1e955.png)
### Example: Running with the Other tqdm
```python
from tqdm.auto import tqdm as tqdm_auto
from time import sleep
# Nest tqdm
tqdm = lambda *args, **kwags: tqdm_auto(notion_tqdm(*args, **kwags))
for i in tqdm(range(100)):
sleep(1)
print(i)
```### Example: Set Custom Property
#### Set the common parameters before the iterative process.
```python
# After this setting, the value will be added to the column by default.
# The `machine` column must be added to the table beforehand.
notion_tqdm.set_common_props(machine='Jupyter1')
```#### Set the dynamic parameters during the iterative process.
```python
with notion_tqdm(range(50), desc='process') as pbar:
for i in pbar:
# ... some process ...
# The `precision`, `highparam` column must be
# added to the table beforehand.
pbar.update_props(precision=precision, highparam=highparam)
```### Example: Add text to a page in table row.
```python
with notion_tqdm(range(500), desc='add text test') as pbar:
for i in pbar:
sleep(1)
pbar.add_text(f'text: {i}')
```### Example: Timeline View
With Notion's **timeline view**, you can visualize the **execution time of the progress**.
![](https://user-images.githubusercontent.com/17490886/100450217-9c770300-30f8-11eb-8b8a-241fc622d700.png)