* initial-content * fix-url-errors * update platform build instructions for environment variable setup * code-review * code-review * naming-and-cleanup * fix-broken-link-for-build * typo-and-confirm-windows-path * local-memory-update * memory-introduction * no-deploy * fix-build-error * title-anchors-correctly * more-overview-and-walkthrough * reorder-pages-fix-link * another-link * Apply suggestions from code review Co-authored-by: KimberlyFields <46325568+KimberlyFields@users.noreply.github.com> * page-titles * numbered-list-to-bullets * trailing-spaces --------- Co-authored-by: KimberlyFields <46325568+KimberlyFields@users.noreply.github.com>
2.2 KiB
| title | slug |
|---|---|
| Install custom dependencies | /install-custom-dependencies |
To install custom dependencies in your Langflow environment, add them with your package manager.
Create a virtual environment for local testing
When testing locally, use a virtual environment to isolate your dependencies and prevent conflicts with other Python projects.
For example, if you want to experiment with matplotlib with Langflow:
# Create and activate a virtual environment
uv venv YOUR_LANGFLOW_VENV
source YOUR_LANGFLOW_VENV/bin/activate
# Install langflow and your additional dependency
uv pip install langflow matplotlib
If you're working within a cloned Langflow repository, add dependencies with uv add because there is already a pyproject.toml file for uv to reference.
uv add langflow matplotlib
Add dependencies to the Langflow project
When contributing to Langflow itself, add dependencies to the project's configuration. Langflow uses a workspace with two packages:
- The
mainpackage (root level): For end-user features and main application code - The
basepackage (insrc/backend/base): For core functionality and shared code
Dependencies can be added in different groups:
- Regular dependencies: Core functionality needed to run the package
- Development dependencies: Tools for testing, linting, or debugging are added in the
[dependency-groups.dev]section - Optional dependencies: Features that users can optionally install are added in the
[project.optional-dependencies]
There are three ways to add a package using make commands:
- Add to main package dependencies (for end-user features):
make add main="matplotlib"
- Add to development tools (for testing, linting, debugging):
make add devel="matplotlib"
- Add to base package dependencies (for core functionality):
make add base="matplotlib"
You can also add these dependencies manually to the pyproject.toml file:
[project]
dependencies = [
"matplotlib>=3.8.0"
]
- Or as an optional dependency:
[project.optional-dependencies]
plotting = [
"matplotlib>=3.8.0",
]
The make commands add the dependency with uv add and update the uv.lock file in the appropriate location.