Thanks for your interest in improving NL2SQLAgent! 🎉
- Be respectful. Assume good intent.
- No fabrication. Never add fake benchmarks or fictitious case studies.
- Keep API keys out of code. Use
.env, and.envmust stay in.gitignore.
git clone https://github.com/changrichu/NL2SQLAgent.git
cd NL2SQLAgent
python -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env # then fill in your keys
make test- Fork the repo and create a branch:
git checkout -b feat/awesome-thing - Make your changes; add tests when relevant.
- Run
make lintandmake test— both must pass. - Open a PR with a clear description (problem → approach → trade-offs).
- Subclass
BaseConnectorinsrc/askdata/connectors/<name>.py. - Register it in
src/askdata/connectors/__init__.py(CONNECTOR_REGISTRY). - Document the connection params in
config/datasources.yaml. - Add a smoke test under
tests/.
- Add an entry to
LLMClient.PROVIDERSinsrc/askdata/llm_client.py. - Add the corresponding
*_API_KEYfield toconfig.pyand.env.example.
Use GitHub Issues. Please include:
- Repro steps
- Expected vs actual behavior
- Python / OS version
- Relevant logs (redact secrets!)