{"id":15137817,"url":"https://github.com/scale3-labs/langtrace","last_synced_at":"2025-05-15T01:05:34.903Z","repository":{"id":231398980,"uuid":"779843396","full_name":"Scale3-Labs/langtrace","owner":"Scale3-Labs","description":"Langtrace 🔍 is an open-source,  Open Telemetry based end-to-end observability tool for LLM applications, providing real-time tracing, evaluations and metrics for popular LLMs, LLM frameworks, vectorDBs and more.. Integrate using Typescript, Python. 🚀💻📊","archived":false,"fork":false,"pushed_at":"2025-05-04T16:45:22.000Z","size":3866,"stargazers_count":915,"open_issues_count":3,"forks_count":90,"subscribers_count":13,"default_branch":"main","last_synced_at":"2025-05-04T17:37:16.017Z","etag":null,"topics":["ai","datasets","evaluations","gpt","langchain","llm","llm-framework","llmops","observability","open-source","open-telemetry","openai","prompt-engineering","tracing"],"latest_commit_sha":null,"homepage":"https://langtrace.ai","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Scale3-Labs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"contributing.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-03-30T23:49:41.000Z","updated_at":"2025-05-04T16:45:26.000Z","dependencies_parsed_at":"2024-05-06T05:25:00.168Z","dependency_job_id":"903d96df-ee41-442a-8a51-5ab1e3918ee9","html_url":"https://github.com/Scale3-Labs/langtrace","commit_stats":{"total_commits":332,"total_committers":16,"mean_commits":20.75,"dds":0.5180722891566265,"last_synced_commit":"227af2f9c962c05b4500eed78486dcc910caf74d"},"previous_names":["scale3-labs/langtrace"],"tags_count":90,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Scale3-Labs%2Flangtrace","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Scale3-Labs%2Flangtrace/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Scale3-Labs%2Flangtrace/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Scale3-Labs%2Flangtrace/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Scale3-Labs","download_url":"https://codeload.github.com/Scale3-Labs/langtrace/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254254039,"owners_count":22039792,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","datasets","evaluations","gpt","langchain","llm","llm-framework","llmops","observability","open-source","open-telemetry","openai","prompt-engineering","tracing"],"created_at":"2024-09-26T07:02:14.995Z","updated_at":"2025-05-15T01:05:34.896Z","avatar_url":"https://github.com/Scale3-Labs.png","language":"TypeScript","funding_links":[],"categories":["Prompts"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003e\n    \u003cimg src=\"https://github.com/Scale3-Labs/langtrace/assets/105607645/6825158c-39bb-4270-b1f9-446c36c066ee\" alt=\"Langtrace\" width=\"400\"/\u003e\n    \u003cbr/\u003e\n    \u003ca href=\"https://www.langtrace.ai\"\u003eLangtrace\u003c/a\u003e\n  \u003c/h1\u003e\n  \u003ch3\u003eOpen Source Observability for LLM Applications\u003c/h3\u003e\n\n  [![License](https://img.shields.io/badge/License-AGPL--3.0-blue?style=flat-square)](LICENSE)\n  [![Development Status](https://img.shields.io/badge/Status-Active-success?style=flat-square)](https://github.com/Scale3-Labs/langtrace)\n  [![Pull Requests](https://img.shields.io/github/issues-pr/Scale3-Labs/langtrace?style=flat-square)](https://github.com/Scale3-Labs/langtrace/pulls)\n  [![NPM SDK](https://img.shields.io/npm/v/%40langtrase%2Ftypescript-sdk?style=flat-square\u0026logo=npm\u0026label=typescript-sdk\u0026color=green)](https://github.com/Scale3-Labs/langtrace-typescript-sdk)\n  [![NPM Downloads](https://img.shields.io/npm/dm/%40langtrase%2Ftypescript-sdk?style=flat-square\u0026logo=npm)](https://www.npmjs.com/package/@langtrase/typescript-sdk)\n  [![PyPI SDK](https://img.shields.io/pypi/v/langtrace-python-sdk?style=flat-square\u0026logo=python\u0026label=python-sdk\u0026color=green)](https://github.com/Scale3-Labs/langtrace-python-sdk)\n  [![PyPI Downloads](https://static.pepy.tech/badge/langtrace-python-sdk/month)](https://pepy.tech/project/langtrace-python-sdk)\n  [![Total PyPI Downloads](https://static.pepy.tech/badge/langtrace-python-sdk)](https://static.pepy.tech/badge/langtrace-python-sdk)\n  [![Deploy](https://railway.app/button.svg)](https://railway.app/template/8dNq1c?referralCode=MA2S9H)\n\u003c/div\u003e\n\n---\n\n## 📚 Table of Contents\n- [✨ Features](#-features)\n- [🚀 Quick Start](#-quick-start)\n- [🔗 Integrations](#-supported-integrations)\n- [🌐 Getting Started](#-getting-started)\n- [🏠 Self Hosting](#-langtrace-self-hosted)\n- [📐 Architecture](#-langtrace-system-architecture)\n- [🤝 Contributing](#-contributions)\n- [🔒 Security](#-security)\n- [❓ FAQ](#-frequently-asked-questions)\n- [👥 Contributors](#-contributors)\n- [📜 License](#-license)\n\nLangtrace is an open source observability software which lets you capture, debug and analyze traces and metrics from all your applications that leverages LLM APIs, Vector Databases and LLM based Frameworks.\n\n![image](/public/langtrace-tracing-ss.png)\n\n## ✨ Features\n\n- 📊 **Open Telemetry Support**: Built on OTEL standards for comprehensive tracing\n- 🔄 **Real-time Monitoring**: Track LLM API calls, vector operations, and framework usage\n- 🎯 **Performance Insights**: Analyze latency, costs, and usage patterns\n- 🔍 **Debug Tools**: Trace and debug your LLM application workflows\n- 📈 **Analytics**: Get detailed metrics and visualizations\n- 🏠 **Self-hosting Option**: Deploy on your own infrastructure\n\n## 🚀 Quick Start\n\n```bash\n# For TypeScript/JavaScript\nnpm i @langtrase/typescript-sdk\n\n# For Python\npip install langtrace-python-sdk\n```\n\nInitialize in your code:\n```typescript\n// TypeScript\nimport * as Langtrace from '@langtrase/typescript-sdk'\nLangtrace.init({ api_key: '\u003cyour_api_key\u003e' }) // Get your API key at langtrace.ai\n```\n```python\n# Python\nfrom langtrace_python_sdk import langtrace\nlangtrace.init(api_key='\u003cyour_api_key\u003e') # Get your API key at langtrace.ai\n```\n\nFor detailed setup instructions, see [Getting Started](#-getting-started).\n\n## 📊 Open Telemetry Support\n\nThe traces generated by Langtrace adhere to [Open Telemetry Standards(OTEL)](https://opentelemetry.io/docs/concepts/signals/traces/). We are developing [semantic conventions](https://opentelemetry.io/docs/concepts/semantic-conventions/) for the traces generated by this project. You can checkout the current definitions in [this repository](https://github.com/Scale3-Labs/langtrace-trace-attributes/tree/main/schemas). Note: This is an ongoing development and we encourage you to get involved and welcome your feedback.\n\n---\n\n## 📦 SDK Repositories\n\n- [Langtrace Typescript SDK](https://github.com/Scale3-Labs/langtrace-typescript-sdk)\n- [Langtrace Python SDK](https://github.com/Scale3-Labs/langtrace-python-sdk)\n- [Semantic Span Attributes](https://github.com/Scale3-Labs/langtrace-trace-attributes)\n\n---\n\n## 🚀 Getting Started\n\n### Langtrace Cloud ☁️\n\nTo use the managed SaaS version of Langtrace, follow the steps below:\n\n1. Sign up by going to [this link](https://langtrace.ai).\n2. Create a new Project after signing up. Projects are containers for storing traces and metrics generated by your application. If you have only one application, creating 1 project will do.\n3. Generate an API key by going inside the project.\n4. In your application, install the Langtrace SDK and initialize it with the API key you generated in the step 3.\n5. The code for installing and setting up the SDK is shown below:\n\n###  If your application is built using typescript/javascript\n\n```typescript\nnpm i @langtrase/typescript-sdk\n```\n\n```typescript\nimport * as Langtrace from '@langtrase/typescript-sdk' // Must precede any llm module imports\nLangtrace.init({ api_key: \u003cyour_api_key\u003e })\n```\n\nOR\n\n```typescript\nimport * as Langtrace from \"@langtrase/typescript-sdk\"; // Must precede any llm module imports\nLangTrace.init(); // LANGTRACE_API_KEY as an ENVIRONMENT variable\n```\n\n### If your application is built using python\n\n```python\npip install langtrace-python-sdk\n```\n\n```python\nfrom langtrace_python_sdk import langtrace\nlangtrace.init(api_key=\u003cyour_api_key\u003e)\n```\n\nOR\n\n```python\nfrom langtrace_python_sdk import langtrace\nlangtrace.init() # LANGTRACE_API_KEY as an ENVIRONMENT variable\n```\n\n### 🏠 Langtrace self hosted\n\nTo run the Langtrace locally, you have to run three services:\n\n- Next.js app\n- Postgres database\n- Clickhouse database\n\n\u003e [!IMPORTANT]\n\u003e Checkout our [documentation](https://docs.langtrace.ai/hosting/overview) for various deployment options and configurations.\n\nRequirements:\n\n- Docker\n- Docker Compose\n\n#### The .env file\n\nFeel free to modify the `.env` file to suit your needs.\n\n#### Starting the servers\n\n```bash\ndocker compose up\n```\n\nThe application will be available at `http://localhost:3000`.\n\n#### Take down the setup\n\nTo delete containers and volumes\n\n```bash\ndocker compose down -v\n```\n\n`-v` flag is used to delete volumes\n\n## Telemetry\n\nLangtrace does NOT collect any Telemetry if you are self hosting the OSS client. None of your data leaves your servers.\n\n---\n\n## 🔗 Supported Integrations\n\nLangtrace automatically captures traces from the following vendors and frameworks:\n\n### LLM Providers\n| Provider | TypeScript SDK | Python SDK |\n|----------|:-------------:|:----------:|\n| OpenAI | ✅ | ✅ |\n| Anthropic | ✅ | ✅ |\n| Azure OpenAI | ✅ | ✅ |\n| Cohere | ✅ | ✅ |\n| DeepSeek | ✅ | ✅ |\n| xAI | ✅ | ✅ |\n| Groq | ✅ | ✅ |\n| Perplexity | ✅ | ✅ |\n| Gemini | ✅ | ✅ |\n| AWS Bedrock | ✅ | ✅ |\n| Mistral | ❌ | ✅ |\n\n### LLM Frameworks\n| Framework | TypeScript SDK | Python SDK |\n|-----------|:-------------:|:----------:|\n| Langchain | ❌ | ✅ |\n| LlamaIndex | ✅ | ✅ |\n| Langgraph | ❌ | ✅ |\n| LiteLLM | ❌ | ✅ |\n| DSPy | ❌ | ✅ |\n| CrewAI | ❌ | ✅ |\n| Ollama | ❌ | ✅ |\n| VertexAI | ✅ | ✅ |\n| Vercel AI | ✅ | ❌ |\n| GuardrailsAI | ❌ | ✅ |\n| Arch | ❌ | ✅ |\n| Graphlit | ❌ | ✅ |\n| Agno | ❌ | ✅ |\n| Phidata | ❌ | ✅ |\n| Cleanlab | ❌ | ✅ |\n\n### Vector Databases\n| Database | TypeScript SDK | Python SDK |\n|----------|:-------------:|:----------:|\n| Pinecone | ✅ | ✅ |\n| ChromaDB | ✅ | ✅ |\n| QDrant | ✅ | ✅ |\n| Weaviate | ✅ | ✅ |\n| PGVector | ✅ | ✅ (SQLAlchemy) |\n| MongoDB | ❌ | ✅ |\n| Milvus | ❌ | ✅ |\n\n---\n\n## 📐 Langtrace System Architecture\n\n![image](https://github.com/Scale3-Labs/langtrace/assets/105607645/eae180dd-ebf7-4792-b076-23f75d3734a8)\n\n---\n\n## 💡 Feature Requests and Issues\n\n- To request for features, head over [here to start a discussion](https://github.com/Scale3-Labs/langtrace/discussions/categories/feature-requests).\n- To raise an issue, head over [here and create an issue](https://github.com/Scale3-Labs/langtrace/issues).\n\n---\n\n## 🤝 Contributions\n\nWe welcome contributions to this project. To get started, fork this repository and start developing. To get involved, join our Slack workspace.\n\n---\n\n## 🌟 Langtrace Star History\n\n## [![Langtrace Star History Chart](https://api.star-history.com/svg?repos=Scale3-Labs/langtrace\u0026type=Timeline)](https://star-history.com/#Scale3-Labs/langtrace\u0026Timeline)\n\n---\n\n## 🔒Security\n\nTo report security vulnerabilities, email us at \u003csecurity@scale3labs.com\u003e. You can read more on security [here](https://github.com/Scale3-Labs/langtrace/blob/development/SECURITY.md).\n\n---\n\n## 📜 License\n\n- Langtrace application(this repository) is [licensed](https://github.com/Scale3-Labs/langtrace/blob/development/LICENSE) under the AGPL 3.0 License. You can read about this license [here](https://www.gnu.org/licenses/agpl-3.0.en.html).\n- Langtrace SDKs are licensed under the Apache 2.0 License. You can read about this license [here](https://www.apache.org/licenses/LICENSE-2.0).\n\n## 👥 Contributors\n\n\u003cdiv align=\"center\"\u003e\n  \u003ctable\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/karthikscale3\"\u003e\u003cimg src=\"https://github.com/karthikscale3.png\" width=\"100px;\" alt=\"karthikscale3\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ekarthikscale3\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/dylanzuber-scale3\"\u003e\u003cimg src=\"https://github.com/dylanzuber-scale3.png\" width=\"100px;\" alt=\"dylanzuber-scale3\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003edylanzuber-scale3\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/darshit-s3\"\u003e\u003cimg src=\"https://github.com/darshit-s3.png\" width=\"100px;\" alt=\"darshit-s3\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003edarshit-s3\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/rohit-kadhe\"\u003e\u003cimg src=\"https://github.com/rohit-kadhe.png\" width=\"100px;\" alt=\"rohit-kadhe\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003erohit-kadhe\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/yemiadej\"\u003e\u003cimg src=\"https://github.com/yemiadej.png\" width=\"100px;\" alt=\"yemiadej\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eyemiadej\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/alizenhom\"\u003e\u003cimg src=\"https://github.com/alizenhom.png\" width=\"100px;\" alt=\"alizenhom\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ealizenhom\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/obinnascale3\"\u003e\u003cimg src=\"https://github.com/obinnascale3.png\" width=\"100px;\" alt=\"obinnascale3\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eobinnascale3\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/Cruppelt\"\u003e\u003cimg src=\"https://github.com/Cruppelt.png\" width=\"100px;\" alt=\"Cruppelt\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eCruppelt\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/Dnaynu\"\u003e\u003cimg src=\"https://github.com/Dnaynu.png\" width=\"100px;\" alt=\"Dnaynu\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDnaynu\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/jatin9823\"\u003e\u003cimg src=\"https://github.com/jatin9823.png\" width=\"100px;\" alt=\"jatin9823\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ejatin9823\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/MayuriS24\"\u003e\u003cimg src=\"https://github.com/MayuriS24.png\" width=\"100px;\" alt=\"MayuriS24\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMayuriS24\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/NishantRana07\"\u003e\u003cimg src=\"https://github.com/NishantRana07.png\" width=\"100px;\" alt=\"NishantRana07\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eNishantRana07\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/obinnaokafor\"\u003e\u003cimg src=\"https://github.com/obinnaokafor.png\" width=\"100px;\" alt=\"obinnaokafor\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eobinnaokafor\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/heysagnik\"\u003e\u003cimg src=\"https://github.com/heysagnik.png\" width=\"100px;\" alt=\"heysagnik\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eheysagnik\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/dabiras3\"\u003e\u003cimg src=\"https://github.com/dabiras3.png\" width=\"100px;\" alt=\"dabiras3\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003edabiras3\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/table\u003e\n\u003c/div\u003e\n\n---\n\n## ❓Frequently Asked Questions\n\n**1. Can I self host and run Langtrace in my own cloud?**\nYes, you can absolutely do that. Follow the self hosting setup instructions in our [documentation](https://docs.langtrace.ai/hosting/overview).\n\n**2. What is the pricing for Langtrace cloud?**\nCurrently, we are not charging anything for Langtrace cloud and we are primarily looking for feedback so we can continue to improve the project. We will inform our users when we decide to monetize it.\n\n**3. What is the tech stack of Langtrace?**\nLangtrace uses NextJS for the frontend and APIs. It uses PostgresDB as a metadata store and Clickhouse DB for storing spans, metrics, logs and traces.\n\n**4. Can I contribute to this project?**\nAbsolutely! We love developers and welcome contributions. Get involved early by joining our [Discord Community](https://discord.langtrace.ai/).\n\n**5. What skillset is required to contribute to this project?**\nProgramming Languages: Typescript and Python.\nFramework knowledge: NextJS.\nDatabase: Postgres and Prisma ORM.\nNice to haves: Opentelemetry instrumentation framework, experience with distributed tracing.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscale3-labs%2Flangtrace","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscale3-labs%2Flangtrace","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscale3-labs%2Flangtrace/lists"}