Skip to content

Getting started

PndTools is a .NET 10 library for reading and inspecting OpenPandora PND package files. It supports both SquashFS and ISO-based archives and exposes the embedded PXML metadata as typed .NET objects.

Terminal window
dotnet add package PndTools
using PndTools.IO;
using var stream = File.OpenRead("game.pnd");
using var archive = PndArchive.Open(stream);
Console.WriteLine(archive.ArchiveType); // SquashFs or Iso
var files = archive.ListFiles();
foreach (var path in files)
{
Console.WriteLine(path);
}
  • Extracting files — extract a single file, a subset, or the entire archive
  • Reading PXML and icon — read metadata and the embedded icon directly from the PND stream
  • Parsing PXML — work with the typed model: applications, titles, categories, and more
  • Validating PXML — validate metadata against the schema and business rules
  • Searching streams — search any seekable stream for a byte pattern
  • Using async and await — use the async API in ASP.NET Core, background services, and other async contexts
  • ASP.NET Core integration — register all PndTools services with a single call and inject them into controllers and minimal API handlers