A Neuro-San powered Smart Agent Network Framework
Project description
nsflow - A FastAPI powered client and IDE for NeuroSan
Note: To see how nsflow works in conjunction with the neuro-san library, visit https://github.com/cognizant-ai-lab/neuro-san-studio
nsflow is a fastapi and react based developer-oriented client and IDE that enables users to explore, visualize, and interact with smart agent networks. It integrates with NeuroSan for intelligent agent-based interactions.
It comes with an Agent Network Designer that embodies the agentic design philosophy, making the neuro-san library accessible to both developers and non-developers alike. This transforms nsflow from a simple interactive chat client into a well-featured agent orchestration platform with visual design capabilities.
Enabling/Disabling text-to-speech and speech-to-text
For local development (when running the backend and frontend separately), you can toggle text-to-speech and speech-to-text by setting the VITE_USE_SPEECH variable in the nsflow/frontend/.env.development file to "true" or "false".
The frontend development server reads this file directly.
Installation & Running nsflow
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
python -m venv .venv
source .venv/bin/activate
Step 2: Install nsflow from pip
pip install nsflow
Step 3: Run Everything with a Single Command
python -m nsflow.run
By default, this will start:
- backend (FastAPI + NeuroSan) here:
http://127.0.0.1:4173/docsorhttp://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
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.
python -m venv .venv source .venv/bin/activate pip install -r requirements.txt pip install -r requirements-build.txt
Step 3: Start the Backend in dev mode & Frontend separately
-
Ensure that you have a few example hocon files in your
registriesand the same mapped inregistries/manifest. -
[Optional] Ensure that you have the necessary coded tools in the
coded_toolsdir. -
From the root start Backend:
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
- On another terminal window
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) and using frontend/.env.development for react app
- backend will be available at:
Step 4: To make sure your changes to frontend take effect in the wheel, run the script
- To build the Frontend
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
sh build_scripts/build_wheel.sh
For using Text-to-Speech and Speech-to-Text
Prerequisite: install ffmpeg for text-to-speech and speech-to-text support
- On Mac
brew install ffmpeg
- On Linux
sudo apt install ffmpeg
- On windows, follow the instructions here.
Enabling Visual Question Answering (VQA) http endpoints
Follow these instructions
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nsflow-0.6.7.tar.gz.
File metadata
- Download URL: nsflow-0.6.7.tar.gz
- Upload date:
- Size: 1.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a7697c3df41dc53521324f050540c51fcf1eb335372b2137e891ba72293e76a8
|
|
| MD5 |
607044a6020406687875423eb3bbf36c
|
|
| BLAKE2b-256 |
b95cee9d93bae0dce0517ed542701f9d667a60a00e18f736a251567928314592
|
Provenance
The following attestation bundles were made for nsflow-0.6.7.tar.gz:
Publisher:
publish.yml on cognizant-ai-lab/nsflow
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nsflow-0.6.7.tar.gz -
Subject digest:
a7697c3df41dc53521324f050540c51fcf1eb335372b2137e891ba72293e76a8 - Sigstore transparency entry: 844022084
- Sigstore integration time:
-
Permalink:
cognizant-ai-lab/nsflow@04ebbcdbd6fa0cef93b0656d5f11ba8a5dd9abcf -
Branch / Tag:
refs/tags/0.6.7 - Owner: https://github.com/cognizant-ai-lab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@04ebbcdbd6fa0cef93b0656d5f11ba8a5dd9abcf -
Trigger Event:
release
-
Statement type:
File details
Details for the file nsflow-0.6.7-py3-none-any.whl.
File metadata
- Download URL: nsflow-0.6.7-py3-none-any.whl
- Upload date:
- Size: 1.4 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c52315cd60304084081b40626a9642e1a2255ae094587e6386a9aa539f23b69f
|
|
| MD5 |
0db237a0717a0676b32ae8f750d89efb
|
|
| BLAKE2b-256 |
9c4920c2f5cbdf4dc1cfbc6dccd0aded7bc82836f83bd0f192c57e8457a5ebd2
|
Provenance
The following attestation bundles were made for nsflow-0.6.7-py3-none-any.whl:
Publisher:
publish.yml on cognizant-ai-lab/nsflow
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nsflow-0.6.7-py3-none-any.whl -
Subject digest:
c52315cd60304084081b40626a9642e1a2255ae094587e6386a9aa539f23b69f - Sigstore transparency entry: 844022086
- Sigstore integration time:
-
Permalink:
cognizant-ai-lab/nsflow@04ebbcdbd6fa0cef93b0656d5f11ba8a5dd9abcf -
Branch / Tag:
refs/tags/0.6.7 - Owner: https://github.com/cognizant-ai-lab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@04ebbcdbd6fa0cef93b0656d5f11ba8a5dd9abcf -
Trigger Event:
release
-
Statement type: