Skip to content

Conversation

@BaoZhuhan
Copy link

📝 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 .).

Copilot AI review requested due to automatic review settings December 3, 2025 12:13
Copilot finished reviewing on behalf of BaoZhuhan December 3, 2025 12:15
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces a Conda environment configuration file to simplify the development setup process by providing pre-compiled binaries for complex dependencies with C/C++ extensions.

  • Adds environment.yml with a hybrid Conda/pip approach for dependency management
  • Uses Conda for binary dependencies (faiss-cpu, grpcio, psycopg) and pip for fast-moving AI SDKs
  • Updates README to recommend using Conda/Mamba for development setup

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
environment.yml New Conda environment configuration specifying Python 3.10, binary dependencies via conda-forge, and AI SDKs via pip
README.md Updated contributing section to recommend Conda/Mamba for development environment setup

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@devwdave
Copy link
Collaborator

devwdave commented Dec 4, 2025

@BaoZhuhan

Thanks for this contribution. Conda is a powerful tool and we are evaluating this PR internally. I am curious, did you have issues getting setup with uv?

@Boburmirzo
Copy link
Contributor

BaoZhuhan

Thanks so much for the contribution! 🙌

This is definitely a nice-to-have improvement and we appreciate the effort you put into making the development setup smoother.

However, as part of our new feature request policy, we need to collect community votes (at least 3 developers raising the same need) before merging changes that affect the project setup or tooling.

To follow the process, we’re moving this into an open issue #212 so others can provide feedback and upvote. Once we gather enough signals, we can revisit and proceed accordingly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants