# JSON View AnyWidget
An interactive JSON viewer widget for Jupyter notebooks using React JSON View.
## Features
- 🔍 Interactive JSON tree view with expand/collapse
- 🎨 Multiple theme support (monokai, solarized, etc.)
- 🎯 Support Jupyter notebooks and marimo
- 📝 Support Multi-line strings
## Installation
### From PyPI (Recommended)
```bash
pip install json-view-anywidget
```
### Using uv
```bash
uv pip install json-view-anywidget
```
### From Source
```bash
git clone https://github.com/bigeagle/anywidget-react-json-view.git
cd anywidget-react-json-view
uv pip install -e .
```
## Quick Start
```python
from rjv_anywidget import JsonWidget
# Create a simple JSON viewer
widget = JsonWidget({
"name": "John",
"age": 30,
"city": "New York"
})
widget
```
## Advanced Usage
```python
# Use different themes
widget = JsonWidget(
data=your_data,
theme="monokai" # Available themes: "rjv-default", "monokai", "solarized", etc.
)
# Display in Jupyter
widget
```
## Development
### Frontend Development
```bash
# Install dependencies
pnpm install
# Development mode (with hot reload)
pnpm run dev
# Build for production
pnpm run build
```
### Python Package Development
```bash
# Build package
uv build
# Install locally for testing
uv pip install -e .
```
## Project Structure
```
.
├── src/
│ ├── widget.tsx # React component source
│ ├── index.css # Component styles
│ └── rjv_anywidget/ # Python package
│ ├── __init__.py
│ ├── widget.py # JsonWidget class
│ └── static/ # React build output
├── pyproject.toml # Python package configuration
├── package.json # Frontend build configuration
└── dist/ # Build outputs
```
## License
MIT License
## Related Links
- [AnyWidget](https://github.com/manzt/anywidget)
- [AnyWidget React Demo](https://github.com/wangqianwen0418/anywidget_react_demo)
- [React JSON View](https://github.com/mac-s-g/react-json-view)
Raw data
{
"_id": null,
"home_page": null,
"name": "json-view-anywidget",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "anywidget, json, jupyter, notebook, react, widget",
"author": null,
"author_email": "Justin Wong <justin.w.xd@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/84/bb/bad811b7ccc62a9ef0513b7b90379ca242567f1770aef161fce1779deef6/json_view_anywidget-0.1.1.tar.gz",
"platform": null,
"description": "# JSON View AnyWidget\n\nAn interactive JSON viewer widget for Jupyter notebooks using React JSON View.\n\n## Features\n\n- \ud83d\udd0d Interactive JSON tree view with expand/collapse\n- \ud83c\udfa8 Multiple theme support (monokai, solarized, etc.)\n- \ud83c\udfaf Support Jupyter notebooks and marimo\n- \ud83d\udcdd Support Multi-line strings\n\n## Installation\n\n### From PyPI (Recommended)\n\n```bash\npip install json-view-anywidget\n```\n\n### Using uv\n\n```bash\nuv pip install json-view-anywidget\n```\n\n### From Source\n\n```bash\ngit clone https://github.com/bigeagle/anywidget-react-json-view.git\ncd anywidget-react-json-view\nuv pip install -e .\n```\n\n## Quick Start\n\n```python\nfrom rjv_anywidget import JsonWidget\n\n# Create a simple JSON viewer\nwidget = JsonWidget({\n \"name\": \"John\",\n \"age\": 30,\n \"city\": \"New York\"\n})\nwidget\n```\n\n## Advanced Usage\n\n```python\n# Use different themes\nwidget = JsonWidget(\n data=your_data,\n theme=\"monokai\" # Available themes: \"rjv-default\", \"monokai\", \"solarized\", etc.\n)\n\n# Display in Jupyter\nwidget\n```\n\n## Development\n\n### Frontend Development\n\n```bash\n# Install dependencies\npnpm install\n\n# Development mode (with hot reload)\npnpm run dev\n\n# Build for production\npnpm run build\n```\n\n### Python Package Development\n\n```bash\n# Build package\nuv build\n\n# Install locally for testing\nuv pip install -e .\n```\n\n## Project Structure\n\n```\n.\n\u251c\u2500\u2500 src/\n\u2502 \u251c\u2500\u2500 widget.tsx # React component source\n\u2502 \u251c\u2500\u2500 index.css # Component styles\n\u2502 \u2514\u2500\u2500 rjv_anywidget/ # Python package\n\u2502 \u251c\u2500\u2500 __init__.py\n\u2502 \u251c\u2500\u2500 widget.py # JsonWidget class\n\u2502 \u2514\u2500\u2500 static/ # React build output\n\u251c\u2500\u2500 pyproject.toml # Python package configuration\n\u251c\u2500\u2500 package.json # Frontend build configuration\n\u2514\u2500\u2500 dist/ # Build outputs\n```\n\n## License\n\nMIT License\n\n## Related Links\n\n- [AnyWidget](https://github.com/manzt/anywidget)\n- [AnyWidget React Demo](https://github.com/wangqianwen0418/anywidget_react_demo)\n- [React JSON View](https://github.com/mac-s-g/react-json-view)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Interactive JSON viewer widget for Jupyter notebooks using React JSON View",
"version": "0.1.1",
"project_urls": {
"Homepage": "https://github.com/bigeagle/anywidget-react-json-view",
"Issues": "https://github.com/bigeagle/anywidget-react-json-view/issues",
"Repository": "https://github.com/bigeagle/anywidget-react-json-view"
},
"split_keywords": [
"anywidget",
" json",
" jupyter",
" notebook",
" react",
" widget"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "b27fb55637fab728158b42f8ff4ca9149600d1907c06fc381b4cd87d7f5a9c5c",
"md5": "8e17fec67fa45bae83b133de50eaf937",
"sha256": "90d44788bb6507995cb8f752488bb62dfde7bff11dffb6317e7a4574c8e790bb"
},
"downloads": -1,
"filename": "json_view_anywidget-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8e17fec67fa45bae83b133de50eaf937",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 83969,
"upload_time": "2025-10-21T14:35:30",
"upload_time_iso_8601": "2025-10-21T14:35:30.201701Z",
"url": "https://files.pythonhosted.org/packages/b2/7f/b55637fab728158b42f8ff4ca9149600d1907c06fc381b4cd87d7f5a9c5c/json_view_anywidget-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "84bbbad811b7ccc62a9ef0513b7b90379ca242567f1770aef161fce1779deef6",
"md5": "0036f5a84d508d4c9885c2051c7fd571",
"sha256": "d4b975327a580cbb47f49ad093a8b122c5a56f80adb1ed9ec045b064c31dd76d"
},
"downloads": -1,
"filename": "json_view_anywidget-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "0036f5a84d508d4c9885c2051c7fd571",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 83205,
"upload_time": "2025-10-21T14:35:31",
"upload_time_iso_8601": "2025-10-21T14:35:31.838251Z",
"url": "https://files.pythonhosted.org/packages/84/bb/bad811b7ccc62a9ef0513b7b90379ca242567f1770aef161fce1779deef6/json_view_anywidget-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-21 14:35:31",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "bigeagle",
"github_project": "anywidget-react-json-view",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "json-view-anywidget"
}