PolyhydraGames.Api.SystemDefinitions
1.0.4.144
dotnet add package PolyhydraGames.Api.SystemDefinitions --version 1.0.4.144
NuGet\Install-Package PolyhydraGames.Api.SystemDefinitions -Version 1.0.4.144
<PackageReference Include="PolyhydraGames.Api.SystemDefinitions" Version="1.0.4.144" />
<PackageVersion Include="PolyhydraGames.Api.SystemDefinitions" Version="1.0.4.144" />
<PackageReference Include="PolyhydraGames.Api.SystemDefinitions" />
paket add PolyhydraGames.Api.SystemDefinitions --version 1.0.4.144
#r "nuget: PolyhydraGames.Api.SystemDefinitions, 1.0.4.144"
#:package PolyhydraGames.Api.SystemDefinitions@1.0.4.144
#addin nuget:?package=PolyhydraGames.Api.SystemDefinitions&version=1.0.4.144
#tool nuget:?package=PolyhydraGames.Api.SystemDefinitions&version=1.0.4.144
PolyhydraGames.Api.SystemDefinitions
Typed system definition helpers for game platform slugs, folders, emulator cores, file extensions, and IGDB identifiers.
The library wraps a curated platform dataset and normalizes common aliases such
as mastersystem → sms, pce → pcengine, and arcade variants → arcade.
Tags
- api
- dotnet
- api-system-definitions
- system
- definitions
- streaming
Usage
await SystemsDatabase.Setup(logger, dataSource: "path/to/platform.fixture.json");
var system = SystemsDatabase.Instance.GetSystem("SMS");
var folder = "mastersystem".ToFolder();
var core = "SMS".GetCoreFromSlug();
var slug = SystemsDatabase.Instance.GetSystemFromExtension(".gba");
var inventorySlug = SystemsDatabase.Instance.GetSystemFromPath("/roms/snes/Chrono Trigger.sfc");
var igdbPlatformId = SystemsDatabase.Instance.GetProviderIdFromSlug("snes", "igdb");
Tests
Default tests use a local fixture and should not require network access.
Use python scripts/refresh-platform-fixture.py to regenerate API.SystemDefinitions.Test/TestData/platform.fixture.json from the upstream dataset when the fixture needs a maintenance refresh.
bash scripts/validate.sh
Build And Pack
dotnet build Api.SystemDefinitions.sln --no-restore
dotnet pack Api.SystemDefinitions/PolyhydraGames.Api.SystemDefinitions.csproj --configuration Release --no-restore
Roadmap
Docs
License
This project is licensed under the MIT License.
| 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.Configuration.Abstractions (>= 10.0.9)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.9)
- PolyhydraGames.Core.Interfaces.Gaming (>= 1.0.0.13)
- PolyhydraGames.Core.Models (>= 1.0.2.18)
- PolyhydraGames.Extensions (>= 2.1.1.78)
- Spectre.Console (>= 0.57.1)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on PolyhydraGames.Api.SystemDefinitions:
| Package | Downloads |
|---|---|
|
PolyhydraGames.GamePlayer.Core
Package Description |
|
|
PolyhydraGames.IGDB
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.