| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
Ecluse.Core.Registry.PyPI.Metadata
Description
Full and selected Simple-index reads share incremental extraction. Only full reads hash the source.
Synopsis
- newPyPIMetadataReads :: TracingPort -> MetricsPort -> (PackageName -> MetadataError -> IO ()) -> (PackageName -> [InvalidEntry] -> IO ()) -> (PackageName -> IO ()) -> OriginFor posture -> MetadataReads posture
- fetchPyPIManifest :: TracingPort -> OriginClient -> PackageName -> IO (Either MetadataError Manifest)
- pypiChargeFactors :: ChargeFactors
- readPyPIIndex :: Limits -> PackageName -> PyPIRead -> IO ByteString -> IO (Either LimitError (StreamResult PyPIProjection))
- pypiIndexWalk :: Limits -> PackageName -> PyPIRead -> InternTable -> TokenResult -> Step PyPIProjection
- projectPyPIStream :: Limits -> PackageName -> StreamResult PyPIProjection -> Either MetadataError (PackageInfo, SimpleDocument)
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.