Scrubkit.Abstractions
1.7.0
Prefix Reserved
dotnet add package Scrubkit.Abstractions --version 1.7.0
NuGet\Install-Package Scrubkit.Abstractions -Version 1.7.0
<PackageReference Include="Scrubkit.Abstractions" Version="1.7.0" />
<PackageVersion Include="Scrubkit.Abstractions" Version="1.7.0" />
<PackageReference Include="Scrubkit.Abstractions" />
paket add Scrubkit.Abstractions --version 1.7.0
#r "nuget: Scrubkit.Abstractions, 1.7.0"
#:package Scrubkit.Abstractions@1.7.0
#addin nuget:?package=Scrubkit.Abstractions&version=1.7.0
#tool nuget:?package=Scrubkit.Abstractions&version=1.7.0
Scrubkit.Abstractions
The dependency-free contracts for Scrubkit — interfaces and simple records, nothing else.
Reference this package (instead of the full Scrubkit package) when you build an
add-on: a custom IFileExtractor for a new format, or a custom IRedactor for your own
redaction. Your add-on stays lightweight and takes no heavy dependencies.
Example
using Scrubkit;
public sealed class MyExtractor : IFileExtractor
{
public bool CanHandle(string ext) => ext == ".xyz";
public ExtractedContent Extract(string path) => new(metadata, text);
}
Everything lives in the Scrubkit namespace, so consuming code is identical whether you
reference Scrubkit or Scrubkit.Abstractions.
What's inside
IFileExtractor · ExtractedContent · IRedactor · RedactionResult · FileRecord ·
ReadOptions · Recursion · RedactionLevel · Buckets
Multi-targets net8.0 and netstandard2.0. Fully offline — no dependencies.
| 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 (5)
Showing the top 5 NuGet packages that depend on Scrubkit.Abstractions:
| Package | Downloads |
|---|---|
|
Scrubkit
Point Scrubkit at a folder and get back a clean table of file text + metadata — 100% offline, no telemetry. Extracts text and metadata from PDF, Office (docx/pptx/xlsx), plain-text, and image (EXIF) files, ready to feed into RAG ingestion, search indexing, and data-prep pipelines. Pluggable per-format extractors (IFileExtractor) plus streaming and bounded-parallel processing for large folders. |
|
|
Scrubkit.OpenDocument
Add-on IFileExtractor for Scrubkit that reads OpenDocument Format files — text documents (.odt), spreadsheets (.ods), and presentations (.odp) from LibreOffice / OpenOffice. Extracts the body text and the Title/Author/Subject properties, fully offline with no dependencies beyond Scrubkit.Abstractions. Register it via ReadOptions.Extractors. |
|
|
Scrubkit.Email
Add-on IFileExtractor for Scrubkit that reads .eml (MIME email) files: the From/To/Cc/Subject/Date headers become metadata and the message body becomes text. Handles multipart messages, base64 and quoted-printable encodings, common charsets, and RFC 2047 encoded-word headers — fully offline with no dependencies beyond Scrubkit.Abstractions. Register it via ReadOptions.Extractors. |
|
|
Scrubkit.Epub
Add-on IFileExtractor for Scrubkit that reads .epub e-books: the Title/Author/Subject become metadata and the book's text (from the XHTML spine, tags stripped) becomes text. Fully offline with no dependencies beyond Scrubkit.Abstractions. Register it via ReadOptions.Extractors. |
|
|
Scrubkit.Parquet
Writes a Scrubkit FileRecord table to Apache Parquet (columnar) for data-lake and analytics ingestion, using Parquet.Net. References only Scrubkit.Abstractions; the zero-dependency CSV/JSON writers live in the core Scrubkit package. |
GitHub repositories
This package is not used by any popular GitHub repositories.
1.6.0 — Incremental scans. FolderScrubber.ReadChangesAsync(root, baseline) extracts only files added or modified since a Manifest (size + last-write time); returns the delta, removed paths, and a fresh complete manifest to persist. Manifest is a zero-dependency text sidecar (Save/Load/From). New ReadOptions.ExcludePaths keeps a run from ingesting its own output. CLI: --since / --manifest flags; output is now UTF-8 without a BOM. Full changelog: https://github.com/jjopensoftworks-blip/Scrubkit/blob/main/CHANGELOG.md