truera / trulens
Evaluation and Tracking for LLM Experiments and AI Agents
- Stars
- 3,639 stars
- Forks
- 393 forks
- Language
- Python
- License
- MIT
- Created
- Nov 2, 2020
- Last push
- Nov 12, 2026
- Updated
- Nov 13, 2026
Why these Tags: an agent read the README and quoted it
- LLM evaluation from the readme:
Seven purpose-built evaluators for agentic systems — each measuring a distinct aspect of agent behavior:
- LLM observability from the readme:
Latency, inputs, outputs, tokens and cost, recorded per step, so a bad answer has a traceable cause rather than a vibe.
An agent gave these Tags from the fixed Tag list in the AwesomeRepos source code. A code check kept each Tag only when its quote is in the text. A wrong Tag? Report an error with the form at the end of this page.
Admitted to the Repository Index on Nov 10, 2026: 3,633 stars on 2026-11-10.
Star History
189 days recorded, May 8, 2026 – Nov 12, 2026 (UTC). Net change +356 stars.
The star count of each day is the latest count minus the net stars of the later days.
Add this Star History to a README
The images follow the light or dark theme of the page that shows them, and update every hour.
Add ?theme=light or ?theme=dark
to the chart address to keep one theme.
Star History chart
[](https://awesomerepos.com/truera/trulens) Badge
[](https://awesomerepos.com/truera/trulens) Timeline
It gained stars on 153 of the 189 days recorded since May 8, 2026.
Its largest 7 days were May 11, 2026 to May 17, 2026: 26 stars.
In the 30 days to Nov 12, 2026 it got 47 stars, 15% fewer than in the 30 days before.
It had 3,283 stars before May 8, 2026 and has 3,639 stars now: 1,361 fewer than 5,000.
- Created on the Repository Host
- Largest star day recorded: +6 stars
- +6 stars in one day
- Release trulens-2.13.0
- Release trulens-2.13.1
- Release trulens-2.14.0
- +6 stars in one day
- Release trulens-2.15.0
- Release trulens-2.16.0
- Entered the Repository Index: 3,633 stars on 2026-11-10
- Latest push
The timeline comes from the creation date and the releases on the Repository Host, the Admission, the Star History, and the Observations. Star milestones show only when the Star History records the day. The list shows up to 5 stable releases from the latest 10 releases recorded. When none of them is stable, one item counts the pre-releases. On the chart of net stars each day, a solid line marks each recorded release.
Forks and pushes
From 3 Observations, Nov 11, 2026 – Nov 13, 2026. Forks +2. AwesomeRepos saw a new push on 1 of 2 days.
- Nov 12, 2026: no new push
- Nov 13, 2026: new push
A filled day: the last push time changed since the Observation before it.
Health facts
Measured facts in four separate dimensions, each with a date and a source. AwesomeRepos does not add them into one score. AwesomeRepos reads the weekly commits, the changelog, and the community files each week for the 5,000 visible repositories with the most stars and for each rising repository. How AwesomeRepos defines each check
Copies a prompt for a coding agent. It has 1 task for the maintainers of truera/trulens.
Improve the Health Facts of the GitHub repository truera/trulens. AwesomeRepos measures facts about how a repository is maintained, released, secured, and documented. Its page for this repository is https://awesomerepos.com/truera/trulens. A change to the repository can improve each of the item below. Each item gives the measured fact or score, and a task. 1. The newest release tag is a semantic version Fact: The newest release tag is trulens-2.16.0. Rule: The tag of the newest release has the form 1.2.3 or v1.2.3, with an optional pre-release or build part. There is no data when the repository has no release. Task: Make the next release tag a semantic version (1.2.3 or v1.2.3). Do not change or delete a published tag. If a release tool makes the tags, configure it for semantic versions, and write the version scheme in the contributing guide. Rules for this work: - Each file must be true for this project. Do not copy text that does not apply to it. - Do not choose a licence, a contact, or a release version for me. Ask me. - Do not publish a release, change a repository setting, or push to the default branch. Make the changes on a new branch. - Keep each change small, and run the checks of this repository before you finish. - At the end, list each item as DONE, SKIPPED (with the reason), or NEEDS A DECISION (with the question). AwesomeRepos reads these facts again in its next scan. The definitions of the checks: https://awesomerepos.com/health-facts
Maintenance
2 of 4 checks (2 without data)-
Yes: Not archived
GitHub does not mark the repository as archived. Source
-
Yes: A push in the last 90 days
Last push on 2026-11-12, 0 days ago. Source
-
No data: Commits in the last 13 weeks
No data: AwesomeRepos has not read the weekly commits.
-
No data: Commits in 26 or more of the last 52 weeks
No data: AwesomeRepos has not read the weekly commits.
Releases
1 of 3 checks (1 without data)-
Yes: A release in the last 365 days
Newest release trulens-2.16.0 on 2026-10-19, 24 days ago. 10 or more releases in the last 365 days. Source
-
No: The newest release tag is a semantic version
The newest release tag is trulens-2.16.0. Source
-
No data: A changelog file at the root
No data: AwesomeRepos has not scanned this repository.
Security practice
0 of 1 check (1 without data)-
No data: A security policy
No data: AwesomeRepos has not scanned this repository.
AwesomeRepos has not asked OpenSSF Scorecard about this repository.
Community files
1 of 3 checks (2 without data)-
Yes: A licence
GitHub finds the licence MIT. Source
-
No data: A contributing guide
No data: AwesomeRepos has not scanned this repository.
-
No data: A code of conduct
No data: AwesomeRepos has not scanned this repository.
Dependencies in the index
This section shows the packages that connect this repository to other repositories in the index.
The GitHub dependency graph of this repository names 867 direct packages (scanned on Nov 13, 2026). Packages from 140 other repositories in the index are among them.
No scanned repository names a package from this repository.
Uses (in the index) · 140
- react/react 253K
npm: react, react-dom
-
PyPI: transformers
-
PyPI: langchain, langchain-core, langchain-huggingface, langchain-openai and 2 more
- airbnb/javascript 148K
npm: eslint-config-airbnb, eslint-config-airbnb-base
- microsoft/TypeScript 112K
npm: typescript
- pytorch/pytorch 105K
PyPI: torch
- microsoft/playwright 100K
npm: @playwright/test, playwright
- mui/material-ui 99K
npm: @mui/icons-material, @mui/material, @mui/system
-
npm: @storybook/addon-essentials, @storybook/addon-onboarding, @storybook/addon-themes, @storybook/blocks and 6 more
- vitejs/vite 84K
npm: vite
Show all 140
-
PyPI: scikit-learn
- BerriAI/litellm 63K
PyPI: litellm
- crewAIInc/crewAI 61K
PyPI: crewai, crewai-tools
- Textualize/rich 58K
PyPI: rich
- psf/requests 55K
PyPI: requests
-
PyPI: llama-index, llama-index-core, llama-index-legacy
-
npm: prettier
-
npm: @types/react, @types/react-dom
- astral-sh/ruff 51K
PyPI: ruff
-
PyPI: pandas
-
npm: streamlit-component-lib
PyPI: streamlit
- grpc/grpc 45K
PyPI: grpcio
-
PyPI: langgraph
- psf/black 42K
PyPI: black
- evanw/esbuild 40K
npm: @esbuild/aix-ppc64, @esbuild/android-arm, @esbuild/android-arm64, @esbuild/android-x64 and 22 more
- swc-project/swc 34K
npm: @swc/core-darwin-arm64, @swc/core-darwin-x64, @swc/core-linux-arm-gnueabihf, @swc/core-linux-arm64-gnu and 8 more
- numpy/numpy 33K
PyPI: numpy
-
PyPI: openai
- tqdm/tqdm 31K
PyPI: tqdm
-
PyPI: openai-agents
-
PyPI: chromadb
-
PyPI: pydantic, pydantic-core
- eslint/eslint 28K
npm: eslint
-
PyPI: mkdocs-material
-
PyPI: flatbuffers
- rollup/rollup 26K
npm: @rollup/rollup-android-arm-eabi, @rollup/rollup-android-arm64, @rollup/rollup-darwin-arm64, @rollup/rollup-darwin-x64 and 21 more
- Delgan/loguru 24K
PyPI: loguru
-
PyPI: matplotlib
-
PyPI: datasets
- jsdom/jsdom 22K
npm: jsdom
- onnx/onnx 22K
PyPI: onnx
- python/mypy 21K
PyPI: mypy
-
npm: @testing-library/react
- openai/tiktoken 20K
PyPI: tiktoken
- plotly/plotly.py 19K
PyPI: plotly
-
npm: @emotion/react, @emotion/styled
- pallets/click 18K
PyPI: click
-
PyPI: networkx
-
npm: @vitest/browser, @vitest/coverage-v8, vitest
- apache/arrow 17K
PyPI: pyarrow
- ipython/ipython 17K
PyPI: ipython
- aio-libs/aiohttp 17K
PyPI: aiohttp
-
npm: @typescript-eslint/eslint-plugin, @typescript-eslint/parser
- encode/httpx 16K
PyPI: httpx
-
PyPI: unstructured
-
PyPI: pre-commit
- uuidjs/uuid 15K
npm: uuid
- scipy/scipy 15K
PyPI: scipy
- sympy/sympy 15K
PyPI: sympy
- nltk/nltk 15K
PyPI: nltk
-
PyPI: pytest
- spotify/annoy 14K
PyPI: annoy
-
npm: http-server
-
PyPI: instructor
-
npm: @rolldown/binding-android-arm64, @rolldown/binding-darwin-arm64, @rolldown/binding-darwin-x64, @rolldown/binding-freebsd-x64 and 11 more
-
PyPI: pillow
- jupyter/notebook 13K
PyPI: notebook
- pytube/pytube 13K
PyPI: pytube
- Kludex/starlette 13K
PyPI: starlette
-
PyPI: sqlalchemy
-
PyPI: sentencepiece
-
PyPI: uvloop
- lancedb/lancedb 12K
PyPI: lancedb
- giampaolo/psutil 11K
PyPI: psutil
-
PyPI: tokenizers
- Kludex/uvicorn 11K
PyPI: uvicorn
-
PyPI: prompt-toolkit
- vega/altair 11K
PyPI: altair
- pypa/pip 10K
PyPI: pip
- py-pdf/pypdf 10K
PyPI: pypdf
-
PyPI: accelerate
- boto/boto3 9.9K
PyPI: boto3
- lukeed/clsx 9.8K
npm: clsx
-
npm: eslint-plugin-react
-
GitHub Actions: actions/checkout
-
PyPI: python-dotenv
- jd/tenacity 8.8K
PyPI: tenacity
- ijl/orjson 8.3K
PyPI: orjson
- zilliztech/GPTCache 8.2K
PyPI: gptcache
- pyca/cryptography 7.8K
PyPI: cryptography
-
npm: lightningcss-android-arm64, lightningcss-darwin-arm64, lightningcss-darwin-x64, lightningcss-freebsd-x64 and 7 more
-
PyPI: kubernetes
-
PyPI: nemoguardrails
-
PyPI: watchdog
- python-trio/trio 7.4K
PyPI: trio
-
PyPI: marshmallow
- docker/docker-py 7.2K
PyPI: docker
-
PyPI: pdfminer-six
-
PyPI: lark
-
npm: eslint-plugin-import
-
npm: eslint-config-prettier
- mui/mui-x 5.9K
npm: @mui/x-tree-view
- python-attrs/attrs 5.9K
PyPI: attrs
-
PyPI: websockets
- jpadilla/pyjwt 5.7K
PyPI: pyjwt
-
PyPI: google-auth, google-cloud-bigquery, googleapis-common-protos
- python/typeshed 5.2K
PyPI: types-requests
-
PyPI: jsonschema
-
npm: @testing-library/jest-dom
- shapely/shapely 4.5K
PyPI: shapely
- sqlalchemy/alembic 4.5K
PyPI: alembic
- joblib/joblib 4.4K
PyPI: joblib
- urllib3/urllib3 4.1K
PyPI: urllib3
-
PyPI: anthropic
-
PyPI: google-genai
-
PyPI: huggingface-hub
-
PyPI: slack-sdk
- tartley/colorama 3.8K
PyPI: colorama
-
PyPI: websocket-client
-
npm: eslint-plugin-prettier
-
npm: eslint-plugin-jsx-a11y
- eliben/pycparser 3.6K
PyPI: pycparser
-
PyPI: oauthlib
- yaml/pyyaml 3K
PyPI: pyyaml
- tkem/cachetools 2.8K
PyPI: cachetools
- agronholm/anyio 2.6K
PyPI: anyio
-
PyPI: watchfiles
-
PyPI: greenlet
- ekalinin/nodeenv 1.8K
PyPI: nodeenv
-
PyPI: pytest-asyncio
- boto/botocore 1.6K
PyPI: botocore
- django/asgiref 1.6K
PyPI: asgiref
- pyca/bcrypt 1.5K
PyPI: bcrypt
-
PyPI: markdown-it-py
- slackapi/bolt-python 1.3K
PyPI: slack-bolt
-
PyPI: markupsafe
-
PyPI: typing-extensions
- jquast/wcwidth 472
PyPI: wcwidth
- sqlalchemy/mako 463
PyPI: mako
-
PyPI: typing-inspect
Used by (in the index) · 0
None.
Sources: the GitHub dependency graph of each repository, and deps.dev for the source repository of each package (checked on Nov 13, 2026). A dependency graph also names development packages. deps.dev takes most source repositories from package metadata. How the dependency graph is made
Observations
Latest Observation, Nov 13, 2026: 3,639 stars, 393 forks, last push Nov 12, 2026, not archived. One of 3 Observations since Nov 11, 2026.