pyspur
A visual playground for agentic workflows: Iterate over your agents 10x faster
File Explorer
Download Latest Version (.zip)- frontend-api-calls.mdc
- .bashrc
- devcontainer.json
- docker-compose.yml
- Dockerfile
- post-create.sh
- README.md
- release.yml
- dependabot.yml
- .gitignore
- __init__.py
- ai_management.py
- api_app.py
- dataset_management.py
- evals_management.py
- file_management.py
- key_management.py
- main.py
- node_management.py
- openai_compatible_api.py
- openapi_management.py
- output_file_management.py
- rag_management.py
- run_management.py
- secure_token_store.py
- session_management.py
- slack_management.py
- template_management.py
- user_management.py
- workflow_code_convert.py
- workflow_management.py
- workflow_run.py
- __init__.py
- main.py
- utils.py
- ds_util.py
- gpqa.py
- gpqa.yaml
- gsm8k.yaml
- math.yaml
- mmlu.yaml
- common.py
- evaluator.py
- README.MD
- tool_function_example.py
- workflow_as_code_example.py
- __init__.py
- task_recorder.py
- workflow_execution_context.py
- workflow_executor.py
- auth.py
- client.py
- client.py
- socket_client.py
- socket_manager.py
- socket_worker.py
- worker_status.py
- 000_init_db.py
- 001_fix_workflow_version_idx.py
- 002_add_knowledge_base_model.py
- 003_split_knowledge_base_into_dc_and_vi.py
- 004_add_progress_status.py
- 005_rename_processing_progress_model.py
- 006_track_error_and_task_cancellation.py
- 007_add_paused_status.py
- 008_add_user_session_message_models.py
- 009_add_external_id_to_session.py
- 010_add_idx_to_time_cols.py
- 011_slack_agent.py
- 012_add_slack_tokens.py
- 013_add_date_to_slack_agent.py
- 014_add_slack_app_token_flag.py
- 015_add_persistent_socket_mode.py
- env.py
- README
- script.py.mako
- base_model.py
- dataset_model.py
- dc_and_vi_model.py
- eval_run_model.py
- output_file_model.py
- run_model.py
- slack_agent_model.py
- task_model.py
- user_session_model.py
- workflow_model.py
- workflow_version_model.py
- base.py
- registry.py
- resend_provider.py
- sendgrid_provider.py
- send_email.py
- anki_basic_node_deck_generator.py
- __init__.py
- firecrawl_crawl.py
- firecrawl_scrape.py
- __init__.py
- github_create_issue.py
- github_get_pull_request.py
- github_get_pull_request_changes.py
- github_get_repository.py
- github_list_pull_requests.py
- github_list_repositories.py
- github_search_repositories.py
- __init__.py
- google_sheets_read.py
- __init__.py
- jina_reader.py
- pdf_to_latex.py
- ad_library.py
- __init__.py
- reddit_create_post.py
- reddit_get_subreddit_info.py
- reddit_get_subreddit_stats.py
- reddit_get_top_posts.py
- reddit_get_trending_subreddits.py
- reddit_get_user_info.py
- __init__.py
- slack_notify.py
- __init__.py
- youtube_transcript.py
- best_of_n.py
- branch_solve_merge.py
- _model_info.py
- _providers.py
- _utils.py
- agent.py
- retriever.py
- single_llm_call.py
- __init__.py
- coalesce.py
- human_intervention.py
- merge.py
- router.py
- base_loop_subworkflow_node.py
- for_loop_node.py
- input.py
- output.py
- static_value.py
- python_func.py
- __init__.py
- search.py
- __init__.py
- base_subworkflow_node.py
- template_utils.py
- __init__.py
- base.py
- decorator.py
- example.py
- factory.py
- node_types.py
- registry.py
- __init__.py
- chroma_datastore.py
- pgvector_datastore.py
- pinecone_datastore.py
- qdrant_datastore.py
- supabase_datastore.py
- weaviate_datastore.py
- date.py
- __init__.py
- datastore.py
- factory.py
- README.md
- document_schemas.py
- chunker.py
- document_collection.py
- embedder.py
- parser.py
- README.md
- reranker.py
- vector_index.py
- dataset_schemas.py
- eval_schemas.py
- file_schemas.py
- node_type_schemas.py
- output_file_schemas.py
- pause_schemas.py
- rag_schemas.py
- router_schemas.py
- run_schemas.py
- session_schemas.py
- slack_schemas.py
- task_schemas.py
- user_schemas.py
- workflow_schemas.py
- workflow_validation.py
- .gitignore
- robots.txt
- joke_generator.json
- ollama_model_comparison.json
- Slack_Summarizer.json
- __init__.py
- file_utils.py
- mime_types_utils.py
- path_utils.py
- pydantic_utils.py
- redis_cache_wrapper.py
- timing.py
- workflow_version_utils.py
- __init__.py
- database.py
- workflow_builder.py
- workflow_code_handler.py
- repair_socket_workers.py
- .gitignore
- __init__.py
- test_main.py
- test_utils.py
- __init__.py
- conftest.py
- README.md
- .gitignore
- .pre-commit-config.yaml
- alembic.ini
- entrypoint.sh
- llms-ctx.txt
- log_conf.yaml
- pyproject.toml
- test_ollama.sh
- create.mdx
- delete.mdx
- get.mdx
- evaluations.mdx
- introduction.mdx
- openapi.json
- rag.mdx
- run-management.mdx
- sessions.mdx
- users.mdx
- workflow-execution.mdx
- workflow-management.mdx
- concepts.mdx
- example.mdx
- slack-socket-mode.md
- slack.mdx
- code.mdx
- deployment.mdx
- images.mdx
- markdown.mdx
- navigation.mdx
- nodes.mdx
- reusable-snippets.mdx
- settings.mdx
- spurs.mdx
- concepts.mdx
- stock_benchmarks.mdx
- dark_deploy_python.png
- dark_deploy_ts.png
- deploy_header_dark.png
- deploy_header_light.png
- light_deploy_python.png
- light_deploy_ts.png
- evals.mp4
- 0_dark.png
- 0_light.png
- 1_dark.png
- 1_light.png
- 2_dark.png
- 2_light.png
- 3_dark.png
- 3_light.png
- 4_dark.png
- 4_light.png
- 5_dark.gif
- 5_light.gif
- 6_dark.mp4
- 6_light.mp4
- 7_dark.mp4
- 7_light.mp4
- 8_dark.mp4
- 8_light.mp4
- 9_dark.mp4
- 9_light.mp4
- rag1.mp4
- rag2.mp4
- rag3.mp4
- checks-passed.png
- hero-dark.mp4
- hero-dark.svg
- hero-light.mp4
- hero-light.svg
- hero.png
- SlackSummarizer.json
- dark.svg
- light.svg
- concepts.mdx
- example.mdx
- snippet-intro.mdx
- concepts.mdx
- tool-function.mdx
- concepts.mdx
- example.mdx
- favicon.svg
- introduction.mdx
- mint.json
- quickstart.mdx
- README.md
- anki.png
- exa.png
- firecrawl.png
- github.png
- google.png
- google_sheets.png
- jina.png
- mathpix.png
- meta.png
- reddit.png
- slack.png
- youtube.png
- favicon.ico
- index.html
- logo192.png
- logo512.png
- manifest.json
- pyspur-black.png
- pyspur-logo.svg
- pyspur_white.png
- robots.txt
- Operator.tsx
- UndoRedo.tsx
- ZoomInOut.tsx
- ChatCanvas.tsx
- Edge.tsx
- EditorCanvas.tsx
- TraceCanvas.tsx
- ChunkCard.tsx
- DocumentCollectionCard.tsx
- EvalCard.tsx
- TemplateCard.tsx
- VectorIndexCard.tsx
- Chat.tsx
- MessageCard.tsx
- PromptInput.tsx
- PromptInputWithRegenerateButton.tsx
- SpurTypeChip.tsx
- ConfirmationModal.tsx
- DeployModal.tsx
- HelpModal.tsx
- HumanInputModal.tsx
- RunModal.tsx
- SettingsModal.tsx
- WelcomeModal.tsx
- AgentNode.tsx
- CoalesceNode.tsx
- RouterNode.tsx
- DynamicGroupNode.tsx
- groupNodeUtils.ts
- useDetachNodes.ts
- IOMapEditor.tsx
- NodeSidebar.tsx
- OutputSchemaEditor.tsx
- SchemaEditor.tsx
- OutputHandleRow.tsx
- BaseNode.module.css
- BaseNode.tsx
- CollapsibleNodePanel.tsx
- DynamicNode.module.css
- DynamicNode.tsx
- InputNode.module.css
- InputNode.tsx
- NodeControls.tsx
- NodeErrorDisplay.tsx
- NodeOutputDisplay.tsx
- NodeOutputModal.jsx
- AddDocumentsWizard.tsx
- ChunkEditor.tsx
- DocumentCollectionDetails.tsx
- DocumentCollectionWizard.tsx
- KnowledgeBases.tsx
- VectorIndexDetails.tsx
- VectorIndexWizard.tsx
- index.ts
- SlackAgentEditor.tsx
- SlackAgentWizard.tsx
- SlackSetupGuide.tsx
- SlackTestConnection.tsx
- FewShotEditor.tsx
- FewShotExamplesEditor.tsx
- TextEditor.module.css
- TextEditor.tsx
- CodeEditor.tsx
- Dashboard.tsx
- EndpointDisplay.tsx
- FileUploadBox.tsx
- Header.tsx
- HelperLines.tsx
- LoadingSpinner.tsx
- MCPTools.tsx
- NodeToolsSelector.tsx
- NumberInput.tsx
- OpenAPIParser.tsx
- RegisteredSpecs.tsx
- SpecTools.tsx
- StockTools.tsx
- TraceTable.tsx
- WorkflowBatchRunsTable.tsx
- jsonOptions.js
- test_input.js
- useChatWorkflowExecution.ts
- useFlowSelectors.ts
- useKeyboardShortcuts.ts
- usePartialRun.ts
- useSaveWorkflow.ts
- useWorkflowExecution.ts
- useWorkflowFileOperations.ts
- [id].tsx
- auth.tsx
- callback.tsx
- [id].tsx
- new.tsx
- [id].tsx
- new.tsx
- index.tsx
- [id].tsx
- [sessionId].tsx
- [userId].tsx
- create-agent.tsx
- [id].tsx
- [id].tsx
- [id].tsx
- _app.tsx
- dashboard.tsx
- evals.tsx
- index.tsx
- tools.tsx
- flowSlice.ts
- modeStore.ts
- nodeTypesSlice.ts
- panelSlice.ts
- store.ts
- userPreferencesSlice.ts
- globals.css
- textEditor.module.scss
- aiGenerationSchemas.ts
- datasetSchemas.ts
- evalSchemas.ts
- flowStateSchema.ts
- modelMetadataSchemas.ts
- nodeTypeSchemas.ts
- outputFileSchemas.ts
- pausedWorkflowSchemas.ts
- ragSchemas.ts
- routerSchemas.ts
- runSchemas.ts
- sessionSchemas.ts
- taskSchemas.ts
- userSchemas.ts
- workflowSchemas.ts
- alert.ts
- css.d.ts
- fewShot.ts
- html-to-image.d.ts
- openapi.ts
- workflow.ts
- api.ts
- cyclicEdgeUtils.tsx
- flowUtils.tsx
- helperLines.ts
- JSPydanticModel.js
- nodeFactory.ts
- nodeLayoutUtils.ts
- openApiParser.ts
- schemaUtils.ts
- schemaValidation.ts
- subworkflowUtils.ts
- useCopyPaste.ts
- variableNameUtils.ts
- index.css
- logo.svg
- reportWebVitals.ts
- setupTests.ts
- types.ts
- .gitignore
- .prettierrc
- components.json
- llms-ctx.txt
- next-env.d.ts
- next.config.ts
- package-lock.json
- package.json
- postcss.config.js
- README.md
- tailwind.config.js
- tsconfig.check.json
- tsconfig.json
- default.conf
- test-release.sh
- .dockerignore
- .env.example
- .gitignore
- .pre-commit-config.yaml
- docker-compose.dev.yml
- docker-compose.staging.yml
- docker-compose.yml
- Dockerfile.backend
- Dockerfile.frontend
- generate_migrations.sh
- LICENSE
- README.md
- README_CN.md
- README_DE.md
- README_ES.md
- README_FR.md
- README_JA.md
- README_KR.md
- start_pyspur_docker.sh
# Installation Guide
git clone https://github.com/PySpur-Dev/pyspur
Downloads the entire project code from GitHub to your computer.
cd pyspur
Moves into the project folder you just downloaded.
2. Official Install Script
Easy Recommended- Python 3 Python is required to use pip.
pip install pyspur
Installs the package published on PyPI directly โ no need to clone the source.
Pulled directly from this repo's README.
3. Docker
Easy- Git Needed to download the project code from GitHub.
- Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
docker compose -f docker-compose.dev.yml up --build -d
Runs the command against the services defined in the compose file.
Pulled directly from this repo's README.
4. Node.js
Easycd frontend
This project's files live in a subfolder, so move into it first.
npm install
Downloads and installs the libraries listed in package.json.
npm start
Starts the development/run server.
5. Python
Easypip install pyspur
Installs the package published on PyPI directly โ no need to clone the source.
Pulled directly from this repo's README.
