ecluse:ecluse-core
Safe HaskellNone
LanguageGHC2021

Ecluse.Core.Registry.PyPI.Metadata

Description

Full and selected Simple-index reads share incremental extraction. Only full reads hash the source.

Synopsis

Documentation

newPyPIMetadataReads :: TracingPort -> MetricsPort -> (PackageName -> MetadataError -> IO ()) -> (PackageName -> [InvalidEntry] -> IO ()) -> (PackageName -> IO ()) -> OriginFor posture -> MetadataReads posture Source #

Bind one origin's reads to observers. PyPI retains no publication object for selected releases.

fetchPyPIManifest :: TracingPort -> OriginClient -> PackageName -> IO (Either MetadataError Manifest) Source #

Fetch compact files and hash the complete decompressed source inside the response lifetime.

pypiChargeFactors :: ChargeFactors Source #

PyPI's memory charges, above the largest read peak per source byte (3.07, boto3) and output working set per basis byte of a realistic merge (1.24, boto3) from one meter step up.

readPyPIIndex :: Limits -> PackageName -> PyPIRead -> IO ByteString -> IO (Either LimitError (StreamResult PyPIProjection)) Source #

Walk an index's chunks with the production field policy, over a table keyed afresh for the read.

pypiIndexWalk :: Limits -> PackageName -> PyPIRead -> InternTable -> TokenResult -> Step PyPIProjection Source #

The production Simple-index walk over a caller's intern table.

projectPyPIStream :: Limits -> PackageName -> StreamResult PyPIProjection -> Either MetadataError (PackageInfo, SimpleDocument) Source #

Finish both read modes without separating typed files from their source coordinates.