Files
semantica/docs/docs.json
T
05aec1975d feat: add Amazon Redshift ingestor (#1587)
* feat: add Redshift ingestor

* fix(redshift): resolve 5 code-review issues in RedshiftIngestor

Fix #1 — restore autocommit on caller-owned connections
All four methods (ingest_table, ingest_query, get_table_schema,
list_tables) now capture the connection's prior autocommit value before
enabling it for read-only ingestion and restore it in the finally block
when the connection was already open.  Transient connections are still
closed normally.

Fix #2 — batch fetching: process rows per-batch, not after accumulating
ingest_query's batch path now converts and extends data[] directly
inside the fetch loop so raw tuples from each batch are eligible for
GC before the next fetch.  The documentation is updated to accurately
state that batch_size controls driver round-trip size, not total memory.

Fix #3 — schema env-var now honoured
RedshiftIngestor.__init__ changes schema default from 'public' to None
so the existing os.getenv('REDSHIFT_SCHEMA', 'public') fallback in the
body is reached when no explicit argument is supplied.

Fix #4 — db-redshift included in db-all aggregate
pyproject.toml db-all now references db-redshift alongside the other
database extras.

Fix #5 — duplicate column labels no longer silently drop values
_disambiguate_columns() appends _1, _2, ... suffixes to repeated
cursor labels before dict(zip) so every value is retained.  A new
_make_row_dicts() helper encapsulates the zip+disambiguate pattern
used by both _fetch_all and ingest_query.

Tests: 22 new targeted tests added covering all five fixes.

---------

Co-authored-by: Sameer Kadam <sameerkadam@Mac.lan>
Co-authored-by: Kaif <98801504+KaifAhmad1@users.noreply.github.com>
2026-09-11 18:43:14 +05:30

311 lines
7.9 KiB
JSON

{
"$schema": "https://mintlify.com/docs.json",
"theme": "mint",
"name": "Semantica",
"description": "The Context and Semantic Layer for AI in High-Stakes Domains — Context Graphs · Decision Intelligence · Full Provenance",
"colors": {
"primary": "#10B981",
"light": "#10B981",
"dark": "#10B981"
},
"favicon": "/assets/img/semantica-logo.png",
"logo": {
"light": "/assets/img/semantica-logo.png",
"dark": "/assets/img/semantica-logo.png"
},
"font": {
"headings": {
"family": "Space Grotesk",
"weight": 700
},
"body": {
"family": "Inter",
"weight": 400
}
},
"appearance": {
"default": "dark",
"strict": true
},
"css": "/assets/custom.css",
"background": {
"color": {
"dark": "#080C10",
"light": "#080C10"
}
},
"chat": {
"enabled": true
},
"feedback": {
"thumbsRating": true,
"suggestEdit": true,
"raiseIssue": true
},
"metadata": {
"og:title": "Semantica — Context & Semantic Layer for AI in High-Stakes Domains",
"og:description": "Build explainable, auditable knowledge graphs with full provenance. Open source. MIT licensed.",
"og:image": "/assets/img/semantica-logo.png",
"twitter:card": "summary_large_image",
"twitter:site": "@BuildSemantica"
},
"navigation": {
"tabs": [
{
"tab": "Overview",
"groups": [
{
"group": "Overview",
"pages": [
"index"
]
},
{
"group": "Core Concepts",
"pages": [
"concepts",
"modules",
"choose-your-module",
"glossary"
]
},
{
"group": "Guides",
"pages": [
"architecture",
"learning-more",
"guides/graphrag",
"guides/ingest",
"guides/llm-integrations",
"guides/pipeline",
"guides/multi-agent",
"guides/decision-intelligence",
"guides/context-graphs",
"guides/agent-memory",
"guides/provenance",
"guides/semantic-extraction",
"guides/ontology",
"guides/reasoning",
"guides/export",
"guides/deduplication",
"guides/mcp-server",
"guides/shacl-validation",
"guides/conflict-resolution",
"guides/change-management",
"guides/policy-engine",
"guides/visualization",
"guides/distance-intelligence",
"guides/graph-analytics"
]
},
{
"group": "Integrations",
"pages": [
"integrations/agno",
"integrations/crewai",
"integrations/langchain",
"integrations/docling",
"integrations/snowflake",
"integrations/databricks",
"integrations/salesforce",
"integrations/redshift"
]
},
{
"group": "Graph Stores",
"pages": [
"graph_stores/apache_age"
]
},
{
"group": "Vector Stores",
"pages": [
"vector_stores/pgvector"
]
},
{
"group": "FAQ",
"pages": [
"faq"
]
},
{
"group": "Community",
"pages": [
"community",
"community-projects",
"contributing-guide",
"governance",
"citation",
"project-license"
]
}
]
},
{
"tab": "Quick Start",
"groups": [
{
"group": "Get Started",
"pages": [
"installation",
"getting-started",
"quickstart",
"choose-your-module",
"cli-setup",
"explorer-setup"
]
}
]
},
{
"tab": "Modules",
"groups": [
{
"group": "Context & Intelligence",
"pages": [
"guides/graphrag",
"guides/ingest",
"guides/llm-integrations",
"guides/pipeline",
"guides/multi-agent",
"guides/decision-intelligence",
"guides/context-graphs",
"guides/agent-memory",
"guides/provenance",
"guides/semantic-extraction",
"guides/ontology",
"guides/reasoning",
"guides/export",
"guides/deduplication",
"guides/mcp-server",
"guides/shacl-validation",
"guides/conflict-resolution",
"guides/change-management",
"guides/policy-engine",
"guides/visualization",
"guides/distance-intelligence",
"guides/graph-analytics"
]
}
]
},
{
"tab": "API Reference",
"groups": [
{
"group": "Context & Intelligence",
"pages": [
"reference/context",
"reference/kg",
"reference/temporal",
"reference/distance",
"reference/semantic_extract",
"reference/reasoning",
"reference/ontology"
]
},
{
"group": "Storage",
"pages": [
"reference/vector_store",
"reference/graph_store",
"reference/triplet_store"
]
},
{
"group": "Data Pipeline",
"pages": [
"reference/ingest",
"reference/parse",
"reference/split",
"reference/normalize",
"reference/embeddings",
"reference/pipeline"
]
},
{
"group": "Quality & Provenance",
"pages": [
"reference/deduplication",
"reference/conflicts",
"reference/provenance",
"reference/change_management"
]
},
{
"group": "Output",
"pages": [
"reference/export",
"reference/visualization",
"reference/explorer"
]
},
{
"group": "Utilities",
"pages": [
"reference/llms",
"reference/seed",
"reference/evals",
"reference/utils",
"reference/core",
"reference/mcp_server"
]
}
]
},
{
"tab": "Cookbook",
"groups": [
{
"group": "Cookbook",
"pages": [
"cookbook"
]
}
]
}
]
},
"navbar": {
"links": [
{
"label": "Discord",
"href": "https://discord.gg/sV34vps5hH",
"icon": "discord"
},
{
"label": "GitHub",
"href": "https://github.com/semantica-agi/semantica",
"icon": "github"
},
{
"label": "PyPI",
"href": "https://pypi.org/project/semantica/",
"icon": "python"
},
{
"label": "Follow on X",
"href": "https://x.com/BuildSemantica",
"icon": "x-twitter"
}
],
"primary": {
"type": "button",
"label": "pip install semantica",
"href": "https://pypi.org/project/semantica/"
}
},
"search": {
"prompt": "Search docs...",
"location": "topbar"
},
"footer": {
"socials": {
"github": "https://github.com/semantica-agi/semantica",
"discord": "https://discord.gg/sV34vps5hH",
"x": "https://x.com/BuildSemantica"
}
}
}