Lyo.PackageMetadata
2.0.0
dotnet add package Lyo.PackageMetadata --version 2.0.0
NuGet\Install-Package Lyo.PackageMetadata -Version 2.0.0
<PackageReference Include="Lyo.PackageMetadata" Version="2.0.0" />
<PackageVersion Include="Lyo.PackageMetadata" Version="2.0.0" />
<PackageReference Include="Lyo.PackageMetadata" />
paket add Lyo.PackageMetadata --version 2.0.0
#r "nuget: Lyo.PackageMetadata, 2.0.0"
#:package Lyo.PackageMetadata@2.0.0
#addin nuget:?package=Lyo.PackageMetadata&version=2.0.0
#tool nuget:?package=Lyo.PackageMetadata&version=2.0.0
Lyo.PackageMetadata
PackageMetadata rows across ecosystems, PackageMetadataRegistration, IPackageMetadataStore, and PackageArtifactDigest helpers that correlate stack-trace namespaces with persisted package/catalog data.
Methods and types
- PackageMetadata.
sealed recordcarrying ecosystem, name/version, optionalArtifactDigestHex/ArtifactDigestAlgorithm, project/repository/license URLs, SPDXLicenseExpression(plus parsedLicenseExpressionSyntax),UpdatedAt/CreatedAttimestamps. - PackageEcosystem. Enum:
Unknown,NuGet,Maven,Gradle,Conan,Vcpkg,Debian,Rpm,Msi,Other. - ArtifactDigestAlgorithm. Enum:
None,Sha256,Sha512,Sha1. - PackageMetadataRegistration. A
PackageMetadataplus the namespace prefixes to register. - IPackageMetadataStore.
TryGetManyForStrippedMethodPrefixesAsync,TryGetForFrameAsync,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, Stream|byte[])andComputeHexSha512(...)overloads for canonical artifact bytes. - PackageLicenseExpression.
TryGetSpdxLicenseIdentifiers(expression)andTryParseSyntax(expression)over SPDX 2.x (OR,AND,WITH). - SpdxLicenseExpressionSyntax. JSON-friendly parsed tree (
exception,license,or,and,with).
Writing an IPackageMetadataStore
- Honour longest registered namespace-prefix wins (
normalizedPrefix.+strippedMethodPrefix.StartsWith(prefix, Ordinal)) forTryGetManyForStrippedMethodPrefixesAsyncandTryGetForFrameAsync. - Return a map from
TryGetManyForStrippedMethodPrefixesAsyncthat includes one entry per distinct requested key, withnullwhen no prefix matches. Empty input returns an empty map.
namespacePrefix argument
A namespacePrefix argument (frame namespace) exists on both lookup methods. Matching currently ignores this value. It is reserved for possible future narrowing. Passing any value does not affect results today.
How PostgresPackageMetadataStore scales
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.Core(direct, lyo)Lyo.Exceptions(direct, lyo)Lyo.Hashing(direct, lyo)System.Threading.Tasks.Extensions4.6.3(direct, microsoft)Lyo.Common.Metadata(transitive, lyo)Microsoft.Bcl.AsyncInterfaces10.0.5(transitive, microsoft, netstandard2.0)Microsoft.Extensions.DependencyInjection.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.Core (>= 2.0.0)
- Lyo.Exceptions (>= 2.0.0)
- Lyo.Hashing (>= 2.0.0)
- System.Threading.Tasks.Extensions (>= 4.6.3)
-
net10.0
- Lyo.Common.Core (>= 2.0.0)
- Lyo.Exceptions (>= 2.0.0)
- Lyo.Hashing (>= 2.0.0)
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.