Lyo.PackageMetadata
1.0.9
dotnet add package Lyo.PackageMetadata --version 1.0.9
NuGet\Install-Package Lyo.PackageMetadata -Version 1.0.9
<PackageReference Include="Lyo.PackageMetadata" Version="1.0.9" />
<PackageVersion Include="Lyo.PackageMetadata" Version="1.0.9" />
<PackageReference Include="Lyo.PackageMetadata" />
paket add Lyo.PackageMetadata --version 1.0.9
#r "nuget: Lyo.PackageMetadata, 1.0.9"
#:package Lyo.PackageMetadata@1.0.9
#addin nuget:?package=Lyo.PackageMetadata&version=1.0.9
#tool nuget:?package=Lyo.PackageMetadata&version=1.0.9
Lyo.PackageMetadata
Multi-ecosystem PackageMetadata rows, PackageMetadataRegistration, IPackageMetadataStore, and PackageArtifactDigest helpers for correlating stack-trace namespaces with persisted package/catalog data.
Types and methods
- PackageMetadata.
sealed recordcarrying ecosystem, name/version, optionalArtifactDigestAlgorithm/ArtifactDigestHex, project/repository/license URLs, SPDXLicenseExpression(plus parsedLicenseExpressionSyntax),CreatedAt/UpdatedAttimestamps. - PackageEcosystem. Enum:
Unknown,NuGet,Maven,Gradle,Conan,Vcpkg,Debian,Rpm,Msi,Other. - ArtifactDigestAlgorithm. Enum:
None,Sha512,Sha256,Sha1. - PackageMetadataRegistration. Pair of namespace prefixes and the
PackageMetadatato register. - IPackageMetadataStore.
TryGetForFrameAsync,TryGetManyForStrippedMethodPrefixesAsync,RegisterManyAsync. - InMemoryPackageMetadataStore. Thread-safe store. Build with
new InMemoryPackageMetadataStore(), then callRegister(prefixes, package)orRegisterManyAsync(registrations). No DI extension ships in this package. A Postgres-backed store with its own DI extensions lives inLyo.PackageMetadata.Postgres. - PackageArtifactDigest.
ComputeHex(algorithm, byte[]|Stream)andComputeHexSha512(...)overloads for canonical artifact bytes. - PackageLicenseExpression.
TryParseSyntax(expression)andTryGetSpdxLicenseIdentifiers(expression)over SPDX 2.x (AND,OR,WITH). - SpdxLicenseExpressionSyntax. JSON-friendly parsed tree (
license,exception,and,or,with).
Implementing IPackageMetadataStore
- Honour longest registered namespace-prefix wins (
normalizedPrefix.+strippedMethodPrefix.StartsWith(prefix, Ordinal)) forTryGetForFrameAsyncandTryGetManyForStrippedMethodPrefixesAsync. - Return a map from
TryGetManyForStrippedMethodPrefixesAsyncthat includes one entry per distinct requested key, withnullwhen no prefix matches. Empty input returns an empty map.
namespacePrefix parameter
Both lookup methods expose a namespacePrefix argument (frame namespace). Matching currently ignores this value. It is reserved for possible future narrowing. Passing any value does not affect results today.
PostgresPackageMetadataStore scalability
PostgresPackageMetadataOptions.PrefixCatalogCaching(seePostgresPrefixCatalogCachingMode) can skip re-querying the database on repeatedTryGetMany(InvalidateOnRegisterManyOrClear) orDisabledwhen you wrap the store with your own cache.PostgresPackageMetadataStore.ClearPrefixCatalogCache()drops the in-process snapshot. The cache is per process. AfterRegisterManyAsyncon that instance the snapshot is cleared. Other DB writers will not invalidate automatically. Disable in-process caching or clear explicitly when imports finish off-process.
Dependencies
Generated from ProjectReference / PackageReference (same model as docs/Lyo.ProjectGraph.html).
Lyo.Common(direct, lyo)Lyo.Exceptions(direct, lyo)Lyo.Hashing(direct, lyo)System.Threading.Tasks.Extensions4.6.3(direct, microsoft)Microsoft.Extensions.DependencyInjection.Abstractions10.0.5(transitive, microsoft)Microsoft.Extensions.Logging.Abstractions10.0.5(transitive, microsoft)System.IO.Hashing10.0.5(transitive, microsoft, net10.0)System.Memory4.6.3(transitive, microsoft, netstandard2.0)System.Text.Json10.0.5(transitive, microsoft, netstandard2.0)
| 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 was computed. 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 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. |
| .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
- Lyo.Common (>= 1.0.9)
- Lyo.Exceptions (>= 1.0.9)
- Lyo.Hashing (>= 1.0.9)
- System.Threading.Tasks.Extensions (>= 4.6.3)
-
net10.0
- Lyo.Common (>= 1.0.9)
- Lyo.Exceptions (>= 1.0.9)
- Lyo.Hashing (>= 1.0.9)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Lyo.PackageMetadata:
| Package | Downloads |
|---|---|
|
Lyo.Diagnostic
Diagnostic utilities for classifying exceptions, decoding and sanitising stack traces, and enriching structured logs for observability. |
|
|
Lyo.PackageMetadata.Postgres
PostgreSQL implementation of IPackageMetadataStore for NuGet-style package rows and stack-frame namespace prefixes. |
GitHub repositories
This package is not used by any popular GitHub repositories.