https://github.com/raynardj/forgebox
The deep learning tool box
https://github.com/raynardj/forgebox
data-science machine-learning nlp pandas-dataframe
Last synced: 8 months ago
JSON representation
The deep learning tool box
- Host: GitHub
- URL: https://github.com/raynardj/forgebox
- Owner: raynardj
- License: mit
- Created: 2019-12-14T07:59:56.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2023-01-10T05:47:34.000Z (over 3 years ago)
- Last Synced: 2025-01-13T12:49:54.144Z (over 1 year ago)
- Topics: data-science, machine-learning, nlp, pandas-dataframe
- Language: Jupyter Notebook
- Homepage: https://pypi.org/project/forgebox/
- Size: 36.6 MB
- Stars: 5
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ForgeBox
[](https://pypi.org/project/forgebox/)



[](https://github.com/raynardj/forgebox/actions/workflows/publish.yml)
[](https://github.com/raynardj/forgebox/actions/workflows/test.yml)
> Data science comprehensive toolbox
## Installation
Easy simple installation in 1 line
```shell
pip install forgebox
```
If not specified, you need anaconda3 for most of the tools.
See [nbs](./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
```python
from frogebox.imports import *
```
No more following verbosity
```python
import pandas as pd
import numpy as np
import os
import json
...
```
### Get a dataframe of file details under a directory
```python
from forgebox.files import file_detail
```
```python
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
```python
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
```python
bands = ["police", "headpin", {"ac":"dc"}]
list_group(bands)()
```
#### Coding html in python
```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.
```python
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 📄.
```python
# this will import many things like enhanced pandas
from forgebox.imports import *
df = pd.read_csv("xxxx.csv")
df.paginate()
```
```python
from forgebox.widgets import paginate
paginate(your_dataframe, page_len=10)
```