TokenFlow.Core
0.8.1
dotnet add package TokenFlow.Core --version 0.8.1
NuGet\Install-Package TokenFlow.Core -Version 0.8.1
<PackageReference Include="TokenFlow.Core" Version="0.8.1" />
<PackageVersion Include="TokenFlow.Core" Version="0.8.1" />
<PackageReference Include="TokenFlow.Core" />
paket add TokenFlow.Core --version 0.8.1
#r "nuget: TokenFlow.Core, 0.8.1"
#:package TokenFlow.Core@0.8.1
#addin nuget:?package=TokenFlow.Core&version=0.8.1
#tool nuget:?package=TokenFlow.Core&version=0.8.1
<p align="center"> <img src="https://github.com/AndrewClements84/TokenFlow.AI/blob/master/assets/logo.png?raw=true" alt="TokenFlow.AI" width="500"/> </p>
TokenFlow.AI
💡 Overview
TokenFlow.AI is a lightweight .NET library for tokenization, chunking, and cost estimation across modern large language models (LLMs) such as OpenAI GPT-4o, Anthropic Claude, and Azure OpenAI.
It provides accurate token counting, intelligent text splitting, cumulative usage tracking, and real-time cost estimation for any AI-driven application.
Now includes CLI utilities, developer documentation, full Flow.AI ecosystem integration, and automated performance benchmarking.
🧩 Key Features
- 🔢 GPT-style token counting for .NET
- 🧱 Smart text chunking with configurable token limits and overlap
- 💰 Real-time cost estimation for prompt and completion usage
- 🧮 TokenUsageTracker — track cumulative token and cost usage across analyses
- 🧩 Unified TokenFlowClient — analyze, chunk, and cost in one API
- ⚙️ CLI utilities (TokenFlow.Tools) — positional arguments for simplicity (
tokenflow cost "text" gpt-4o) - 📘 Developer documentation site — API reference + usage guides via GitHub Pages
- 🧾 Benchmark suite powered by BenchmarkDotNet and integrated with CI
- 🔌 Pluggable tokenizer providers — including OpenAI
tiktoken, Claudecl100k_base, and Approx fallback - 🔗 Flow.AI.Core integration — exposes
ITokenFlowProviderfor shared usage across Flow.AI ecosystem projects - 💬 CLI v3.0 alignment — enhanced cost commands, dynamic pricing, and Flow.AI registry integration
- 🧠 Dual targeting for .NET Standard 2.0 and .NET 8.0
🧠 Quick Examples
Model-specific tokenizers:
using TokenFlow.Tokenizers.Factory;
var factory = new TokenizerFactory();
var gptTokenizer = factory.Create("gpt-4o");
var claudeTokenizer = factory.Create("claude-3-opus");
Console.WriteLine($"GPT tokens: {gptTokenizer.CountTokens("Hello world!")}");
Console.WriteLine($"Claude tokens: {claudeTokenizer.CountTokens("Hello world!")}");
Flow.AI.Core Provider Integration:
using Flow.AI.Core.Interfaces;
using TokenFlow.AI.Integration;
ITokenFlowProvider provider = new TokenFlowProvider("gpt-4o-mini");
int tokens = provider.CountTokens("gpt-4o-mini", "Hello Flow.AI!");
Console.WriteLine($"Token count: {tokens}");
💰 CLI Usage (Positional Arguments)
Estimate Token Cost
tokenflow cost "Estimate my token cost" gpt-4o
Analyze Prompt Text
tokenflow analyze "Explain large language models simply." gpt-4o-mini
Compare Multiple Models
tokenflow compare "Summarize this text" gpt-4o gpt-3.5-turbo claude-3.5-sonnet
Count Tokens
tokenflow count "Estimate my token cost"
List Available Models
tokenflow list-models
💡 All CLI commands support positional arguments — text first, model second.
Named flags (--model,--input) will be added in a future developer-UX update.
🧪 Running Benchmarks
dotnet run -c Release --project src/TokenFlow.Tools.Benchmarks
Full benchmark documentation:
See docs/tokenizers.md
🧪 Running Tests
dotnet test --no-build --verbosity normal
All unit tests are written in xUnit and run automatically through GitHub Actions.
Code coverage is tracked with Codecov, and the project maintains 100% line and branch coverage across all modules.
📊 Code Coverage by Module
| Project | Coverage | Notes |
|---|---|---|
| TokenFlow.Core | 100% | Core models and interfaces |
| TokenFlow.AI | 100% | Client, costing, registry, Flow.AI integration |
| TokenFlow.Tokenizers | 100% | OpenAI, Claude, and Approx implementations |
| TokenFlow.Tools | 100% | CLI automation and output formatting |
🔗 Flow.AI.Core Integration
TokenFlow.AI fully implements the shared Flow.AI.Core.Interfaces.ITokenFlowProvider interface.
This enables all Flow.AI components — including PromptStream.AI, DataFlow.AI, and ChatFlow.AI —
to perform token counting and cost analysis through a unified provider contract.
TokenFlow.AI serves as the engine layer of the Flow.AI ecosystem, powering all higher-level orchestration frameworks.
🛠️ Roadmap
✅ Completed
- Core interfaces and models (
ITokenizer,ICostEstimator,ModelSpec,TokenCountResult) - Added
TokenFlow.Tokenizerswith advanced tokenizers (OpenAITikTokenizer,ClaudeTokenizer,ApproxTokenizer) - Extended
TokenizerFactoryto handle OpenAI/Claude families ✅ - Added TokenFlow.Tools.Benchmarks for tokenizer performance analysis ✅
- Achieved 100% code coverage across all projects ✅
- CLI v2.1 released with structured automation ✅
- Developer documentation site (API + usage guides) ✅
- Integrated Flow.AI.Core v0.1.0 and implemented
ITokenFlowProvider✅ - Full integration tests and shared registry loading ✅
- v0.6.1 — Performance Regression Tracking integrated with CI ✅
- v0.6.2 — Enhanced Cost Estimator using Flow.AI.Core registry ✅
- v0.7.0 — CLI Alignment & Ecosystem Integration ✅
🌟 Future Goals
- Extend CLI tooling for full Flow.AI ecosystem interoperability
- Implement enhanced Flow.AI shared configuration support
- Add named argument flags (
--model,--input) for CLI commands - Begin PromptStream.AI cockpit integration phase
💬 Contributing
Pull requests are welcome!
If you’d like to contribute to TokenFlow.AI, please read the upcoming CONTRIBUTING.md once published.
🪪 License
Distributed under the MIT License.
See LICENSE for details.
⭐ If you find TokenFlow.AI useful, please give the repository a star on GitHub!
It helps others discover the project and supports ongoing development.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
-
net8.0
- No dependencies.
NuGet packages (3)
Showing the top 3 NuGet packages that depend on TokenFlow.Core:
| Package | Downloads |
|---|---|
|
TokenFlow.AI
Lightweight .NET library for tokenization, chunking, and cost estimation across modern LLMs (OpenAI GPT-4o, Claude, Azure OpenAI). |
|
|
TokenFlow.Tokenizers
Model-specific tokenizer implementations for TokenFlow.AI (OpenAI, Claude, etc.). |
|
|
PromptStream.AI
Token-aware prompt composition, validation, and conversational context toolkit for .NET. |
GitHub repositories
This package is not used by any popular GitHub repositories.