{"id":24912834,"url":"https://github.com/raynardj/forgebox","last_synced_at":"2025-10-16T23:31:24.382Z","repository":{"id":36503229,"uuid":"227987098","full_name":"raynardj/forgebox","owner":"raynardj","description":"The deep learning tool box","archived":false,"fork":false,"pushed_at":"2023-01-10T05:47:34.000Z","size":38337,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-13T12:49:54.144Z","etag":null,"topics":["data-science","machine-learning","nlp","pandas-dataframe"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/forgebox/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/raynardj.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-12-14T07:59:56.000Z","updated_at":"2023-02-14T07:40:25.000Z","dependencies_parsed_at":"2023-01-17T02:07:19.549Z","dependency_job_id":null,"html_url":"https://github.com/raynardj/forgebox","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raynardj%2Fforgebox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raynardj%2Fforgebox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raynardj%2Fforgebox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raynardj%2Fforgebox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raynardj","download_url":"https://codeload.github.com/raynardj/forgebox/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":236756752,"owners_count":19199894,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-science","machine-learning","nlp","pandas-dataframe"],"created_at":"2025-02-02T05:28:41.912Z","updated_at":"2025-10-16T23:31:23.920Z","avatar_url":"https://github.com/raynardj.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ForgeBox\n\n[![PyPI version](https://img.shields.io/pypi/v/forgebox)](https://pypi.org/project/forgebox/)\n![Python version](https://img.shields.io/pypi/pyversions/forgebox)\n![License](https://img.shields.io/github/license/raynardj/forgebox)\n![PyPI Downloads](https://img.shields.io/pypi/dm/forgebox)\n[![pypi build](https://github.com/raynardj/forgebox/actions/workflows/publish.yml/badge.svg)](https://github.com/raynardj/forgebox/actions/workflows/publish.yml)\n[![Test](https://github.com/raynardj/forgebox/actions/workflows/test.yml/badge.svg)](https://github.com/raynardj/forgebox/actions/workflows/test.yml)\n\n\u003e Data science comprehensive toolbox\n\n## Installation\n\nEasy simple installation in 1 line\n```shell\npip install forgebox\n```\n\nIf not specified, you need anaconda3 for most of the tools.\n\nSee [nbs](./nbs) for most of the applications\n\n## Features 🚀 Briefing\n\n\u003e 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**\n\n### Lazy, fast imports 🤯\n\nThe following command will import many frequent tools for data science, like **pd** for pandas, **np** for numpy, os, json, PIL.Image for image processing\n\n```python\nfrom frogebox.imports import *\n```\n\nNo more following verbosity\n```python\nimport pandas as pd\nimport numpy as np\nimport os\nimport json\n...\n```\n### Get a dataframe of file details under a  directory\n\n```python\nfrom forgebox.files import file_detail\n```\n\n```python\nfile_detail(\"/Users/xiaochen.zhang/.cache/\").sample(5)\n```\n\n\u003cdiv\u003e\n\u003ctable border=\"1\" class=\"dataframe\"\u003e\n  \u003cthead\u003e\n    \u003ctr style=\"text-align: right;\"\u003e\n      \u003cth\u003e\u003c/th\u003e\n      \u003cth\u003epath\u003c/th\u003e\n      \u003cth\u003efile_type\u003c/th\u003e\n      \u003cth\u003eparent\u003c/th\u003e\n      \u003cth\u003edepth\u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e36\u003c/td\u003e\n      \u003ctd\u003e/Users/xiaochen.zhang/.cache/torch/transformer...\u003c/td\u003e\n      \u003ctd\u003ejson\u003c/td\u003e\n      \u003ctd\u003etransformers\u003c/td\u003e\n      \u003ctd\u003e7\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e13\u003c/td\u003e\n      \u003ctd\u003e/Users/xiaochen.zhang/.cache/torch/transformer...\u003c/td\u003e\n      \u003ctd\u003ejson\u003c/td\u003e\n      \u003ctd\u003etransformers\u003c/td\u003e\n      \u003ctd\u003e7\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e51\u003c/td\u003e\n      \u003ctd\u003e/Users/xiaochen.zhang/.cache/langhuan/task_NER...\u003c/td\u003e\n      \u003ctd\u003ejson\u003c/td\u003e\n      \u003ctd\u003etask_NER_210121_140513\u003c/td\u003e\n      \u003ctd\u003e7\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e32\u003c/td\u003e\n      \u003ctd\u003e/Users/xiaochen.zhang/.cache/torch/transformer...\u003c/td\u003e\n      \u003ctd\u003elock\u003c/td\u003e\n      \u003ctd\u003etransformers\u003c/td\u003e\n      \u003ctd\u003e7\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e58\u003c/td\u003e\n      \u003ctd\u003e/Users/xiaochen.zhang/.cache/langhuan/task_Cla...\u003c/td\u003e\n      \u003ctd\u003ejson\u003c/td\u003e\n      \u003ctd\u003etask_Classify_210128_164710\u003c/td\u003e\n      \u003ctd\u003e7\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003c/div\u003e\n\n\n### HTML in notebook\n\n```python\nfrom forgebox.html import DOM, list_group, list_group_kv\n```\n\nThis will map a clear HTML table view of wild tree type json structure/ list\n\n```python\nbands = [\"police\", \"headpin\", {\"ac\":\"dc\"}]\nlist_group(bands)()\n```\n\n#### Coding html in python\n\n```python\ntitle = DOM(\"Title example\",\"h5\", kwargs={\"style\":\"color:#3399EE\"})\nul = DOM(\"\",\"ul\");\nfor i in range(5):\n    ul = ul.append(DOM(f\"Line {i}\", \"li\", kwargs={\"style\":\"color:#EE33DD\"}))\n\ntitle()\nul()\n```\n\n\n\u003ch5 style=\"color:#3399EE\"\u003eTitle example\u003c/h5\u003e\n\n\n\n\u003cul\u003e\u003cli style=\"color:#EE33DD\"\u003eLine 0\u003c/li\u003e\u003cli style=\"color:#EE33DD\"\u003eLine 1\u003c/li\u003e\u003cli style=\"color:#EE33DD\"\u003eLine 2\u003c/li\u003e\u003cli style=\"color:#EE33DD\"\u003eLine 3\u003c/li\u003e\u003cli style=\"color:#EE33DD\"\u003eLine 4\u003c/li\u003e\u003c/ul\u003e\n\n\n### Interactive Widgets\n\u003e Interactive widgets work with in jupyter notebooks\n\n#### Search box 🔎 for dataframe\nThis will create an interactive text input box to search through the pandas dataframe, within the columns you set.\n\nif ```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.\n\n```python\nfrom forgebox.widgets import search_box\n\nsearch_box(data_df, columns=[\"col1\",\"col2\"], manual=False)\n```\n\n#### paginate\nYou can browse through a pandas dataframe like fliping pages 📄.\n\n```python\n# this will import many things like enhanced pandas\nfrom forgebox.imports import *\ndf  = pd.read_csv(\"xxxx.csv\")\ndf.paginate()\n```\n\n```python\nfrom forgebox.widgets import paginate\n\npaginate(your_dataframe, page_len=10)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraynardj%2Fforgebox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraynardj%2Fforgebox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraynardj%2Fforgebox/lists"}