nsflow


Namensflow JSON
Version 0.5.19 PyPI version JSON
download
home_pageNone
SummaryA Neuro-San powered Smart Agent Network Framework
upload_time2025-09-03 17:44:43
maintainerNone
docs_urlNone
authorDeepak
requires_python>=3.10
licenseNone
keywords nsflow neurosan agent-network
VCS
bugtrack_url
requirements fastapi-cors fastapi graphviz jupyterlab pyhocon uvicorn websockets wsproto nbformat pydantic python-dotenv gTTS SpeechRecognition pydub python-multipart
Travis-CI No Travis.
coveralls test coverage
            # nsflow - A FastAPI based client for NeuroSan

Note: To see and use how nsflow client works along with neuro-san library, please visit [https://github.com/cognizant-ai-lab/neuro-san-studio](https://github.com/cognizant-ai-lab/neuro-san-studio)


**nsflow** is a react-based developer-oriented client that enables users to explore, visualize, and interact with smart agent networks. It integrates with [**NeuroSan**](https://github.com/cognizant-ai-lab/neuro-san) for intelligent agent-based interactions.

![Project Snapshot](https://raw.githubusercontent.com/cognizant-ai-lab/nsflow/main/docs/snapshot01.png)

---

## **Installation & Running nsflow**

Prerequisite: install `ffmpeg` for text-to-speech and speech-to-text support

- On Mac
```bash
brew install ffmpeg
```

- On Linux
```bash
sudo apt install ffmpeg
```

- On windows, follow the [instructions](https://phoenixnap.com/kb/ffmpeg-windows) here.

**nsflow** can be installed and run in **two different ways:**

### **1️⃣ Run nsflow using pypi package**
To simplify execution, nsflow provides a CLI command to start both the backend and frontend simultaneously.

#### **Step 1: Create and source a virtual environment**
```bash
python -m venv .venv
source .venv/bin/activate
```

#### **Step 2: Install nsflow from pip**
```bash
pip install nsflow
```

#### **Step 3: Run Everything with a Single Command**
```bash
python -m nsflow.run
```

By default, this will start:
- **backend** (FastAPI + NeuroSan) here: `http://127.0.0.1:4173/docs` or `http://127.0.0.1:4173/redoc`
- **frontend** (React) here: `http://127.0.0.1:4173`

---

### **2️⃣ Development & Contribution (Manually Start Frontend & Backend)**
If you want to contribute, ensure you have the necessary dependencies installed. 
To start the frontend and backend separately, follow these steps:

#### **Step 1: Clone the Repository**
```bash
git clone https://github.com/cognizant-ai-lab/nsflow.git
cd nsflow
```

#### **Step 2: Install Dependencies**
- Make sure you have python (preferably **Python 3.12**) installed.
    ```bash
    python -m venv .venv
    source .venv/bin/activate
    pip install -r requirements.txt
    pip install -r requirements-dev.txt
    ```

#### **Step 3: Start the Backend in dev mode & Frontend separately**
- Ensure that you have a few example hocon files in your `registries` and the same mapped in `registries/manifest`.
- [Optional] Ensure that you have the necessary coded tools in the `coded_tools` dir.

- From the root start Backend:
    ```bash
    python -m nsflow.run --dev
    ```

- Start Frontend:
    - Ensure that you have **Node.js (with Yarn)** installed.
    - Follow the instructions to setup the frontend here: [./nsflow/frontend/README.md](https://github.com/cognizant-ai-lab/nsflow/tree/main/nsflow/frontend/README.md)
    - On another terminal window
        ```bash
        cd nsflow/frontend; yarn install
        yarn dev
        ```

- By default:
    - **backend** will be available at: `http://127.0.0.1:8005`
    - **frontend** will be available at: `http://127.0.0.1:5173`
    - You may change the host/port configs using environment variables for fastapi (refer [run.py](./nsflow/run.py)) and using [frontend/.env.development](./nsflow/frontend/.env.development) for react app


#### **Step 4: To make sure your changes to frontend take effect in the wheel, run the script**

- To build the Frontend
    ```bash
    sh build_scripts/build_frontend.sh
    ```

Note: The above script's output should show that `./nsflow` dir contains a module `prebuilt_frontend`

- To build and test the wheel locally
    ```bash
    sh build_scripts/build_wheel.sh
    ```
---

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "nsflow",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "NsFlow, NeuroSan, agent-network",
    "author": "Deepak",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/5b/16/0652106053ab990cf5ceb4aa6edd033236a23b8f50e9ed3cd00262126125/nsflow-0.5.19.tar.gz",
    "platform": null,
    "description": "# nsflow - A FastAPI based client for NeuroSan\n\nNote: To see and use how nsflow client works along with neuro-san library, please visit [https://github.com/cognizant-ai-lab/neuro-san-studio](https://github.com/cognizant-ai-lab/neuro-san-studio)\n\n\n**nsflow** is a react-based developer-oriented client that enables users to explore, visualize, and interact with smart agent networks. It integrates with [**NeuroSan**](https://github.com/cognizant-ai-lab/neuro-san) for intelligent agent-based interactions.\n\n![Project Snapshot](https://raw.githubusercontent.com/cognizant-ai-lab/nsflow/main/docs/snapshot01.png)\n\n---\n\n## **Installation & Running nsflow**\n\nPrerequisite: install `ffmpeg` for text-to-speech and speech-to-text support\n\n- On Mac\n```bash\nbrew install ffmpeg\n```\n\n- On Linux\n```bash\nsudo apt install ffmpeg\n```\n\n- On windows, follow the [instructions](https://phoenixnap.com/kb/ffmpeg-windows) here.\n\n**nsflow** can be installed and run in **two different ways:**\n\n### **1\ufe0f\u20e3 Run nsflow using pypi package**\nTo simplify execution, nsflow provides a CLI command to start both the backend and frontend simultaneously.\n\n#### **Step 1: Create and source a virtual environment**\n```bash\npython -m venv .venv\nsource .venv/bin/activate\n```\n\n#### **Step 2: Install nsflow from pip**\n```bash\npip install nsflow\n```\n\n#### **Step 3: Run Everything with a Single Command**\n```bash\npython -m nsflow.run\n```\n\nBy default, this will start:\n- **backend** (FastAPI + NeuroSan) here: `http://127.0.0.1:4173/docs` or `http://127.0.0.1:4173/redoc`\n- **frontend** (React) here: `http://127.0.0.1:4173`\n\n---\n\n### **2\ufe0f\u20e3 Development & Contribution (Manually Start Frontend & Backend)**\nIf you want to contribute, ensure you have the necessary dependencies installed. \nTo start the frontend and backend separately, follow these steps:\n\n#### **Step 1: Clone the Repository**\n```bash\ngit clone https://github.com/cognizant-ai-lab/nsflow.git\ncd nsflow\n```\n\n#### **Step 2: Install Dependencies**\n- Make sure you have python (preferably **Python 3.12**) installed.\n    ```bash\n    python -m venv .venv\n    source .venv/bin/activate\n    pip install -r requirements.txt\n    pip install -r requirements-dev.txt\n    ```\n\n#### **Step 3: Start the Backend in dev mode & Frontend separately**\n- Ensure that you have a few example hocon files in your `registries` and the same mapped in `registries/manifest`.\n- [Optional] Ensure that you have the necessary coded tools in the `coded_tools` dir.\n\n- From the root start Backend:\n    ```bash\n    python -m nsflow.run --dev\n    ```\n\n- Start Frontend:\n    - Ensure that you have **Node.js (with Yarn)** installed.\n    - Follow the instructions to setup the frontend here: [./nsflow/frontend/README.md](https://github.com/cognizant-ai-lab/nsflow/tree/main/nsflow/frontend/README.md)\n    - On another terminal window\n        ```bash\n        cd nsflow/frontend; yarn install\n        yarn dev\n        ```\n\n- By default:\n    - **backend** will be available at: `http://127.0.0.1:8005`\n    - **frontend** will be available at: `http://127.0.0.1:5173`\n    - You may change the host/port configs using environment variables for fastapi (refer [run.py](./nsflow/run.py)) and using [frontend/.env.development](./nsflow/frontend/.env.development) for react app\n\n\n#### **Step 4: To make sure your changes to frontend take effect in the wheel, run the script**\n\n- To build the Frontend\n    ```bash\n    sh build_scripts/build_frontend.sh\n    ```\n\nNote: The above script's output should show that `./nsflow` dir contains a module `prebuilt_frontend`\n\n- To build and test the wheel locally\n    ```bash\n    sh build_scripts/build_wheel.sh\n    ```\n---\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A Neuro-San powered Smart Agent Network Framework",
    "version": "0.5.19",
    "project_urls": {
        "Documentation": "https://github.com/cognizant-ai-lab/nsflow#readme",
        "Homepage": "https://github.com/cognizant-ai-lab/nsflow",
        "Repository": "https://github.com/cognizant-ai-lab/nsflow"
    },
    "split_keywords": [
        "nsflow",
        " neurosan",
        " agent-network"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "67506c7bb587446679233b41a7b5800ceb653af399f761e330386b17832e3745",
                "md5": "0a552761b0eabe678d5795ec23f4d59f",
                "sha256": "506ccce65e4877cb767183a89ee843c9b5e5db0dd02f7134479dd6d18f5d7437"
            },
            "downloads": -1,
            "filename": "nsflow-0.5.19-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0a552761b0eabe678d5795ec23f4d59f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 318493,
            "upload_time": "2025-09-03T17:44:42",
            "upload_time_iso_8601": "2025-09-03T17:44:42.588968Z",
            "url": "https://files.pythonhosted.org/packages/67/50/6c7bb587446679233b41a7b5800ceb653af399f761e330386b17832e3745/nsflow-0.5.19-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5b160652106053ab990cf5ceb4aa6edd033236a23b8f50e9ed3cd00262126125",
                "md5": "5d2de3ac08cde696e1a05ad2aecf8271",
                "sha256": "94951679761abe91518a16bda31353a0b9760cd8d1077b63d1d4c18075926bf0"
            },
            "downloads": -1,
            "filename": "nsflow-0.5.19.tar.gz",
            "has_sig": false,
            "md5_digest": "5d2de3ac08cde696e1a05ad2aecf8271",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 310330,
            "upload_time": "2025-09-03T17:44:43",
            "upload_time_iso_8601": "2025-09-03T17:44:43.935518Z",
            "url": "https://files.pythonhosted.org/packages/5b/16/0652106053ab990cf5ceb4aa6edd033236a23b8f50e9ed3cd00262126125/nsflow-0.5.19.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-03 17:44:43",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "cognizant-ai-lab",
    "github_project": "nsflow#readme",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "requirements": [
        {
            "name": "fastapi-cors",
            "specs": [
                [
                    ">=",
                    "0.0.6"
                ]
            ]
        },
        {
            "name": "fastapi",
            "specs": [
                [
                    ">=",
                    "0.115.8"
                ]
            ]
        },
        {
            "name": "graphviz",
            "specs": [
                [
                    "==",
                    "0.20.3"
                ]
            ]
        },
        {
            "name": "jupyterlab",
            "specs": [
                [
                    "==",
                    "4.4.0"
                ]
            ]
        },
        {
            "name": "pyhocon",
            "specs": [
                [
                    ">=",
                    "0.3.61"
                ]
            ]
        },
        {
            "name": "uvicorn",
            "specs": [
                [
                    ">=",
                    "0.34.0"
                ]
            ]
        },
        {
            "name": "websockets",
            "specs": [
                [
                    ">=",
                    "14.2"
                ]
            ]
        },
        {
            "name": "wsproto",
            "specs": [
                [
                    ">=",
                    "1.2.0"
                ]
            ]
        },
        {
            "name": "nbformat",
            "specs": [
                [
                    ">=",
                    "5.10.4"
                ]
            ]
        },
        {
            "name": "pydantic",
            "specs": [
                [
                    ">=",
                    "2.9.2"
                ]
            ]
        },
        {
            "name": "python-dotenv",
            "specs": [
                [
                    "==",
                    "1.0.1"
                ]
            ]
        },
        {
            "name": "gTTS",
            "specs": [
                [
                    "==",
                    "2.5.4"
                ]
            ]
        },
        {
            "name": "SpeechRecognition",
            "specs": [
                [
                    "==",
                    "3.14.3"
                ]
            ]
        },
        {
            "name": "pydub",
            "specs": [
                [
                    "==",
                    "0.25.1"
                ]
            ]
        },
        {
            "name": "python-multipart",
            "specs": [
                [
                    "==",
                    "0.0.20"
                ]
            ]
        }
    ],
    "lcname": "nsflow"
}
        
Elapsed time: 2.62863s