feat: Add Conda environment configuration for easier development setup #203
+59
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
📝 Description
This PR adds an environment.yml file to the repository to streamline the development setup process.
🚀 Motivation
The project currently depends on several libraries with complex C/C++ extensions, such as faiss-cpu, grpcio, and psycopg. Installing these purely via pip can sometimes lead to build errors depending on the operating system and system-level libraries.
Using Conda provides pre-compiled binaries for these core dependencies, making the setup significantly more stable and faster for contributors.
🛠 Implementation Details
I have created the environment.yml based on the current pyproject.toml with a hybrid approach:
Conda (conda-forge): Used for heavy binary dependencies (e.g., faiss-cpu, numpy, grpcio, psycopg) to ensure stability.
Pip: Used for:
Fast-moving AI SDKs (e.g., xai-sdk, langchain-*, google-genai) to ensure we get the latest versions from PyPI.
Installing the package itself in editable mode (-e .).