ForgeBox
Data science comprehensive toolbox
Installation
Easy simple installation in 1 line
pip install forgebox
If not specified, you need anaconda3 for most of the tools.
See nbs for most of the applications
Features 🚀 Briefing
This is a tool box with comprehensive utilies, to put it simply, I just hope most of my frequetyly used DIY tools in one place and can be easily installed and imported
Lazy, fast imports 🤯
The following command will import many frequent tools for data science, like pd for pandas, np for numpy, os, json, PIL.Image for image processing
from frogebox.imports import *
No more following verbosity
import pandas as pd
import numpy as np
import os
import json
...
Get a dataframe of file details under a directory
from forgebox.files import file_detail
file_detail("/Users/xiaochen.zhang/.cache/").sample(5)
| path | file_type | parent | depth |
---|
36 | /Users/xiaochen.zhang/.cache/torch/transformer... | json | transformers | 7 |
13 | /Users/xiaochen.zhang/.cache/torch/transformer... | json | transformers | 7 |
51 | /Users/xiaochen.zhang/.cache/langhuan/task_NER... | json | task_NER_210121_140513 | 7 |
32 | /Users/xiaochen.zhang/.cache/torch/transformer... | lock | transformers | 7 |
58 | /Users/xiaochen.zhang/.cache/langhuan/task_Cla... | json | task_Classify_210128_164710 | 7 |
HTML in notebook
from forgebox.html import DOM, list_group, list_group_kv
This will map a clear HTML table view of wild tree type json structure/ list
bands = ["police", "headpin", {"ac":"dc"}]
list_group(bands)()
Coding html in python
title = DOM("Title example","h5", kwargs={"style":"color:#3399EE"})
ul = DOM("","ul");
for i in range(5):
ul = ul.append(DOM(f"Line {i}", "li", kwargs={"style":"color:#EE33DD"}))
title()
ul()
Title example
- Line 0
- Line 1
- Line 2
- Line 3
- Line 4
Interactive Widgets
Interactive widgets work with in jupyter notebooks
Search box 🔎 for dataframe
This will create an interactive text input box to search through the pandas dataframe, within the columns you set.
if manual
is set to False, the search will respond to each of your key press, it's fast but will suffer terrible user experience if the dataframe is huge in size.
from forgebox.widgets import search_box
search_box(data_df, columns=["col1","col2"], manual=False)
paginate
You can browse through a pandas dataframe like fliping pages 📄.
from forgebox.imports import *
df = pd.read_csv("xxxx.csv")
df.paginate()
from forgebox.widgets import paginate
paginate(your_dataframe, page_len=10)