Spaces:
Running on Zero
Running on Zero
electblake commited on
Commit ·
74bbc85
1
Parent(s): 25c4ebd
refactor(app): rename to Image Data Extractor
Browse filesUpdate the Space card, Gradio title and heading, extraction button, and Python project metadata for the new Image Data Extractor identity.
README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
---
|
| 2 |
-
title:
|
| 3 |
emoji: 🧾
|
| 4 |
colorFrom: blue
|
| 5 |
colorTo: indigo
|
|
@@ -13,9 +13,9 @@ models:
|
|
| 13 |
short_description: Extract structured JSON from documents with NuExtract3.
|
| 14 |
---
|
| 15 |
|
| 16 |
-
#
|
| 17 |
|
| 18 |
-
|
| 19 |
|
| 20 |
Upload a receipt, invoice, or other document image, optionally add accompanying text, and choose a JSON template for schema-guided structured extraction. You can also generate a grounded template from the uploaded image before running extraction.
|
| 21 |
|
|
|
|
| 1 |
---
|
| 2 |
+
title: Image Data Extractor
|
| 3 |
emoji: 🧾
|
| 4 |
colorFrom: blue
|
| 5 |
colorTo: indigo
|
|
|
|
| 13 |
short_description: Extract structured JSON from documents with NuExtract3.
|
| 14 |
---
|
| 15 |
|
| 16 |
+
# Image Data Extractor
|
| 17 |
|
| 18 |
+
Image Data Extractor is a Gradio app for extracting structured JSON from document images with [NuExtract3](https://huggingface.co/numind/NuExtract3).
|
| 19 |
|
| 20 |
Upload a receipt, invoice, or other document image, optionally add accompanying text, and choose a JSON template for schema-guided structured extraction. You can also generate a grounded template from the uploaded image before running extraction.
|
| 21 |
|
app.py
CHANGED
|
@@ -208,9 +208,9 @@ structured_json_templates = {
|
|
| 208 |
default_structured_json_template = "Invoice with line items"
|
| 209 |
|
| 210 |
|
| 211 |
-
with gr.Blocks(title="
|
| 212 |
gr.Markdown(
|
| 213 |
-
"#
|
| 214 |
"Extract structured JSON from an image and optional text using "
|
| 215 |
"[numind/NuExtract3](https://huggingface.co/numind/NuExtract3)."
|
| 216 |
)
|
|
@@ -237,7 +237,7 @@ with gr.Blocks(title="NuMarkApp") as demo:
|
|
| 237 |
lines=18,
|
| 238 |
info="Used for structured extraction. Edit the example to match your document.",
|
| 239 |
)
|
| 240 |
-
run = gr.Button("Extract
|
| 241 |
with gr.Column():
|
| 242 |
structured_output = gr.JSON(
|
| 243 |
label="Structured JSON",
|
|
|
|
| 208 |
default_structured_json_template = "Invoice with line items"
|
| 209 |
|
| 210 |
|
| 211 |
+
with gr.Blocks(title="Image Data Extractor") as demo:
|
| 212 |
gr.Markdown(
|
| 213 |
+
"# Image Data Extractor\n"
|
| 214 |
"Extract structured JSON from an image and optional text using "
|
| 215 |
"[numind/NuExtract3](https://huggingface.co/numind/NuExtract3)."
|
| 216 |
)
|
|
|
|
| 237 |
lines=18,
|
| 238 |
info="Used for structured extraction. Edit the example to match your document.",
|
| 239 |
)
|
| 240 |
+
run = gr.Button("Extract Image Data", variant="primary")
|
| 241 |
with gr.Column():
|
| 242 |
structured_output = gr.JSON(
|
| 243 |
label="Structured JSON",
|
pyproject.toml
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
[project]
|
| 2 |
-
name = "
|
| 3 |
version = "0.1.0"
|
| 4 |
description = "Add your description here"
|
| 5 |
readme = "README.md"
|
|
|
|
| 1 |
[project]
|
| 2 |
+
name = "image-data-extractor"
|
| 3 |
version = "0.1.0"
|
| 4 |
description = "Add your description here"
|
| 5 |
readme = "README.md"
|
uv.lock
CHANGED
|
@@ -469,6 +469,51 @@ wheels = [
|
|
| 469 |
{ url = "https://files.pythonhosted.org/packages/fc/34/3030de6f1370931b9dbb4dad48f6ab1015ab1d32447850b9fc94e60097be/idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2", size = 61538, upload-time = "2022-09-14T00:24:23.22Z" },
|
| 470 |
]
|
| 471 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 472 |
[[package]]
|
| 473 |
name = "ipykernel"
|
| 474 |
version = "7.3.0"
|
|
@@ -711,51 +756,6 @@ wheels = [
|
|
| 711 |
{ url = "https://files.pythonhosted.org/packages/9e/c9/b2622292ea83fbb4ec318f5b9ab867d0a28ab43c5717bb85b0a5f6b3b0a4/networkx-3.6.1-py3-none-any.whl", hash = "sha256:d47fbf302e7d9cbbb9e2555a0d267983d2aa476bac30e90dfbe5669bd57f3762", size = 2068504, upload-time = "2025-12-08T17:02:38.159Z" },
|
| 712 |
]
|
| 713 |
|
| 714 |
-
[[package]]
|
| 715 |
-
name = "numarkapp"
|
| 716 |
-
version = "0.1.0"
|
| 717 |
-
source = { virtual = "." }
|
| 718 |
-
dependencies = [
|
| 719 |
-
{ name = "gguf" },
|
| 720 |
-
{ name = "gradio" },
|
| 721 |
-
{ name = "huggingface-hub" },
|
| 722 |
-
{ name = "ipykernel" },
|
| 723 |
-
{ name = "ipython" },
|
| 724 |
-
{ name = "ipywidgets" },
|
| 725 |
-
{ name = "openai" },
|
| 726 |
-
{ name = "pillow" },
|
| 727 |
-
{ name = "spaces" },
|
| 728 |
-
{ name = "torch" },
|
| 729 |
-
{ name = "torchaudio" },
|
| 730 |
-
{ name = "torchvision" },
|
| 731 |
-
{ name = "transformers" },
|
| 732 |
-
]
|
| 733 |
-
|
| 734 |
-
[package.dev-dependencies]
|
| 735 |
-
dev = [
|
| 736 |
-
{ name = "ruff" },
|
| 737 |
-
]
|
| 738 |
-
|
| 739 |
-
[package.metadata]
|
| 740 |
-
requires-dist = [
|
| 741 |
-
{ name = "gguf", specifier = ">=0.19.0" },
|
| 742 |
-
{ name = "gradio" },
|
| 743 |
-
{ name = "huggingface-hub" },
|
| 744 |
-
{ name = "ipykernel", specifier = ">=7.3.0" },
|
| 745 |
-
{ name = "ipython", specifier = ">=9.15.0" },
|
| 746 |
-
{ name = "ipywidgets", specifier = ">=8.1.8" },
|
| 747 |
-
{ name = "openai", specifier = ">=2.46.0" },
|
| 748 |
-
{ name = "pillow", specifier = ">=12.3.0" },
|
| 749 |
-
{ name = "spaces", specifier = ">=0.51.0" },
|
| 750 |
-
{ name = "torch", specifier = "==2.11.0", index = "https://download.pytorch.org/whl/cu130" },
|
| 751 |
-
{ name = "torchaudio", specifier = "==2.11.0", index = "https://download.pytorch.org/whl/cu130" },
|
| 752 |
-
{ name = "torchvision", index = "https://download.pytorch.org/whl/cu130" },
|
| 753 |
-
{ name = "transformers", specifier = ">=5.5.4" },
|
| 754 |
-
]
|
| 755 |
-
|
| 756 |
-
[package.metadata.requires-dev]
|
| 757 |
-
dev = [{ name = "ruff", specifier = ">=0.15.22" }]
|
| 758 |
-
|
| 759 |
[[package]]
|
| 760 |
name = "numpy"
|
| 761 |
version = "2.4.4"
|
|
|
|
| 469 |
{ url = "https://files.pythonhosted.org/packages/fc/34/3030de6f1370931b9dbb4dad48f6ab1015ab1d32447850b9fc94e60097be/idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2", size = 61538, upload-time = "2022-09-14T00:24:23.22Z" },
|
| 470 |
]
|
| 471 |
|
| 472 |
+
[[package]]
|
| 473 |
+
name = "image-data-extractor"
|
| 474 |
+
version = "0.1.0"
|
| 475 |
+
source = { virtual = "." }
|
| 476 |
+
dependencies = [
|
| 477 |
+
{ name = "gguf" },
|
| 478 |
+
{ name = "gradio" },
|
| 479 |
+
{ name = "huggingface-hub" },
|
| 480 |
+
{ name = "ipykernel" },
|
| 481 |
+
{ name = "ipython" },
|
| 482 |
+
{ name = "ipywidgets" },
|
| 483 |
+
{ name = "openai" },
|
| 484 |
+
{ name = "pillow" },
|
| 485 |
+
{ name = "spaces" },
|
| 486 |
+
{ name = "torch" },
|
| 487 |
+
{ name = "torchaudio" },
|
| 488 |
+
{ name = "torchvision" },
|
| 489 |
+
{ name = "transformers" },
|
| 490 |
+
]
|
| 491 |
+
|
| 492 |
+
[package.dev-dependencies]
|
| 493 |
+
dev = [
|
| 494 |
+
{ name = "ruff" },
|
| 495 |
+
]
|
| 496 |
+
|
| 497 |
+
[package.metadata]
|
| 498 |
+
requires-dist = [
|
| 499 |
+
{ name = "gguf", specifier = ">=0.19.0" },
|
| 500 |
+
{ name = "gradio" },
|
| 501 |
+
{ name = "huggingface-hub" },
|
| 502 |
+
{ name = "ipykernel", specifier = ">=7.3.0" },
|
| 503 |
+
{ name = "ipython", specifier = ">=9.15.0" },
|
| 504 |
+
{ name = "ipywidgets", specifier = ">=8.1.8" },
|
| 505 |
+
{ name = "openai", specifier = ">=2.46.0" },
|
| 506 |
+
{ name = "pillow", specifier = ">=12.3.0" },
|
| 507 |
+
{ name = "spaces", specifier = ">=0.51.0" },
|
| 508 |
+
{ name = "torch", specifier = "==2.11.0", index = "https://download.pytorch.org/whl/cu130" },
|
| 509 |
+
{ name = "torchaudio", specifier = "==2.11.0", index = "https://download.pytorch.org/whl/cu130" },
|
| 510 |
+
{ name = "torchvision", index = "https://download.pytorch.org/whl/cu130" },
|
| 511 |
+
{ name = "transformers", specifier = ">=5.5.4" },
|
| 512 |
+
]
|
| 513 |
+
|
| 514 |
+
[package.metadata.requires-dev]
|
| 515 |
+
dev = [{ name = "ruff", specifier = ">=0.15.22" }]
|
| 516 |
+
|
| 517 |
[[package]]
|
| 518 |
name = "ipykernel"
|
| 519 |
version = "7.3.0"
|
|
|
|
| 756 |
{ url = "https://files.pythonhosted.org/packages/9e/c9/b2622292ea83fbb4ec318f5b9ab867d0a28ab43c5717bb85b0a5f6b3b0a4/networkx-3.6.1-py3-none-any.whl", hash = "sha256:d47fbf302e7d9cbbb9e2555a0d267983d2aa476bac30e90dfbe5669bd57f3762", size = 2068504, upload-time = "2025-12-08T17:02:38.159Z" },
|
| 757 |
]
|
| 758 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 759 |
[[package]]
|
| 760 |
name = "numpy"
|
| 761 |
version = "2.4.4"
|