jac-streamlit


Namejac-streamlit JSON
Version 0.0.4 PyPI version JSON
download
home_pagehttps://jac-lang.org
SummaryStreamlit integration plugin for Jac programming language - enables running and visualizing Jac applications in Streamlit
upload_time2025-07-30 18:48:09
maintainerNone
docs_urlNone
authorJason Mars
requires_python<4.0.0,>=3.12.0
licenseMIT
keywords jac jaclang jaseci streamlit visualization graph data-spatial
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Jac-Streamlit Plugin

The `jac-streamlit` plugin provides seamless integration between the Jac programming language and Streamlit, enabling you to create interactive web applications and visualizations directly from Jac code.

## Features

- **Direct Execution**: Run Streamlit apps written in Jac with a single command
- **Graph Visualization**: Interactive and static visualization of Jac graph structures
- **Testing Framework**: Comprehensive testing support for Jac-Streamlit applications
- **Cross-Platform**: Works on Windows, macOS, and Linux

## Installation

```shell
pip install jac-streamlit
```

## Quick Start

### Running Jac Streamlit Applications

Execute a Streamlit app written in Jac:

```shell
jac streamlit app.jac
```

### Visualizing Jac Graphs

Visualize your Jac graph structures in an interactive web interface:

```shell
jac dot_view app.jac
```

This opens a Streamlit application with two visualization modes:
- **Interactive View**: Using streamlit-agraph for dynamic graph exploration
- **Static View**: Using pygraphviz for traditional graph rendering

## Testing

The plugin includes a testing framework compatible with Streamlit's testing methodology:

```python
from jaclang_streamlit import AppTest

# Create test instance from Jac file
app_test = AppTest.from_jac_file("path/to/your/app.jac")

# Run the app and perform tests
app = app_test.run()
assert len(app.exception) == 0
```

## Example

Here's a simple Jac Streamlit application:

```jac
import streamlit as st;

with entry {
    st.title("Hello Jac Streamlit!");
    name = st.text_input("Enter your name");
    if st.button("Greet") and name {
        st.success(f"Hello, {name}!");
    }
}
```

## Requirements

- Python 3.12+
- Jac programming language (jaclang)
- Streamlit 1.38+

## Documentation

For comprehensive documentation and examples, visit [jac-lang.org](https://jac-lang.org).

## License

MIT License - see the [LICENSE](https://github.com/jaseci-labs/jaseci/blob/main/LICENSE) file for details.

            

Raw data

            {
    "_id": null,
    "home_page": "https://jac-lang.org",
    "name": "jac-streamlit",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0.0,>=3.12.0",
    "maintainer_email": null,
    "keywords": "jac, jaclang, jaseci, streamlit, visualization, graph, data-spatial",
    "author": "Jason Mars",
    "author_email": "jason@jaseci.org",
    "download_url": "https://files.pythonhosted.org/packages/1c/e9/1d181e7319252f865a645acb0b4be4767d71166bc44adc30698455a0d168/jac_streamlit-0.0.4.tar.gz",
    "platform": null,
    "description": "# Jac-Streamlit Plugin\n\nThe `jac-streamlit` plugin provides seamless integration between the Jac programming language and Streamlit, enabling you to create interactive web applications and visualizations directly from Jac code.\n\n## Features\n\n- **Direct Execution**: Run Streamlit apps written in Jac with a single command\n- **Graph Visualization**: Interactive and static visualization of Jac graph structures\n- **Testing Framework**: Comprehensive testing support for Jac-Streamlit applications\n- **Cross-Platform**: Works on Windows, macOS, and Linux\n\n## Installation\n\n```shell\npip install jac-streamlit\n```\n\n## Quick Start\n\n### Running Jac Streamlit Applications\n\nExecute a Streamlit app written in Jac:\n\n```shell\njac streamlit app.jac\n```\n\n### Visualizing Jac Graphs\n\nVisualize your Jac graph structures in an interactive web interface:\n\n```shell\njac dot_view app.jac\n```\n\nThis opens a Streamlit application with two visualization modes:\n- **Interactive View**: Using streamlit-agraph for dynamic graph exploration\n- **Static View**: Using pygraphviz for traditional graph rendering\n\n## Testing\n\nThe plugin includes a testing framework compatible with Streamlit's testing methodology:\n\n```python\nfrom jaclang_streamlit import AppTest\n\n# Create test instance from Jac file\napp_test = AppTest.from_jac_file(\"path/to/your/app.jac\")\n\n# Run the app and perform tests\napp = app_test.run()\nassert len(app.exception) == 0\n```\n\n## Example\n\nHere's a simple Jac Streamlit application:\n\n```jac\nimport streamlit as st;\n\nwith entry {\n    st.title(\"Hello Jac Streamlit!\");\n    name = st.text_input(\"Enter your name\");\n    if st.button(\"Greet\") and name {\n        st.success(f\"Hello, {name}!\");\n    }\n}\n```\n\n## Requirements\n\n- Python 3.12+\n- Jac programming language (jaclang)\n- Streamlit 1.38+\n\n## Documentation\n\nFor comprehensive documentation and examples, visit [jac-lang.org](https://jac-lang.org).\n\n## License\n\nMIT License - see the [LICENSE](https://github.com/jaseci-labs/jaseci/blob/main/LICENSE) file for details.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Streamlit integration plugin for Jac programming language - enables running and visualizing Jac applications in Streamlit",
    "version": "0.0.4",
    "project_urls": {
        "Documentation": "https://jac-lang.org",
        "Homepage": "https://jac-lang.org",
        "Repository": "https://github.com/jaseci-labs/jaseci"
    },
    "split_keywords": [
        "jac",
        " jaclang",
        " jaseci",
        " streamlit",
        " visualization",
        " graph",
        " data-spatial"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "98b6842f7cb61a3b6ff70af46f502a45ac7f5d102231780a9706006563bb053a",
                "md5": "22987870df5f05c8f27233943ae4ae97",
                "sha256": "50b7a6381a1ea8d4aee722e1a23ebed509a5fdb2c0db6246ae376b281fb80f31"
            },
            "downloads": -1,
            "filename": "jac_streamlit-0.0.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "22987870df5f05c8f27233943ae4ae97",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0.0,>=3.12.0",
            "size": 5402,
            "upload_time": "2025-07-30T18:48:08",
            "upload_time_iso_8601": "2025-07-30T18:48:08.419467Z",
            "url": "https://files.pythonhosted.org/packages/98/b6/842f7cb61a3b6ff70af46f502a45ac7f5d102231780a9706006563bb053a/jac_streamlit-0.0.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1ce91d181e7319252f865a645acb0b4be4767d71166bc44adc30698455a0d168",
                "md5": "1d71c0cf2732afdfc2627fa115a1be12",
                "sha256": "8c97361a55f218a7e75ab51c6d8579ab052e4ff9317ce97cbbd7bdda07ef23de"
            },
            "downloads": -1,
            "filename": "jac_streamlit-0.0.4.tar.gz",
            "has_sig": false,
            "md5_digest": "1d71c0cf2732afdfc2627fa115a1be12",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0.0,>=3.12.0",
            "size": 3745,
            "upload_time": "2025-07-30T18:48:09",
            "upload_time_iso_8601": "2025-07-30T18:48:09.147956Z",
            "url": "https://files.pythonhosted.org/packages/1c/e9/1d181e7319252f865a645acb0b4be4767d71166bc44adc30698455a0d168/jac_streamlit-0.0.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-30 18:48:09",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "jaseci-labs",
    "github_project": "jaseci",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "jac-streamlit"
}
        
Elapsed time: 1.48909s