mattpocock / mattpocock/evalite
Adapter: Implement Postgres adapter
Open
Nobody has claimed this yet.
enhancement
- Dominant language
- TypeScript
- Stars
- 1.7k
- Forks
- 102
- PR merge metrics
- No merged PRs in 30d
Description
Overview
Create Postgres adapter for production-grade, scalable storage.
Characteristics
- Production-grade relational DB
- Best for large teams, high volume
- Advanced querying, scalability
- Connect to existing Postgres infrastructure
Implementation
- Create
src/adapters/postgres.ts - Implement
EvaliteAdapterinterface using postgres client (e.g.,pgorpostgres) - Create schema migration for tables (runs, evals, results, scores, traces)
- Support connection config (url, pool settings, etc.)
- Export
createPostgresAdapter(opts)helper - Add tests using multi-adapter test suite
- Document usage examples
Configuration
interface PostgresAdapterOpts {
connectionString?: string;
host?: string;
port?: number;
database?: string;
user?: string;
password?: string;
ssl?: boolean;
maxConnections?: number;
}
Related
Part of adapter API refinement (#218)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading adapter API refinement issue #218 and the EvaliteAdapter interface, then inspect the planned entry point at src/adapters/postgres.ts. Implement the connection options, schema migration, factory export, tests using the multi-adapter test suite, and usage documentation; done means all listed Postgres adapter capabilities are covered.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- postgres, typescript
- Domain
- backend, databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100