synapsekit 1.4.2__tar.gz → 1.4.7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- synapsekit-1.4.7/.github/discord-members.json +1 -0
- synapsekit-1.4.7/.github/workflows/discord-contributor.yml +45 -0
- synapsekit-1.4.7/.github/workflows/discord-issues.yml +30 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/.gitignore +2 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/CHANGELOG.md +84 -0
- synapsekit-1.4.7/DISCORD_AUTOMOD.md +41 -0
- synapsekit-1.4.7/DISCORD_COMMANDS.md +33 -0
- synapsekit-1.4.7/DISCORD_INTEREST_ROLES.md +39 -0
- synapsekit-1.4.7/DISCORD_RELEASE_WEBHOOKS.md +31 -0
- synapsekit-1.4.7/DISCORD_ROLES.md +37 -0
- synapsekit-1.4.7/DISCORD_WELCOME.md +58 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/PKG-INFO +47 -10
- {synapsekit-1.4.2 → synapsekit-1.4.7}/README.md +12 -9
- synapsekit-1.4.7/assets/banner.svg +54 -0
- synapsekit-1.4.7/assets/logo.svg +13 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/pyproject.toml +34 -3
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/__init__.py +22 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/__init__.py +2 -0
- synapsekit-1.4.7/src/synapsekit/agents/tools/notion.py +362 -0
- synapsekit-1.4.7/src/synapsekit/agents/tools/python_repl.py +161 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/graph/checkpointers/sqlite.py +6 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/graph/mermaid.py +9 -1
- synapsekit-1.4.7/src/synapsekit/graph/subgraph.py +135 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/graph/trace.py +10 -5
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/__init__.py +2 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/multimodal.py +3 -0
- synapsekit-1.4.7/src/synapsekit/llm/sambanova.py +88 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/loaders/__init__.py +16 -0
- synapsekit-1.4.7/src/synapsekit/loaders/arxiv.py +82 -0
- synapsekit-1.4.7/src/synapsekit/loaders/discord.py +147 -0
- synapsekit-1.4.7/src/synapsekit/loaders/email.py +120 -0
- synapsekit-1.4.7/src/synapsekit/loaders/google_drive.py +212 -0
- synapsekit-1.4.7/src/synapsekit/loaders/notion.py +369 -0
- synapsekit-1.4.7/src/synapsekit/loaders/slack.py +174 -0
- synapsekit-1.4.7/src/synapsekit/loaders/wikipedia.py +86 -0
- synapsekit-1.4.7/src/synapsekit/loaders/xml_loader.py +39 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/prompts/template.py +31 -3
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/rag/facade.py +8 -1
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/retrieval/__init__.py +10 -0
- synapsekit-1.4.7/src/synapsekit/retrieval/lancedb.py +158 -0
- synapsekit-1.4.7/src/synapsekit/retrieval/milvus.py +194 -0
- synapsekit-1.4.7/src/synapsekit/retrieval/pgvector.py +201 -0
- synapsekit-1.4.7/src/synapsekit/retrieval/strategies/__init__.py +1 -0
- synapsekit-1.4.7/src/synapsekit/retrieval/strategies/colbert.py +173 -0
- synapsekit-1.4.7/src/synapsekit/retrieval/weaviate.py +114 -0
- synapsekit-1.4.7/src/synapsekit/text_splitters/base.py +40 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/agents/test_shell_tool.py +1 -1
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/agents/test_tools.py +60 -0
- synapsekit-1.4.7/tests/agents/tools/test_notion_tool.py +313 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/graph/test_checkpointing.py +10 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/graph/test_mermaid.py +17 -3
- synapsekit-1.4.7/tests/graph/test_subgraph_errors.py +261 -0
- synapsekit-1.4.7/tests/llm/test_sambanova_provider.py +141 -0
- synapsekit-1.4.7/tests/loaders/test_arxiv_loader.py +101 -0
- synapsekit-1.4.7/tests/loaders/test_discord_loader.py +189 -0
- synapsekit-1.4.7/tests/loaders/test_email_loader.py +358 -0
- synapsekit-1.4.7/tests/loaders/test_google_drive_loader.py +407 -0
- synapsekit-1.4.7/tests/loaders/test_notion_loader.py +370 -0
- synapsekit-1.4.7/tests/loaders/test_slack_loader.py +382 -0
- synapsekit-1.4.7/tests/loaders/test_wikipedia_loader.py +141 -0
- synapsekit-1.4.7/tests/loaders/test_xml_loader.py +274 -0
- synapsekit-1.4.7/tests/retrieval/test_colbert.py +94 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/test_v100_features.py +1 -1
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/text_splitters/test_splitters.py +106 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/uv.lock +819 -29
- synapsekit-1.4.2/assets/banner.svg +0 -63
- synapsekit-1.4.2/assets/logo.svg +0 -13
- synapsekit-1.4.2/src/synapsekit/agents/tools/python_repl.py +0 -55
- synapsekit-1.4.2/src/synapsekit/graph/subgraph.py +0 -60
- synapsekit-1.4.2/src/synapsekit/text_splitters/base.py +0 -12
- {synapsekit-1.4.2 → synapsekit-1.4.7}/.all-contributorsrc +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/.github/DISCUSSION_TEMPLATE/ideas.yml +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/.github/profile/README.md +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/.github/workflows/ci.yml +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/.github/workflows/publish.yml +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/.github/workflows/welcome.yml +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/.pre-commit-config.yaml +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/CODE_OF_CONDUCT.md +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/CONTRIBUTING.md +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/LICENSE +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/Makefile +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/SECURITY.md +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/assets/favicon.svg +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/examples/README.md +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/examples/agent_tools.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/examples/caching_retries.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/examples/graph_workflow.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/examples/multi_provider.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/examples/rag_quickstart.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/_api.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/_compat.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/a2a/__init__.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/a2a/agent_card.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/a2a/client.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/a2a/server.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/a2a/types.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/__init__.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/base.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/executor.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/function_calling.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/guardrails.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/memory.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/multi/__init__.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/multi/crew.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/multi/handoff.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/multi/supervisor.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/pii_redactor.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/react.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/registry.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/step_events.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tool_decorator.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/api_builder.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/arxiv_search.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/aws_lambda.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/bing_search.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/brave_search.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/calculator.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/datetime_tool.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/duck_search.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/email_tool.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/file_list.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/file_read.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/file_write.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/github_api.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/google_calendar.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/google_search.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/graphql.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/http_request.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/human_input.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/image_analysis.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/jira.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/json_query.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/pdf_reader.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/pubmed_search.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/regex_tool.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/sentiment.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/shell.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/slack.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/speech_to_text.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/sql_query.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/sql_schema.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/summarization.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/tavily_search.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/text_to_speech.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/translation.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/vector_search.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/web_scraper.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/web_search.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/wikipedia.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/wolfram.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/agents/tools/youtube_search.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/cli/__init__.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/cli/main.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/cli/serve.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/cli/test.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/embeddings/__init__.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/embeddings/backend.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/evaluation/__init__.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/evaluation/base.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/evaluation/decorators.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/evaluation/faithfulness.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/evaluation/groundedness.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/evaluation/pipeline.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/evaluation/regression.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/evaluation/relevancy.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/graph/__init__.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/graph/approval.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/graph/checkpointers/__init__.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/graph/checkpointers/base.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/graph/checkpointers/json_file.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/graph/checkpointers/memory.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/graph/checkpointers/postgres.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/graph/checkpointers/redis.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/graph/compiled.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/graph/dynamic_route.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/graph/edge.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/graph/errors.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/graph/fan_out.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/graph/graph.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/graph/interrupt.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/graph/node.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/graph/state.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/graph/streaming.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/graph/visualization.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/_cache.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/_cache_dynamodb.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/_cache_memcached.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/_filesystem_cache.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/_rate_limit.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/_redis_cache.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/_retry.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/_semantic_cache.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/_sqlite_cache.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/ai21.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/aleph_alpha.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/anthropic.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/azure_openai.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/base.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/bedrock.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/cerebras.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/cloudflare.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/cohere.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/cost_router.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/databricks.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/deepseek.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/ernie.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/fallback_chain.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/fireworks.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/gemini.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/groq.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/huggingface.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/llamacpp.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/minimax.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/mistral.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/moonshot.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/ollama.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/openai.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/openrouter.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/perplexity.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/structured.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/together.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/vertex_ai.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/llm/zhipu.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/loaders/audio.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/loaders/base.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/loaders/csv.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/loaders/directory.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/loaders/docx.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/loaders/excel.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/loaders/html.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/loaders/image.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/loaders/json_loader.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/loaders/markdown.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/loaders/pdf.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/loaders/pptx.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/loaders/text.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/loaders/video.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/loaders/web.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/loaders/yaml_loader.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/mcp/__init__.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/mcp/client.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/mcp/server.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/memory/__init__.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/memory/buffer.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/memory/conversation.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/memory/entity.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/memory/hybrid.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/memory/redis.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/memory/sqlite.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/memory/summary_buffer.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/memory/token_buffer.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/observability/__init__.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/observability/audit_log.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/observability/budget_guard.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/observability/cost_tracker.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/observability/distributed.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/observability/otel.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/observability/tracer.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/observability/ui.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/parsers/__init__.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/parsers/json_parser.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/parsers/list_parser.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/parsers/pydantic_parser.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/plugins.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/prompts/__init__.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/prompts/hub.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/py.typed +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/rag/__init__.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/rag/pipeline.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/retrieval/adaptive.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/retrieval/base.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/retrieval/chroma.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/retrieval/cohere_reranker.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/retrieval/contextual.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/retrieval/contextual_compression.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/retrieval/crag.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/retrieval/cross_encoder.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/retrieval/ensemble.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/retrieval/faiss.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/retrieval/flare.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/retrieval/graphrag.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/retrieval/hybrid_search.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/retrieval/hyde.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/retrieval/multi_step.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/retrieval/parent_document.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/retrieval/pinecone.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/retrieval/qdrant.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/retrieval/query_decomposition.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/retrieval/rag_fusion.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/retrieval/retriever.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/retrieval/self_query.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/retrieval/self_rag.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/retrieval/sentence_window.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/retrieval/step_back.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/retrieval/vectorstore.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/text_splitters/__init__.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/text_splitters/character.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/text_splitters/markdown.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/text_splitters/recursive.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/text_splitters/semantic.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/src/synapsekit/text_splitters/token.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/__init__.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/agents/__init__.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/agents/test_api_builder_tool.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/agents/test_aws_lambda_tool.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/agents/test_bing_search.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/agents/test_executor.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/agents/test_function_calling.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/agents/test_google_calendar_tool.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/agents/test_memory.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/agents/test_pii_redactor.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/agents/test_react.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/agents/test_sql_schema.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/agents/test_streaming_steps.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/agents/test_tool_decorator.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/agents/test_web_scraper.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/agents/test_wolfram_alpha.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/agents/tools/test_google_search.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/agents/tools/test_sql_query.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/conftest.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/graph/__init__.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/graph/test_build.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/graph/test_cycles.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/graph/test_json_checkpointer.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/graph/test_run.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/graph/test_state.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/graph/test_stream.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/graph/test_visualization.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/llm/__init__.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/llm/test_cache_dynamodb.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/llm/test_cache_memcached.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/llm/test_cache_retry.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/llm/test_filesystem_cache.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/llm/test_function_calling_providers.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/llm/test_huggingface.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/llm/test_llamacpp.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/llm/test_llm.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/llm/test_new_providers_185.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/llm/test_providers.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/llm/test_vertex_ai.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/loaders/__init__.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/loaders/test_audio_video_loaders.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/loaders/test_docx_loader.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/loaders/test_loaders.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/loaders/test_markdown_loader.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/loaders/test_yaml_loader.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/memory/__init__.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/memory/test_memory.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/memory/test_redis_memory.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/observability/__init__.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/observability/test_audit_log.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/observability/test_tracer.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/parsers/__init__.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/parsers/test_parsers.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/prompts/__init__.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/prompts/test_prompts.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/rag/__init__.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/rag/test_facade.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/rag/test_pipeline.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/retrieval/__init__.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/retrieval/test_backends.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/retrieval/test_graphrag.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/retrieval/test_hyde.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/retrieval/test_retriever.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/retrieval/test_vectorstore.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/test_v051_features.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/test_v052_features.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/test_v053_features.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/test_v060_features.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/test_v061_features.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/test_v062_features.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/test_v063_features.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/test_v065_features.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/test_v066_features.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/test_v068_features.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/test_v069_features.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/test_v070_features.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/test_v080_features.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/test_v090_features.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/test_v120_features.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/test_v120_integration.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/test_v130_eval_regression.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/test_v130_routing.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/text_splitters/__init__.py +0 -0
- {synapsekit-1.4.2 → synapsekit-1.4.7}/tests/text_splitters/test_markdown.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
name: Assign Discord Contributor Role
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
types: [closed]
|
|
6
|
+
|
|
7
|
+
permissions:
|
|
8
|
+
contents: read
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
assign-role:
|
|
12
|
+
if: github.event.pull_request.merged == true
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
steps:
|
|
15
|
+
- uses: actions/checkout@v4
|
|
16
|
+
|
|
17
|
+
- name: Look up Discord ID for PR author
|
|
18
|
+
id: lookup
|
|
19
|
+
shell: bash
|
|
20
|
+
run: |
|
|
21
|
+
set -euo pipefail
|
|
22
|
+
GH_USER="${{ github.event.pull_request.user.login }}"
|
|
23
|
+
if [ ! -f .github/discord-members.json ]; then
|
|
24
|
+
echo "discord_id=" >> "$GITHUB_OUTPUT"
|
|
25
|
+
exit 0
|
|
26
|
+
fi
|
|
27
|
+
DISCORD_ID=$(jq -r --arg user "$GH_USER" '.[$user] // empty' .github/discord-members.json)
|
|
28
|
+
echo "discord_id=$DISCORD_ID" >> "$GITHUB_OUTPUT"
|
|
29
|
+
|
|
30
|
+
- name: Assign Contributor role
|
|
31
|
+
if: steps.lookup.outputs.discord_id != ''
|
|
32
|
+
env:
|
|
33
|
+
DISCORD_BOT_TOKEN: ${{ secrets.DISCORD_BOT_TOKEN }}
|
|
34
|
+
DISCORD_GUILD_ID: ${{ secrets.DISCORD_GUILD_ID }}
|
|
35
|
+
DISCORD_CONTRIBUTOR_ROLE_ID: ${{ secrets.DISCORD_CONTRIBUTOR_ROLE_ID }}
|
|
36
|
+
run: |
|
|
37
|
+
set -euo pipefail
|
|
38
|
+
if [ -z "$DISCORD_BOT_TOKEN" ] || [ -z "$DISCORD_GUILD_ID" ] || [ -z "$DISCORD_CONTRIBUTOR_ROLE_ID" ]; then
|
|
39
|
+
echo "Missing DISCORD_* secrets; skipping role assignment."
|
|
40
|
+
exit 0
|
|
41
|
+
fi
|
|
42
|
+
curl -sS -X PUT \
|
|
43
|
+
-H "Authorization: Bot $DISCORD_BOT_TOKEN" \
|
|
44
|
+
-H "Content-Type: application/json" \
|
|
45
|
+
"https://discord.com/api/v10/guilds/$DISCORD_GUILD_ID/members/${{ steps.lookup.outputs.discord_id }}/roles/$DISCORD_CONTRIBUTOR_ROLE_ID"
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
name: Post good-first-issues to Discord
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
issues:
|
|
5
|
+
types: [labeled]
|
|
6
|
+
|
|
7
|
+
permissions:
|
|
8
|
+
issues: read
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
notify:
|
|
12
|
+
if: |
|
|
13
|
+
github.event.label.name == 'good first issue' ||
|
|
14
|
+
github.event.label.name == 'help wanted'
|
|
15
|
+
runs-on: ubuntu-latest
|
|
16
|
+
steps:
|
|
17
|
+
- name: Post to Discord
|
|
18
|
+
env:
|
|
19
|
+
DISCORD_WEBHOOK: ${{ secrets.DISCORD_GOOD_FIRST_ISSUES_WEBHOOK }}
|
|
20
|
+
TITLE: ${{ github.event.issue.title }}
|
|
21
|
+
URL: ${{ github.event.issue.html_url }}
|
|
22
|
+
run: |
|
|
23
|
+
set -euo pipefail
|
|
24
|
+
if [ -z "$DISCORD_WEBHOOK" ]; then
|
|
25
|
+
echo "Missing DISCORD_GOOD_FIRST_ISSUES_WEBHOOK; skipping."
|
|
26
|
+
exit 0
|
|
27
|
+
fi
|
|
28
|
+
curl -sS -H "Content-Type: application/json" \
|
|
29
|
+
-d "{\"content\": \"👋 **New issue open for contribution:**\\n$TITLE\\n$URL\"}" \
|
|
30
|
+
"$DISCORD_WEBHOOK"
|
|
@@ -7,6 +7,90 @@ SynapseKit uses [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## [1.4.8] — 2026-04-03
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- **WikipediaLoader** — load Wikipedia articles as Documents via `wikipedia-api`; pipe-delimited multi-title support; async `aload()`; `pip install synapsekit[wikipedia]`
|
|
15
|
+
- **ArXivLoader** — search arXiv and load papers as Documents (downloads PDFs); uses arxiv v2 `Client` API; async `aload()`; `pip install synapsekit[arxiv,pdf]`
|
|
16
|
+
- **EmailLoader** — load emails from IMAP mailboxes (Gmail, Outlook, etc.) as Documents; stdlib-only, no extra deps; configurable folder and IMAP search; async `aload()`
|
|
17
|
+
- **ColBERTRetriever** — late-interaction ColBERT retrieval via RAGatouille; `add()`, `retrieve()`, `retrieve_with_scores()`; lazy-loads ragatouille on first use; `pip install synapsekit[colbert]`
|
|
18
|
+
- 50 new tests (1500 total)
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## [1.4.7] — 2026-04-02
|
|
23
|
+
|
|
24
|
+
### Added
|
|
25
|
+
|
|
26
|
+
- **SlackLoader** — load messages from Slack channels via Bot API; sync `load()` and async `aload()`; configurable `limit`; per-message metadata; `pip install synapsekit[slack]`
|
|
27
|
+
- **NotionLoader** — load pages or full databases from Notion via the Notion API; sync `load()` and async `aload()`; configurable retry/timeout; `pip install synapsekit[notion]`
|
|
28
|
+
- **NotionTool** — agent tool for Notion: `search`, `get_page`, `create_page`, `append_block`; built-in retry with exponential back-off; `pip install synapsekit[notion]`
|
|
29
|
+
- **Subgraph error handling** — `subgraph_node()` gains `on_error` (`"raise"` / `"retry"` / `"fallback"` / `"skip"`), `max_retries`, and `fallback` parameters
|
|
30
|
+
- 17 new tests (1467 total)
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## [1.4.6] — 2026-04-01
|
|
35
|
+
|
|
36
|
+
### Added
|
|
37
|
+
|
|
38
|
+
- **Subgraph error handling** — `subgraph_node()` gains four keyword-only parameters: `on_error` (`"raise"` / `"retry"` / `"fallback"` / `"skip"`), `max_retries` (default 3), and `fallback` (a secondary `CompiledGraph`). On any handled failure the parent state receives `"__subgraph_error__"` with `"type"`, `"message"`, and `"attempts"` keys. Backward-compatible: default behaviour (`on_error="raise"`) is unchanged. (#378)
|
|
39
|
+
- 17 new tests (1450 total)
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## [1.4.5] — 2026-03-31
|
|
44
|
+
|
|
45
|
+
### Added
|
|
46
|
+
|
|
47
|
+
- **WeaviateVectorStore** — Weaviate v4 client; lazy collection creation; cosine vector search via `query.near_vector`; metadata filtering; `pip install synapsekit[weaviate]`
|
|
48
|
+
- **PGVectorStore** — PostgreSQL + pgvector; async psycopg3; cosine / L2 / inner-product distance; SQL-injection-safe via `psycopg.sql.Identifier`; metadata JSONB; `pip install synapsekit[pgvector]`
|
|
49
|
+
- **MilvusVectorStore** — IVF_FLAT and HNSW index types; `MilvusIndexType` enum; metadata filtering via Milvus expressions; Zilliz Cloud support; `pip install synapsekit[milvus]`
|
|
50
|
+
- **LanceDBVectorStore** — embedded, serverless; local and cloud (S3/GCS) storage; automatic FTS index; metadata filtering; `pip install synapsekit[lancedb]`
|
|
51
|
+
|
|
52
|
+
All four backends follow the existing lazy-import `_BACKENDS` pattern and are included in `synapsekit[all]`.
|
|
53
|
+
|
|
54
|
+
- 0 new tests (1433 total)
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## [1.4.4] — 2026-03-30
|
|
59
|
+
|
|
60
|
+
### Added
|
|
61
|
+
|
|
62
|
+
- **SambaNova provider** — fast inference on Meta Llama, Qwen, and other open models via SambaNova Cloud's OpenAI-compatible API; requires `pip install synapsekit[openai]`; always set `provider="sambanova"`
|
|
63
|
+
- **GoogleDriveLoader** — load files and folders from Google Drive via service-account credentials; supports Google Docs (text export), Sheets (CSV export), PDFs, and text files; `pip install synapsekit[gdrive]`
|
|
64
|
+
- **`split_with_metadata()`** — new method on `BaseSplitter`; returns `list[dict]` with `text` and `metadata` keys; automatically injects `chunk_index`; all splitters inherit it
|
|
65
|
+
|
|
66
|
+
### Fixed
|
|
67
|
+
|
|
68
|
+
- `asyncio.get_event_loop()` → `asyncio.get_running_loop()` in `GoogleDriveLoader` (deprecated in Python 3.10+)
|
|
69
|
+
- `build()` in `GoogleDriveLoader.aload()` wrapped in executor (was blocking the event loop)
|
|
70
|
+
- Failed file downloads in `GoogleDriveLoader._load_folder` now log a warning instead of silently skipping
|
|
71
|
+
|
|
72
|
+
- 49 new tests (1452 total)
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## [1.4.3] — 2026-03-29
|
|
77
|
+
|
|
78
|
+
### Added
|
|
79
|
+
|
|
80
|
+
- **XMLLoader** — load XML files via stdlib `xml.etree.ElementTree`; optional `tags` filter; no new dependencies
|
|
81
|
+
- **DiscordLoader** — load messages from Discord channels via bot token; `before_message_id` / `after_message_id` pagination; rich metadata (author, timestamp, attachments); `pip install synapsekit[discord]`
|
|
82
|
+
- **PythonREPLTool timeout** — `timeout: float = 5.0` parameter; Unix uses `signal.SIGALRM`, Windows uses `multiprocessing.Process`; security warning logged on instantiation
|
|
83
|
+
|
|
84
|
+
### Improved
|
|
85
|
+
|
|
86
|
+
- **Mermaid conditional edges** — render as dashed arrows (`-.->`) to distinguish from deterministic edges; branch labels prefixed with condition function name (e.g. `route:approve`)
|
|
87
|
+
- **SQLiteCheckpointer** — supports `async with` for automatic connection cleanup
|
|
88
|
+
- **Windows compatibility** — `audio/x-wav` MIME normalised to `audio/wav`; shell timeout test uses portable Python sleep; graph tracer uses `time.perf_counter()` for sub-millisecond resolution
|
|
89
|
+
|
|
90
|
+
- 35 new tests (1403 total)
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
10
94
|
## [1.4.2] — 2026-03-28
|
|
11
95
|
|
|
12
96
|
### Added
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# SynapseKit Discord Automod & Spam Protection
|
|
2
|
+
|
|
3
|
+
Draft for issue #394.
|
|
4
|
+
|
|
5
|
+
## Tool
|
|
6
|
+
Use **Carl-bot** (Automod) — free, no code.
|
|
7
|
+
|
|
8
|
+
Carl-bot dashboard: https://carl.gg
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Automod rules to configure
|
|
13
|
+
|
|
14
|
+
| Rule | Action | Target |
|
|
15
|
+
|---|---|---|
|
|
16
|
+
| New account < 7 days old | Kick + DM warning | @everyone |
|
|
17
|
+
| Posting links in first 10 minutes | Delete + warn | New members |
|
|
18
|
+
| More than 5 messages in 5 seconds | Mute 10 min + log | @everyone |
|
|
19
|
+
| Discord invite links | Delete + warn | @everyone (except Moderator+) |
|
|
20
|
+
| Spam caps (ALL CAPS > 70%) | Delete | @everyone |
|
|
21
|
+
| Known phishing domains | Ban + log | @everyone |
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Logging
|
|
26
|
+
|
|
27
|
+
Create a private **#mod-log** channel (Admin + Moderator only) and point Carl-bot automod logs there.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Slowmode
|
|
32
|
+
|
|
33
|
+
- **#general** — 5s slowmode
|
|
34
|
+
- **#introductions** — 10s slowmode
|
|
35
|
+
- **Help channels** — no slowmode
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Setup path
|
|
40
|
+
|
|
41
|
+
Carl-bot dashboard → Automod → enable each rule. Takes about 10 minutes.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# SynapseKit Discord Custom Commands
|
|
2
|
+
|
|
3
|
+
Draft for issue #396.
|
|
4
|
+
|
|
5
|
+
## Tool
|
|
6
|
+
Use **Carl-bot** (Custom Commands).
|
|
7
|
+
|
|
8
|
+
Carl-bot dashboard: https://carl.gg
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Commands to set up
|
|
13
|
+
|
|
14
|
+
| Command | Response |
|
|
15
|
+
|---|---|
|
|
16
|
+
| `/docs` | https://synapsekit.github.io/synapsekit-docs/ |
|
|
17
|
+
| `/docs rag` | https://synapsekit.github.io/synapsekit-docs/docs/rag/pipeline |
|
|
18
|
+
| `/docs agents` | https://synapsekit.github.io/synapsekit-docs/docs/agents/overview |
|
|
19
|
+
| `/docs graph` | https://synapsekit.github.io/synapsekit-docs/docs/graph/overview |
|
|
20
|
+
| `/docs providers` | https://synapsekit.github.io/synapsekit-docs/docs/llms/overview |
|
|
21
|
+
| `/docs install` | https://synapsekit.github.io/synapsekit-docs/docs/getting-started/installation |
|
|
22
|
+
| `/docs quickstart` | https://synapsekit.github.io/synapsekit-docs/docs/getting-started/quickstart |
|
|
23
|
+
| `/changelog` | https://synapsekit.github.io/synapsekit-docs/docs/changelog |
|
|
24
|
+
| `/pypi` | https://pypi.org/project/synapsekit/ |
|
|
25
|
+
| `/github` | https://github.com/SynapseKit/SynapseKit |
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Setup path
|
|
30
|
+
|
|
31
|
+
Carl-bot dashboard → Custom Commands → create each command above. Takes ~15 mins.
|
|
32
|
+
|
|
33
|
+
These work in all channels so anyone can type `/docs rag` and get the link instantly.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# SynapseKit Discord Interest Roles (Buttons in #roles)
|
|
2
|
+
|
|
3
|
+
Draft for issue #393.
|
|
4
|
+
|
|
5
|
+
## Tool
|
|
6
|
+
Use **Carl-bot** (Reaction Roles / Button Roles).
|
|
7
|
+
|
|
8
|
+
Carl-bot dashboard: https://carl.gg
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Message to pin in #roles
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
Pick what you're building with SynapseKit.
|
|
16
|
+
You can select multiple.
|
|
17
|
+
|
|
18
|
+
🗂 RAG Builder — pipelines, loaders, retrievers
|
|
19
|
+
🤖 Agent Builder — tools, ReAct, function calling
|
|
20
|
+
🔀 Graph Builder — StateGraph, workflows, HITL
|
|
21
|
+
🧠 LLM Explorer — providers, caching, cost routing
|
|
22
|
+
📖 Docs / Writer — docs improvements, examples
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Setup steps
|
|
28
|
+
|
|
29
|
+
1. Carl-bot dashboard → Reaction Roles → Create new.
|
|
30
|
+
2. Paste the message above, add emoji → role mappings.
|
|
31
|
+
3. Set mode to **Toggle** (click once to add, again to remove).
|
|
32
|
+
4. Post in `#roles` with **send-as-bot** enabled.
|
|
33
|
+
5. Lock `#roles` so only the bot can post (members interact via buttons only).
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Why this matters
|
|
38
|
+
|
|
39
|
+
Lets us @-mention specific groups (e.g., **@RAG Builder**) instead of @everyone.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# SynapseKit Discord Release Webhooks
|
|
2
|
+
|
|
3
|
+
Draft for issue #390.
|
|
4
|
+
|
|
5
|
+
## What this does
|
|
6
|
+
|
|
7
|
+
Automatically posts new GitHub releases to Discord so `#changelog` stays up to date without manual copy-pasting.
|
|
8
|
+
|
|
9
|
+
## Setup
|
|
10
|
+
|
|
11
|
+
1. In GitHub, go to the repo → Settings → Webhooks → Add webhook.
|
|
12
|
+
2. Set the payload URL to the Discord channel webhook URL.
|
|
13
|
+
3. Use content type `application/json`.
|
|
14
|
+
4. Select individual events and enable only `Releases`.
|
|
15
|
+
5. Save the webhook.
|
|
16
|
+
|
|
17
|
+
## Discord result
|
|
18
|
+
|
|
19
|
+
A published release should show something like:
|
|
20
|
+
|
|
21
|
+
> 🚀 **New release: v1.4.6**
|
|
22
|
+
> Subgraph error handling — retry, fallback, skip
|
|
23
|
+
> [View release](https://github.com/SynapseKit/SynapseKit/releases/tag/v1.4.6)
|
|
24
|
+
|
|
25
|
+
## Optional extra
|
|
26
|
+
|
|
27
|
+
If you want a wider announcement, point the same GitHub release webhook at `#announcements` too.
|
|
28
|
+
|
|
29
|
+
## Channel target
|
|
30
|
+
|
|
31
|
+
`#changelog` is the main target for this automation.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# SynapseKit Discord Roles & Permissions
|
|
2
|
+
|
|
3
|
+
Draft for issue #389.
|
|
4
|
+
|
|
5
|
+
## Role hierarchy
|
|
6
|
+
|
|
7
|
+
| Role | Color | Who gets it | How |
|
|
8
|
+
|---|---|---|---|
|
|
9
|
+
| Admin | Red | Amit, Abhay | Manual |
|
|
10
|
+
| Moderator | Orange | Trusted members later | Manual |
|
|
11
|
+
| Contributor | Green | Anyone with a merged PR | Manual for now; see #391 for automation |
|
|
12
|
+
| Member | Blue/grey | Everyone on join | Auto via Carl-bot welcome |
|
|
13
|
+
| Bot | Dark grey | All bots | Manual |
|
|
14
|
+
|
|
15
|
+
## Interest roles
|
|
16
|
+
|
|
17
|
+
These are self-assign in `#roles` and do not unlock channels:
|
|
18
|
+
|
|
19
|
+
- 🗂 RAG Builder
|
|
20
|
+
- 🤖 Agent Builder
|
|
21
|
+
- 🔀 Graph Builder
|
|
22
|
+
- 🧠 LLM Explorer
|
|
23
|
+
- 📖 Docs / Writer
|
|
24
|
+
|
|
25
|
+
## Setup steps
|
|
26
|
+
|
|
27
|
+
1. Create the roles in Server Settings → Roles.
|
|
28
|
+
2. Set the role colors.
|
|
29
|
+
3. Order them as: Admin > Moderator > Contributor > Member > @everyone.
|
|
30
|
+
4. Lock `#contributors-chat` to Contributor+ only.
|
|
31
|
+
5. Lock `#announcements` and `#changelog` to admin-only posting.
|
|
32
|
+
|
|
33
|
+
## Permissions
|
|
34
|
+
|
|
35
|
+
- `#contributors-chat` — visible to Contributor, Moderator, and Admin.
|
|
36
|
+
- `#announcements` — visible to everyone, posting restricted to Admin only.
|
|
37
|
+
- `#changelog` — visible to everyone, posting restricted to Admin only.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# SynapseKit Discord Welcome & Onboarding
|
|
2
|
+
|
|
3
|
+
Draft for issue #392.
|
|
4
|
+
|
|
5
|
+
## Tool
|
|
6
|
+
Use **Carl-bot** (free, no code needed).
|
|
7
|
+
|
|
8
|
+
Carl-bot dashboard: https://carl.gg
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## 1) Welcome DM (Welcomer → DM)
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
Hey, welcome to the SynapseKit community! 👋
|
|
16
|
+
|
|
17
|
+
A few things to get started:
|
|
18
|
+
• Head to #roles and pick what you're building
|
|
19
|
+
• Introduce yourself in #introductions
|
|
20
|
+
• If you need help, drop a message in the relevant #*-help channel
|
|
21
|
+
|
|
22
|
+
Docs: https://synapsekit.github.io/synapsekit-docs/
|
|
23
|
+
GitHub: https://github.com/SynapseKit/SynapseKit
|
|
24
|
+
|
|
25
|
+
Glad to have you here.
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## 2) Auto-assign Member role (Autoroles)
|
|
31
|
+
|
|
32
|
+
- Role: **Member**
|
|
33
|
+
- Trigger: on join
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## 3) Welcome message in #introductions (Welcomer → Channel)
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
Welcome {user}! Tell us what you're building 🛠
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## 4) #rules pinned message (keep it short)
|
|
46
|
+
|
|
47
|
+
- Be respectful
|
|
48
|
+
- Keep questions in the right help channel
|
|
49
|
+
- No spam or self-promo without context
|
|
50
|
+
- English preferred (or include a translation)
|
|
51
|
+
- No DM-ing members without permission
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Notes
|
|
56
|
+
|
|
57
|
+
- Set up channel structure first (see COMMUNITY.md / DISCORD_ROLES.md).
|
|
58
|
+
- If you change channel names, update the DM text accordingly.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: synapsekit
|
|
3
|
-
Version: 1.4.
|
|
3
|
+
Version: 1.4.7
|
|
4
4
|
Summary: Async-native Python framework for building production-grade LLM applications. Streaming-first, 2 dependencies, fully transparent.
|
|
5
5
|
Project-URL: Homepage, https://github.com/SynapseKit/SynapseKit
|
|
6
6
|
Project-URL: Repository, https://github.com/SynapseKit/SynapseKit
|
|
@@ -29,39 +29,51 @@ Provides-Extra: all
|
|
|
29
29
|
Requires-Dist: ai21>=2.0; extra == 'all'
|
|
30
30
|
Requires-Dist: aiomcache>=0.8; extra == 'all'
|
|
31
31
|
Requires-Dist: anthropic>=0.25; extra == 'all'
|
|
32
|
+
Requires-Dist: arxiv>=2.0; extra == 'all'
|
|
32
33
|
Requires-Dist: beautifulsoup4>=4.12; extra == 'all'
|
|
33
34
|
Requires-Dist: boto3>=1.34; extra == 'all'
|
|
34
35
|
Requires-Dist: chromadb>=0.5; extra == 'all'
|
|
35
36
|
Requires-Dist: cohere>=5.0; extra == 'all'
|
|
37
|
+
Requires-Dist: discord-py>=2.0; extra == 'all'
|
|
36
38
|
Requires-Dist: duckduckgo-search>=6.0; extra == 'all'
|
|
37
39
|
Requires-Dist: erniebot>=0.5; extra == 'all'
|
|
38
40
|
Requires-Dist: faiss-cpu>=1.7; extra == 'all'
|
|
39
41
|
Requires-Dist: fastapi>=0.110; extra == 'all'
|
|
42
|
+
Requires-Dist: google-api-python-client>=2.0; extra == 'all'
|
|
43
|
+
Requires-Dist: google-auth>=2.0; extra == 'all'
|
|
40
44
|
Requires-Dist: google-cloud-aiplatform>=1.38; extra == 'all'
|
|
41
45
|
Requires-Dist: google-generativeai>=0.7; extra == 'all'
|
|
42
46
|
Requires-Dist: google-search-results>=2.4; extra == 'all'
|
|
43
47
|
Requires-Dist: groq>=0.9; extra == 'all'
|
|
44
48
|
Requires-Dist: httpx>=0.27; extra == 'all'
|
|
45
49
|
Requires-Dist: huggingface-hub>=0.20; extra == 'all'
|
|
50
|
+
Requires-Dist: lancedb>=0.5; extra == 'all'
|
|
46
51
|
Requires-Dist: llama-cpp-python>=0.2; extra == 'all'
|
|
47
52
|
Requires-Dist: lxml>=5.0; extra == 'all'
|
|
48
53
|
Requires-Dist: mcp>=1.0; extra == 'all'
|
|
49
54
|
Requires-Dist: mistralai>=1.0; extra == 'all'
|
|
50
55
|
Requires-Dist: ollama>=0.2; extra == 'all'
|
|
51
56
|
Requires-Dist: openai>=1.0; extra == 'all'
|
|
57
|
+
Requires-Dist: pgvector>=0.2; extra == 'all'
|
|
52
58
|
Requires-Dist: pinecone>=3.0; extra == 'all'
|
|
53
59
|
Requires-Dist: psycopg[binary]>=3.1; extra == 'all'
|
|
60
|
+
Requires-Dist: pymilvus>=2.4; extra == 'all'
|
|
54
61
|
Requires-Dist: pypdf>=4.0; extra == 'all'
|
|
55
62
|
Requires-Dist: pyyaml>=6.0; extra == 'all'
|
|
56
63
|
Requires-Dist: qdrant-client>=1.9; extra == 'all'
|
|
64
|
+
Requires-Dist: ragatouille; extra == 'all'
|
|
57
65
|
Requires-Dist: redis>=5.0; extra == 'all'
|
|
58
66
|
Requires-Dist: sentence-transformers>=2.7; extra == 'all'
|
|
59
67
|
Requires-Dist: tavily-python>=0.3; extra == 'all'
|
|
60
68
|
Requires-Dist: uvicorn[standard]>=0.29; extra == 'all'
|
|
69
|
+
Requires-Dist: weaviate-client>=4.0; extra == 'all'
|
|
70
|
+
Requires-Dist: wikipedia-api>=0.6; extra == 'all'
|
|
61
71
|
Requires-Dist: wolframalpha>=5.0; extra == 'all'
|
|
62
72
|
Requires-Dist: youtube-search-python>=1.6; extra == 'all'
|
|
63
73
|
Provides-Extra: anthropic
|
|
64
74
|
Requires-Dist: anthropic>=0.25; extra == 'anthropic'
|
|
75
|
+
Provides-Extra: arxiv
|
|
76
|
+
Requires-Dist: arxiv>=2.0; extra == 'arxiv'
|
|
65
77
|
Provides-Extra: audio
|
|
66
78
|
Requires-Dist: openai>=1.0; extra == 'audio'
|
|
67
79
|
Provides-Extra: aws-lambda
|
|
@@ -74,6 +86,10 @@ Provides-Extra: cloudflare
|
|
|
74
86
|
Requires-Dist: httpx>=0.27; extra == 'cloudflare'
|
|
75
87
|
Provides-Extra: cohere
|
|
76
88
|
Requires-Dist: cohere>=5.0; extra == 'cohere'
|
|
89
|
+
Provides-Extra: colbert
|
|
90
|
+
Requires-Dist: ragatouille; extra == 'colbert'
|
|
91
|
+
Provides-Extra: discord
|
|
92
|
+
Requires-Dist: discord-py>=2.0; extra == 'discord'
|
|
77
93
|
Provides-Extra: docx
|
|
78
94
|
Requires-Dist: python-docx>=1.0; extra == 'docx'
|
|
79
95
|
Provides-Extra: dynamodb
|
|
@@ -86,6 +102,9 @@ Provides-Extra: faiss
|
|
|
86
102
|
Requires-Dist: faiss-cpu>=1.7; extra == 'faiss'
|
|
87
103
|
Provides-Extra: gcal-tool
|
|
88
104
|
Requires-Dist: google-api-python-client>=2.0; extra == 'gcal-tool'
|
|
105
|
+
Provides-Extra: gdrive
|
|
106
|
+
Requires-Dist: google-api-python-client>=2.0; extra == 'gdrive'
|
|
107
|
+
Requires-Dist: google-auth>=2.0; extra == 'gdrive'
|
|
89
108
|
Provides-Extra: gemini
|
|
90
109
|
Requires-Dist: google-generativeai>=0.7; extra == 'gemini'
|
|
91
110
|
Provides-Extra: google-search
|
|
@@ -99,22 +118,31 @@ Provides-Extra: http
|
|
|
99
118
|
Requires-Dist: aiohttp>=3.9; extra == 'http'
|
|
100
119
|
Provides-Extra: huggingface
|
|
101
120
|
Requires-Dist: huggingface-hub>=0.20; extra == 'huggingface'
|
|
121
|
+
Provides-Extra: lancedb
|
|
122
|
+
Requires-Dist: lancedb>=0.5; extra == 'lancedb'
|
|
102
123
|
Provides-Extra: llamacpp
|
|
103
124
|
Requires-Dist: llama-cpp-python>=0.2; extra == 'llamacpp'
|
|
104
125
|
Provides-Extra: mcp
|
|
105
126
|
Requires-Dist: mcp>=1.0; extra == 'mcp'
|
|
106
127
|
Provides-Extra: memcached
|
|
107
128
|
Requires-Dist: aiomcache>=0.8; extra == 'memcached'
|
|
129
|
+
Provides-Extra: milvus
|
|
130
|
+
Requires-Dist: pymilvus>=2.4; extra == 'milvus'
|
|
108
131
|
Provides-Extra: minimax
|
|
109
132
|
Requires-Dist: httpx>=0.27; extra == 'minimax'
|
|
110
133
|
Provides-Extra: mistral
|
|
111
134
|
Requires-Dist: mistralai>=1.0; extra == 'mistral'
|
|
135
|
+
Provides-Extra: notion
|
|
136
|
+
Requires-Dist: httpx>=0.27; extra == 'notion'
|
|
112
137
|
Provides-Extra: ollama
|
|
113
138
|
Requires-Dist: ollama>=0.2; extra == 'ollama'
|
|
114
139
|
Provides-Extra: openai
|
|
115
140
|
Requires-Dist: openai>=1.0; extra == 'openai'
|
|
116
141
|
Provides-Extra: pdf
|
|
117
142
|
Requires-Dist: pypdf>=4.0; extra == 'pdf'
|
|
143
|
+
Provides-Extra: pgvector
|
|
144
|
+
Requires-Dist: pgvector>=0.2; extra == 'pgvector'
|
|
145
|
+
Requires-Dist: psycopg[binary]>=3.1; extra == 'pgvector'
|
|
118
146
|
Provides-Extra: pinecone
|
|
119
147
|
Requires-Dist: pinecone>=3.0; extra == 'pinecone'
|
|
120
148
|
Provides-Extra: postgres
|
|
@@ -132,15 +160,21 @@ Requires-Dist: sentence-transformers>=2.7; extra == 'semantic'
|
|
|
132
160
|
Provides-Extra: serve
|
|
133
161
|
Requires-Dist: fastapi>=0.110; extra == 'serve'
|
|
134
162
|
Requires-Dist: uvicorn[standard]>=0.29; extra == 'serve'
|
|
163
|
+
Provides-Extra: slack
|
|
164
|
+
Requires-Dist: slack-sdk>=3.0; extra == 'slack'
|
|
135
165
|
Provides-Extra: tavily
|
|
136
166
|
Requires-Dist: tavily-python>=0.3; extra == 'tavily'
|
|
137
167
|
Provides-Extra: vertex
|
|
138
168
|
Requires-Dist: google-cloud-aiplatform>=1.38; extra == 'vertex'
|
|
139
169
|
Provides-Extra: video
|
|
140
170
|
Requires-Dist: openai>=1.0; extra == 'video'
|
|
171
|
+
Provides-Extra: weaviate
|
|
172
|
+
Requires-Dist: weaviate-client>=4.0; extra == 'weaviate'
|
|
141
173
|
Provides-Extra: web
|
|
142
174
|
Requires-Dist: beautifulsoup4>=4.12; extra == 'web'
|
|
143
175
|
Requires-Dist: httpx>=0.27; extra == 'web'
|
|
176
|
+
Provides-Extra: wikipedia
|
|
177
|
+
Requires-Dist: wikipedia-api>=0.6; extra == 'wikipedia'
|
|
144
178
|
Provides-Extra: wolfram
|
|
145
179
|
Requires-Dist: wolframalpha>=5.0; extra == 'wolfram'
|
|
146
180
|
Provides-Extra: yaml
|
|
@@ -155,12 +189,13 @@ Description-Content-Type: text/markdown
|
|
|
155
189
|
|
|
156
190
|
<div align="center">
|
|
157
191
|
|
|
158
|
-
[](https://pypi.org/project/synapsekit/)
|
|
193
|
+
[](https://www.python.org/)
|
|
160
194
|
[](LICENSE)
|
|
161
|
-
[]()
|
|
196
|
+
[](https://pypistats.org/packages/synapsekit)
|
|
197
|
+
[](https://pepy.tech/projects/synapsekit)
|
|
198
|
+
[](https://synapsekit.github.io/synapsekit-docs/)
|
|
164
199
|
|
|
165
200
|
**[Documentation](https://synapsekit.github.io/synapsekit-docs/) · [Quickstart](https://synapsekit.github.io/synapsekit-docs/docs/getting-started/quickstart) · [API Reference](https://synapsekit.github.io/synapsekit-docs/docs/api/llm) · [Changelog](CHANGELOG.md) · [Report a Bug](https://github.com/SynapseKit/SynapseKit/issues/new?template=bug_report.yml)**
|
|
166
201
|
|
|
@@ -192,7 +227,7 @@ Token-level streaming is the default,<br/>not an afterthought.<br/>Works across
|
|
|
192
227
|
<tr>
|
|
193
228
|
<td align="center" width="33%">
|
|
194
229
|
<h3>🔌 One interface</h3>
|
|
195
|
-
|
|
230
|
+
27 LLM providers and 9 vector stores<br/>behind the same API.<br/>Swap without rewriting.
|
|
196
231
|
</td>
|
|
197
232
|
<td align="center" width="33%">
|
|
198
233
|
<h3>🧩 Composable</h3>
|
|
@@ -235,7 +270,7 @@ Retrieval-augmented generation with streaming, BM25 reranking, conversation memo
|
|
|
235
270
|
<td width="50%">
|
|
236
271
|
|
|
237
272
|
**🤖 Agents**<br/>
|
|
238
|
-
ReAct loop (any LLM) and native function calling (OpenAI / Anthropic / Gemini / Mistral).
|
|
273
|
+
ReAct loop (any LLM) and native function calling (OpenAI / Anthropic / Gemini / Mistral). 42 built-in tools including calculator, Python REPL, web search, SQL, HTTP, shell, arxiv, pubmed, wolfram, wikipedia, and more. Fully extensible.
|
|
239
274
|
|
|
240
275
|
</td>
|
|
241
276
|
</tr>
|
|
@@ -249,7 +284,7 @@ DAG-based async pipelines. Nodes run in waves — parallel nodes execute concurr
|
|
|
249
284
|
<td width="50%">
|
|
250
285
|
|
|
251
286
|
**🧠 LLM Providers**<br/>
|
|
252
|
-
OpenAI, Anthropic, Ollama, Gemini, Cohere, Mistral, Bedrock, Azure OpenAI, Groq, DeepSeek, OpenRouter, Together, Fireworks, Cerebras, Cloudflare, Moonshot, Perplexity, Vertex AI, Zhipu — all behind one interface. Auto-detected from the model name. Swap without rewriting.
|
|
287
|
+
OpenAI, Anthropic, Ollama, Gemini, Cohere, Mistral, Bedrock, Azure OpenAI, Groq, DeepSeek, OpenRouter, Together, Fireworks, Cerebras, Cloudflare, Moonshot, Perplexity, Vertex AI, Zhipu, AI21 Labs, Databricks, Baidu ERNIE, llama.cpp, Minimax, Aleph Alpha, Hugging Face, SambaNova — all behind one interface. Auto-detected from the model name. Swap without rewriting.
|
|
253
288
|
|
|
254
289
|
</td>
|
|
255
290
|
</tr>
|
|
@@ -309,7 +344,7 @@ Everything you need to get started and go deep is in the docs.
|
|
|
309
344
|
| 🗂 [RAG](https://synapsekit.github.io/synapsekit-docs/docs/rag/pipeline) | Pipelines, loaders, retrieval, vector stores |
|
|
310
345
|
| 🤖 [Agents](https://synapsekit.github.io/synapsekit-docs/docs/agents/overview) | ReAct, function calling, tools, executor |
|
|
311
346
|
| 🔀 [Graph Workflows](https://synapsekit.github.io/synapsekit-docs/docs/graph/overview) | DAG pipelines, conditional routing, parallel execution |
|
|
312
|
-
| 🧠 [LLM Providers](https://synapsekit.github.io/synapsekit-docs/docs/llms/overview) | All
|
|
347
|
+
| 🧠 [LLM Providers](https://synapsekit.github.io/synapsekit-docs/docs/llms/overview) | All 27 providers with examples |
|
|
313
348
|
| 📖 [API Reference](https://synapsekit.github.io/synapsekit-docs/docs/api/llm) | Full class and method reference |
|
|
314
349
|
|
|
315
350
|
---
|
|
@@ -336,6 +371,8 @@ Read [CONTRIBUTING.md](CONTRIBUTING.md) to get started. Look for issues tagged [
|
|
|
336
371
|
## Community
|
|
337
372
|
|
|
338
373
|
- 💬 [Discussions](https://github.com/SynapseKit/SynapseKit/discussions) — ask questions, share ideas
|
|
374
|
+
- 🧭 [Discord roles draft](DISCORD_ROLES.md) — proposed roles and permissions for issue #389
|
|
375
|
+
- 🧭 [Discord release webhook draft](DISCORD_RELEASE_WEBHOOKS.md) — automate release announcements for issue #390
|
|
339
376
|
- 🐛 [Bug reports](https://github.com/SynapseKit/SynapseKit/issues/new?template=bug_report.yml)
|
|
340
377
|
- 💡 [Feature requests](https://github.com/SynapseKit/SynapseKit/issues/new?template=feature_request.yml)
|
|
341
378
|
- 🔒 [Security policy](SECURITY.md)
|