skills/cocoindex/references/setup_project.md
Setting up CocoIndex projects for different use cases.
cocoindex init my-project
cd my-project
This creates: main.py, pyproject.toml, .env, README.md.
pip install -e .
[project]
dependencies = [
"cocoindex>=1.0.0",
"sentence-transformers",
"asyncpg",
]
[project]
dependencies = [
"cocoindex>=1.0.0",
"asyncpg",
]
[project]
dependencies = [
"cocoindex>=1.0.0",
"sqlite-vec",
]
[project]
dependencies = [
"cocoindex>=1.0.0",
"lancedb",
]
[project]
dependencies = [
"cocoindex>=1.0.0",
"qdrant-client",
]
[project]
dependencies = [
"cocoindex>=1.0.0",
"confluent-kafka",
]
[project]
dependencies = [
"cocoindex>=1.0.0",
"litellm",
"instructor",
"pydantic>=2.0",
"asyncpg",
]
.env FileCocoIndex automatically loads .env from the current directory.
# CocoIndex internal database (required)
COCOINDEX_DB=./cocoindex.db
# PostgreSQL (if using)
POSTGRES_URL=postgres://user:pass@localhost/db
# Qdrant (if using)
QDRANT_URL=http://localhost:6333
# API keys (if using LLM extraction)
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
@coco.lifespan
def coco_lifespan(builder: coco.EnvironmentBuilder) -> Iterator[None]:
builder.settings.db_path = pathlib.Path("./custom.db")
yield
pip install -e . # Install dependencies
cocoindex update main.py # Run pipeline
cocoindex update main.py -L # Run in live mode
cocoindex show main.py # Show component paths
cocoindex drop main.py -f # Reset everything
pip install -e .
Verify database is running and .env has correct URLs. See setup_database.md.