OsLibCore 3.3.0
dotnet add package OsLibCore --version 3.3.0
NuGet\Install-Package OsLibCore -Version 3.3.0
<PackageReference Include="OsLibCore" Version="3.3.0" />
<PackageVersion Include="OsLibCore" Version="3.3.0" />
<PackageReference Include="OsLibCore" />
paket add OsLibCore --version 3.3.0
#r "nuget: OsLibCore, 3.3.0"
#:package OsLibCore@3.3.0
#addin nuget:?package=OsLibCore&version=3.3.0
#tool nuget:?package=OsLibCore&version=3.3.0
OsLib
Handling of files and system calls.
formerly OsLibCore
3.3.0
- Introduces
Os.Configandosconfig.jsonas the reusable typed configuration model for OsLib. - Moves cloud roots, backup policy, and configurable directories into a shared config contract while keeping provider probing and caching.
namespace
OsLib
classes
<details> <summary>RaiSystem: Run external processes with optional output capture.</summary>
- RaiSystem:
Exec,Start</details>
<details> <summary>RaiNetDrive: Windows network drive mount helper.</summary>
- RaiNetDrive:
Mount,Unmount</details>
<details> <summary>EscapeMode: Defines escape modes for path and parameter handling.</summary>
- EscapeMode </details>
<details> <summary>OsType: Identifies the OS type (UNIX or Windows).</summary>
- OsType </details>
<details> <summary>Os: Platform helpers for paths, escaping, provider-based cloud storage discovery, and local backup placement.</summary>
- Os:
CloudStorageRoot,GetCloudStorageRoots,GetCloudStorageRoot,GetPreferredCloudStorageRoot,ResetCloudStorageCache,GetCloudDiscoveryReport,HomeDir,TempDir,LocalBackupDir,Escape,NormSeperator</details>
<details> <summary>RaiFile: File and directory utility with path parsing and cloud-aware behaviors.</summary>
- RaiFile:
Exists,rm,mv,cp,mkdir,rmdir,Zip,backup</details>
<details> <summary>RaiFileExtensions: Convenience extensions for string and CSV handling.</summary>
- RaiFileExtensions:
MakePolicyCompliant,Singularize,CreateDictionariesFromCsvLines</details>
<details> <summary>RaiPath: Represents a directory path and enforces a trailing directory separator.</summary>
- RaiPath:
Path,/operator,mkdir</details>
<details> <summary>CanonicalPath: RaiPath convention where folder name equals file stem.</summary>
- CanonicalPath:
RootPath,FileStem,Apply</details>
<details> <summary>PathConventionType and IPathConventionFile: Shared path-convention contract for convention-aware files.</summary>
- PathConventionType:
CanonicalByName,ItemIdTree3x3,ItemIdTree8x2 - IPathConventionFile:
ConventionName,ApplyPathConvention</details>
<details> <summary>TextFile: Text file with cached line operations and save support.</summary>
- TextFile:
Read,Save,Append,Delete</details>
<details> <summary>CsvFile: Tab-delimited CSV reader with object conversion.</summary>
- CsvFile:
Read,Objects,ToJsonFile</details>
<details> <summary>TmpFile: Temporary file wrapper.</summary>
- TmpFile:
create(creates missing parent directories viaTextFile.Save/RaiFile.mkdir) </details>
<details> <summary>CanonicalFile: Enforces canonical file-in-folder convention.</summary>
- CanonicalFile </details>
<details> <summary>ShellHelper: Helpers for running shell commands.</summary>
- ShellHelper:
Bash</details>
<details> <summary>CliCommand and tool wrappers: executable discovery, install hints, and process execution.</summary>
- CliCommand:
IsAvailable,TryResolveExecutable,Run,RunAsync,GetInstallCommand,GetUpdateCommand - Built-in wrappers:
CurlCommand,ZipCommand,SevenZipCommand,RCloneCommand</details>
nuget
https://www.nuget.org/packages/OsLibCore/
diagram
- Source: RaiFile-Hierarchy.puml
- CLI render (if PlantUML is installed):
plantuml RaiFile-Hierarchy.puml - VS Code: open the
.pumlfile and use a PlantUML preview/render extension.
detailed api
- Foldable class and method-level documentation: API.md
- Cloud root discovery setup, provider precedence, and cloud-aware IO behavior: CLOUD_STORAGE_DISCOVERY.md
- CLI command hierarchy and external tool wrappers: ../CliCommand-Hierarchy.puml
- Local backup placement:
Os.LocalBackupDirresolves an OS-local, non-cloud directory and can be configured inosconfig.json. - Ubuntu/Mzansi guidance: prefer explicit
cloud.*entries inosconfig.jsonover probe-only discovery for stable Google Drive roots across machines.
unit tests
- Local unit tests are in OsLib.Tests.
- Run from repository root:
dotnet test - Additional integration/usage tests still exist across JsonPitSolution.
release notes
- Current release notes: RELEASE_NOTES_3.3.0.md
nuget publish automation
- GitHub Actions workflow:
.github/workflows/publish-nuget.yml - Trigger: push a version tag in format
v*(example:v3.3.0) - Safety check: workflow validates tag version equals
<Version>inOsLib.csproj - Required GitHub repository secret:
NUGET_API_KEY - Typical release command:
git tag -a v3.3.0 -m "v3.3.0" && git push origin v3.3.0
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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. |
-
net10.0
- Microsoft.Extensions.Logging (>= 8.0.1)
- Newtonsoft.Json (>= 13.0.4)
- RunProcessAsTask (>= 1.2.4)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on OsLibCore:
| Package | Downloads |
|---|---|
|
JsonPit
Stores json files across servers (synchronized). |
|
|
RaiImage
Managing image files with meaningful elements in the image name and path. |
|
|
HDitem.Persist
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
3.3.0 introduces Os.Config and osconfig.json for reusable typed configuration, including cloud roots, local backup policy, and config-driven path defaults.