Skip to content

Dependencies management improvement with Pipenv #416

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

Carbaz
Copy link
Contributor

@Carbaz Carbaz commented May 28, 2025

This PR first fis an issue on the requirements.txt as the Langchain package does not provides the docarray extra anymore.

  • WARNING: langchain 0.3.24 does not provide the extra 'docarray'

It's replaced directly with the docarray library.


Then it adds a new environment and dependencies management, Pipenv.

Pipenv comes like a sort of bundle for Pip and venv with extra control on dependencies version via a lock file.

It may sit between the Anaconda way, which is bulky and requires an extra and the bare Pip + Venv which is more complex and give no control on dependencies versions installed.

So with Pipenv you get on a single command-line command the ability to create an environment, access it and install all required dependencies.

Yes, there are other tools like Poetry, they are powerful but much more than required here and more complex to manage.

Several files has been added:

  • Pipfile: Dependencies definition and Python version to be used on the environment.
    Similar to the Anaconda's environment.yaml
  • Pipfile.lock: Specific versions lock file and its verification hashes.
    This file ensures everyone gets the same versions installed no matter when they download repository avoiding new version of a given library breaks the project.
  • SETUP-Pipenv.md: A documentation on how to install, deploy and use Pipenv.
    It's a generic document as it's usage is the same along different platforms, but may be included on each platform specific doc if preferred
    It also covers a possible issue while installing chromaDB that requires MSVC SDK.
  • fix-win-env-prefix/WindowsPowerShell/Microsoft.PowerShell_profile.ps1: A powershell profile fix to solve a possible issue that prevents the environment name prefix to appear on the terminal.

Carbaz added 8 commits April 29, 2025 18:39
Langchain does not provides anymore the 'docarray' extra, replaced wit the 'docarray' library.

Although not sure if we will use it actually on the projects.
They includes project's `requirements.txt` listed dependencies
and also a few *"development tools"* under the `dev-packages`
section related to code style and testing.
Also updated Pipfile.lock to get dependencies up to date.
@Carbaz Carbaz closed this Jun 23, 2025
@Carbaz Carbaz deleted the feature/dependencies-management-improvement branch June 23, 2025 18:07
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.

1 participant