The josh/langchain_one_support branch adds support for langchain>=1.0.0, but this creates a dependency conflict:
trulens-apps-langgraphrequireslangchain>=1.0.0trulens-apps-nemodepends onnemoguardrails>=0.9nemoguardrailsrequireslangchain>=0.2.14,<0.4.0(incompatible with 1.x)
DEPRECATED and removed trulens-apps-nemo from langchain 1.x branches. The package has been moved to an optional dependency group that is excluded from the lock file until nemoguardrails adds langchain 1.x support.
- Removed
trulens-apps-nemofrom[tool.poetry.group.apps.dependencies] - Created separate
[tool.poetry.group.nemo]marked asoptional = true - Added deprecation comment
- Updated langchain constraint to match nemoguardrails:
langchain = ">=0.2.14,<0.4.0"
- Updated
env-tests-optionalto use--without nemoflag - Added explanatory comment
- Created deprecation notice explaining the incompatibility
- Documented workarounds for users who need NeMo Guardrails
- Documented the incompatibility and install instructions
For langchain 1.x development (current branch):
# Nemo is automatically excluded (it's in an optional group)
poetry install --with dev --with apps
poetry lock # Now works without conflictsFor nemo development (requires langchain <1.0):
# Switch to a pre-langchain-1.x branch first
git checkout <pre-1.x-branch>
poetry install --with dev --with nemoFor users (when packages are published):
# Default: includes langchain 1.x support, excludes nemo
pip install trulens[langchain,langgraph,llamaindex]
# For nemo (incompatible with langgraph on langchain 1.x):
pip install trulens[langchain,nemo] # Will use langchain<1.0Local Development ✅ Documented
- Developers working on langchain 1.x:
poetry install --without nemo - Developers working on nemo: work on a pre-1.x branch
Monitor nemoguardrails releases: https://pypi.org/project/nemoguardrails/
When they release a version supporting langchain>=1.0.0:
- Update
src/apps/nemo/pyproject.tomllangchain constraint - Move
trulens-apps-nemoback to[tool.poetry.group.apps.dependencies]in rootpyproject.toml - Update
Makefileenv-tests-optionalto include nemo again - Run
poetry lockto regenerate lockfile
Run all tests (excluding nemo):
poetry install --with dev --with apps --without nemo
TEST_OPTIONAL=1 make test-unitVerify OTEL tests with isolation:
poetry install --with dev --with apps --without nemo
TEST_OPTIONAL=1 make test-unit # Uses pytest-xdist for OTEL test isolation