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
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Scrubkit.Abstractions" Version="1.7.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Scrubkit.Abstractions" Version="1.7.0" />
                    
Directory.Packages.props
<PackageReference Include="Scrubkit.Abstractions" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Scrubkit.Abstractions --version 1.7.0
                    
#r "nuget: Scrubkit.Abstractions, 1.7.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Scrubkit.Abstractions@1.7.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Scrubkit.Abstractions&version=1.7.0
                    
Install as a Cake Addin
#tool nuget:?package=Scrubkit.Abstractions&version=1.7.0
                    
Install as a Cake Tool

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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .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.

Version Downloads Last Updated
1.7.0 0 7/22/2026
1.6.0 0 7/22/2026
1.5.0 0 7/21/2026
1.4.0 88 7/20/2026
1.3.0 110 7/19/2026
1.2.0 100 7/18/2026
1.1.0 60 7/17/2026
1.0.0 90 7/15/2026
0.1.0-preview.1 51 7/12/2026

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