Bodu.Text.Formats
0.6.0
See the version list below for details.
dotnet add package Bodu.Text.Formats --version 0.6.0
NuGet\Install-Package Bodu.Text.Formats -Version 0.6.0
<PackageReference Include="Bodu.Text.Formats" Version="0.6.0" />
<PackageVersion Include="Bodu.Text.Formats" Version="0.6.0" />
<PackageReference Include="Bodu.Text.Formats" />
paket add Bodu.Text.Formats --version 0.6.0
#r "nuget: Bodu.Text.Formats, 0.6.0"
#:package Bodu.Text.Formats@0.6.0
#addin nuget:?package=Bodu.Text.Formats&version=0.6.0
#tool nuget:?package=Bodu.Text.Formats&version=0.6.0
Bodu.Text.Formats
API stability — Stable. The public API surface is committed; breaking changes are reserved for a major-version bump per SemVer.
Umbrella meta-package. This package carries no code of its own — it references the three standalone line-format libraries so a single package reference brings in all of them.
The Bodu line-oriented text formats on .NET 8, each a self-contained library shaped after System.Text.Json:
| Format | Package | Token surface | Serializer | DOMs |
|---|---|---|---|---|
| Delimited (RFC 4180 CSV / TSV) | Bodu.Text.Delimited |
Utf8DelimitedReader / Utf8DelimitedWriter |
DelimitedSerializer |
DelimitedNode (mutable) / DelimitedDocument (read-only) |
| DotEnv | Bodu.Text.DotEnv |
Utf8DotEnvReader / Utf8DotEnvWriter |
DotEnvSerializer |
DotEnvNode (mutable) / DotEnvDocument (read-only) |
| INI | Bodu.Text.Ini |
Utf8IniReader / Utf8IniWriter (+ normalized IniDocumentReader) |
IniSerializer |
IniNode (mutable, comment-preserving) / IniDocument (read-only) |
Installation
dotnet add package Bodu.Text.Formats
Targets net8.0. To depend on a single format, reference its package directly instead — for example dotnet add package Bodu.Text.Delimited.
API shape
Every format follows the same quartet:
using Bodu.Text.Delimited;
using Bodu.Text.Delimited.Document;
// Read-only document (JsonDocument-shaped).
using DelimitedDocument doc = DelimitedDocument.Parse(csvBytes);
string symbol = doc.RootElement[0].GetProperty("symbol").GetString();
// Typed records via the serializer (JsonSerializer-shaped).
List<Trade> trades = DelimitedSerializer.Deserialize<Trade>(csvText);
string back = DelimitedSerializer.Serialize(trades);
The forward-only Utf8*Reader / Utf8*Writer pairs cover token-level streaming, and the mutable *Node DOMs cover authoring — the INI node tree additionally preserves comment trivia for faithful round trips of human-owned files.
See the per-package READMEs and the samples under samples/Text.Formats/ for full walkthroughs.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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. |
-
net8.0
- Bodu.Text.Delimited (>= 0.6.0)
- Bodu.Text.DotEnv (>= 0.6.0)
- Bodu.Text.Ini (>= 0.6.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.