blob: 5619b256c50ec6f740a23a1ba9f8aed217cca4d4 [file] [log] [blame]
<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="canonical" href="https://py.iceberg.apache.org/reference/pyiceberg/manifest/">
<link rel="prev" href="../io/pyarrow/">
<link rel="next" href="../partitioning/">
<link rel="icon" href="../../../assets/images/iceberg-logo-icon.png">
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.21">
<title>manifest - PyIceberg</title>
<link rel="stylesheet" href="../../../assets/stylesheets/main.2a3383ac.min.css">
<link rel="stylesheet" href="../../../assets/stylesheets/palette.06af60db.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
<style>:root{--md-text-font:"Lato";--md-code-font:"Roboto Mono"}</style>
<link rel="stylesheet" href="../../../assets/_mkdocstrings.css">
<script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(["setDoNotTrack", true]);
_paq.push(["disableCookies"]);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="https://analytics.apache.org/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '82']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo -->
</head>
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo">
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#pyiceberg.manifest" class="md-skip">
Skip to content
</a>
</div>
<div data-md-component="announce">
</div>
<header class="md-header md-header--shadow md-header--lifted" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href="../../.." title="PyIceberg" class="md-header__button md-logo" aria-label="PyIceberg" data-md-component="logo">
<img src="../../../assets/images/iceberg-logo-icon.png" alt="logo">
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
PyIceberg
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
manifest
</span>
</div>
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input class="md-option" data-md-color-media="" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_0">
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_1" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
</label>
<input class="md-option" data-md-color-media="" data-md-color-scheme="slate" data-md-color-primary="indigo" data-md-color-accent="indigo" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_1">
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_0" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
</label>
</form>
<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
</label>
<nav class="md-search__options" aria-label="Search">
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Initializing search
</div>
<ol class="md-search-result__list" role="presentation"></ol>
</div>
</div>
</div>
</div>
</div>
<div class="md-header__source">
<a href="https://github.com/apache/iceberg-python" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.0.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M439.6 236.1 244 40.5c-5.4-5.5-12.8-8.5-20.4-8.5s-15 3-20.4 8.4L162.5 81l51.5 51.5c27.1-9.1 52.7 16.8 43.4 43.7l49.7 49.7c34.2-11.8 61.2 31 35.5 56.7-26.5 26.5-70.2-2.9-56-37.3L240.3 199v121.9c25.3 12.5 22.3 41.8 9.1 55-6.4 6.4-15.2 10.1-24.3 10.1s-17.8-3.6-24.3-10.1c-17.6-17.6-11.1-46.9 11.2-56v-123c-20.8-8.5-24.6-30.7-18.6-45L142.6 101 8.5 235.1C3 240.6 0 247.9 0 255.5s3 15 8.5 20.4l195.6 195.7c5.4 5.4 12.7 8.4 20.4 8.4s15-3 20.4-8.4l194.7-194.7c5.4-5.4 8.4-12.8 8.4-20.4s-3-15-8.4-20.4"/></svg>
</div>
<div class="md-source__repository">
apache/iceberg-python
</div>
</a>
</div>
</nav>
<nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
<div class="md-grid">
<ul class="md-tabs__list">
<li class="md-tabs__item">
<a href="../../.." class="md-tabs__link">
Getting started
</a>
</li>
<li class="md-tabs__item">
<a href="../../../configuration/" class="md-tabs__link">
Configuration
</a>
</li>
<li class="md-tabs__item">
<a href="../../../cli/" class="md-tabs__link">
CLI
</a>
</li>
<li class="md-tabs__item">
<a href="../../../api/" class="md-tabs__link">
API
</a>
</li>
<li class="md-tabs__item">
<a href="../../../contributing/" class="md-tabs__link">
Contributing
</a>
</li>
<li class="md-tabs__item">
<a href="../../../community/" class="md-tabs__link">
Community
</a>
</li>
<li class="md-tabs__item">
<a href="../../../verify-release/" class="md-tabs__link">
Releases
</a>
</li>
<li class="md-tabs__item md-tabs__item--active">
<a href="../" class="md-tabs__link">
Code Reference
</a>
</li>
</ul>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="../../.." title="PyIceberg" class="md-nav__button md-logo" aria-label="PyIceberg" data-md-component="logo">
<img src="../../../assets/images/iceberg-logo-icon.png" alt="logo">
</a>
PyIceberg
</label>
<div class="md-nav__source">
<a href="https://github.com/apache/iceberg-python" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.0.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M439.6 236.1 244 40.5c-5.4-5.5-12.8-8.5-20.4-8.5s-15 3-20.4 8.4L162.5 81l51.5 51.5c27.1-9.1 52.7 16.8 43.4 43.7l49.7 49.7c34.2-11.8 61.2 31 35.5 56.7-26.5 26.5-70.2-2.9-56-37.3L240.3 199v121.9c25.3 12.5 22.3 41.8 9.1 55-6.4 6.4-15.2 10.1-24.3 10.1s-17.8-3.6-24.3-10.1c-17.6-17.6-11.1-46.9 11.2-56v-123c-20.8-8.5-24.6-30.7-18.6-45L142.6 101 8.5 235.1C3 240.6 0 247.9 0 255.5s3 15 8.5 20.4l195.6 195.7c5.4 5.4 12.7 8.4 20.4 8.4s15-3 20.4-8.4l194.7-194.7c5.4-5.4 8.4-12.8 8.4-20.4s-3-15-8.4-20.4"/></svg>
</div>
<div class="md-source__repository">
apache/iceberg-python
</div>
</a>
</div>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../.." class="md-nav__link">
<span class="md-ellipsis">
Getting started
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../configuration/" class="md-nav__link">
<span class="md-ellipsis">
Configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../cli/" class="md-nav__link">
<span class="md-ellipsis">
CLI
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
<div class="md-nav__link md-nav__container">
<a href="../../../api/" class="md-nav__link ">
<span class="md-ellipsis">
API
</span>
</a>
<label class="md-nav__link " for="__nav_4" id="__nav_4_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
API
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../row-filter-syntax/" class="md-nav__link">
<span class="md-ellipsis">
Row Filter Syntax
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../expression-dsl/" class="md-nav__link">
<span class="md-ellipsis">
Expression DSL
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../../../contributing/" class="md-nav__link">
<span class="md-ellipsis">
Contributing
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../community/" class="md-nav__link">
<span class="md-ellipsis">
Community
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
<span class="md-ellipsis">
Releases
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
Releases
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../../verify-release/" class="md-nav__link">
<span class="md-ellipsis">
Verify a release
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../how-to-release/" class="md-nav__link">
<span class="md-ellipsis">
How to release
</span>
</a>
</li>
<li class="md-nav__item">
<a href="https://github.com/apache/iceberg-python/releases" class="md-nav__link">
<span class="md-ellipsis">
Release Notes
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../../nightly-build/" class="md-nav__link">
<span class="md-ellipsis">
Nightly Build
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" checked>
<label class="md-nav__link" for="__nav_8" id="__nav_8_label" tabindex="">
<span class="md-ellipsis">
Code Reference
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_8">
<span class="md-nav__icon md-icon"></span>
Code Reference
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8_1" checked>
<div class="md-nav__link md-nav__container">
<a href="../" class="md-nav__link ">
<span class="md-ellipsis">
pyiceberg
</span>
</a>
<label class="md-nav__link " for="__nav_8_1" id="__nav_8_1_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_8_1_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_8_1">
<span class="md-nav__icon md-icon"></span>
pyiceberg
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8_1_1" >
<div class="md-nav__link md-nav__container">
<a href="../avro/" class="md-nav__link ">
<span class="md-ellipsis">
avro
</span>
</a>
<label class="md-nav__link " for="__nav_8_1_1" id="__nav_8_1_1_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_8_1_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_8_1_1">
<span class="md-nav__icon md-icon"></span>
avro
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8_1_1_1" >
<div class="md-nav__link md-nav__container">
<a href="../avro/codecs/" class="md-nav__link ">
<span class="md-ellipsis">
codecs
</span>
</a>
<label class="md-nav__link " for="__nav_8_1_1_1" id="__nav_8_1_1_1_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="4" aria-labelledby="__nav_8_1_1_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_8_1_1_1">
<span class="md-nav__icon md-icon"></span>
codecs
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../avro/codecs/bzip2/" class="md-nav__link">
<span class="md-ellipsis">
bzip2
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../avro/codecs/codec/" class="md-nav__link">
<span class="md-ellipsis">
codec
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../avro/codecs/deflate/" class="md-nav__link">
<span class="md-ellipsis">
deflate
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../avro/codecs/snappy_codec/" class="md-nav__link">
<span class="md-ellipsis">
snappy_codec
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../avro/codecs/zstandard_codec/" class="md-nav__link">
<span class="md-ellipsis">
zstandard_codec
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../avro/decoder/" class="md-nav__link">
<span class="md-ellipsis">
decoder
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../avro/encoder/" class="md-nav__link">
<span class="md-ellipsis">
encoder
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../avro/file/" class="md-nav__link">
<span class="md-ellipsis">
file
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../avro/reader/" class="md-nav__link">
<span class="md-ellipsis">
reader
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../avro/resolver/" class="md-nav__link">
<span class="md-ellipsis">
resolver
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../avro/writer/" class="md-nav__link">
<span class="md-ellipsis">
writer
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8_1_2" >
<div class="md-nav__link md-nav__container">
<a href="../catalog/" class="md-nav__link ">
<span class="md-ellipsis">
catalog
</span>
</a>
<label class="md-nav__link " for="__nav_8_1_2" id="__nav_8_1_2_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_8_1_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_8_1_2">
<span class="md-nav__icon md-icon"></span>
catalog
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../catalog/bigquery_metastore/" class="md-nav__link">
<span class="md-ellipsis">
bigquery_metastore
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../catalog/dynamodb/" class="md-nav__link">
<span class="md-ellipsis">
dynamodb
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../catalog/glue/" class="md-nav__link">
<span class="md-ellipsis">
glue
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../catalog/hive/" class="md-nav__link">
<span class="md-ellipsis">
hive
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../catalog/memory/" class="md-nav__link">
<span class="md-ellipsis">
memory
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../catalog/noop/" class="md-nav__link">
<span class="md-ellipsis">
noop
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8_1_2_7" >
<div class="md-nav__link md-nav__container">
<a href="../catalog/rest/" class="md-nav__link ">
<span class="md-ellipsis">
rest
</span>
</a>
<label class="md-nav__link " for="__nav_8_1_2_7" id="__nav_8_1_2_7_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="4" aria-labelledby="__nav_8_1_2_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_8_1_2_7">
<span class="md-nav__icon md-icon"></span>
rest
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../catalog/rest/auth/" class="md-nav__link">
<span class="md-ellipsis">
auth
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../catalog/rest/response/" class="md-nav__link">
<span class="md-ellipsis">
response
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../catalog/sql/" class="md-nav__link">
<span class="md-ellipsis">
sql
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8_1_3" >
<div class="md-nav__link md-nav__container">
<a href="../cli/" class="md-nav__link ">
<span class="md-ellipsis">
cli
</span>
</a>
<label class="md-nav__link " for="__nav_8_1_3" id="__nav_8_1_3_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_8_1_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_8_1_3">
<span class="md-nav__icon md-icon"></span>
cli
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../cli/console/" class="md-nav__link">
<span class="md-ellipsis">
console
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../cli/output/" class="md-nav__link">
<span class="md-ellipsis">
output
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../conversions/" class="md-nav__link">
<span class="md-ellipsis">
conversions
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../exceptions/" class="md-nav__link">
<span class="md-ellipsis">
exceptions
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8_1_6" >
<div class="md-nav__link md-nav__container">
<a href="../expressions/" class="md-nav__link ">
<span class="md-ellipsis">
expressions
</span>
</a>
<label class="md-nav__link " for="__nav_8_1_6" id="__nav_8_1_6_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_8_1_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_8_1_6">
<span class="md-nav__icon md-icon"></span>
expressions
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../expressions/literals/" class="md-nav__link">
<span class="md-ellipsis">
literals
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../expressions/parser/" class="md-nav__link">
<span class="md-ellipsis">
parser
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../expressions/visitors/" class="md-nav__link">
<span class="md-ellipsis">
visitors
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8_1_7" >
<div class="md-nav__link md-nav__container">
<a href="../io/" class="md-nav__link ">
<span class="md-ellipsis">
io
</span>
</a>
<label class="md-nav__link " for="__nav_8_1_7" id="__nav_8_1_7_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_8_1_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_8_1_7">
<span class="md-nav__icon md-icon"></span>
io
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../io/fsspec/" class="md-nav__link">
<span class="md-ellipsis">
fsspec
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../io/pyarrow/" class="md-nav__link">
<span class="md-ellipsis">
pyarrow
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
<span class="md-ellipsis">
manifest
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
<span class="md-ellipsis">
manifest
</span>
</a>
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#pyiceberg.manifest" class="md-nav__link">
<span class="md-ellipsis">
manifest
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pyiceberg.manifest.DataFile" class="md-nav__link">
<span class="md-ellipsis">
DataFile
</span>
</a>
<nav class="md-nav" aria-label="DataFile">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#pyiceberg.manifest.DataFile.__eq__" class="md-nav__link">
<span class="md-ellipsis">
__eq__
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pyiceberg.manifest.DataFile.__hash__" class="md-nav__link">
<span class="md-ellipsis">
__hash__
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pyiceberg.manifest.DataFile.__setattr__" class="md-nav__link">
<span class="md-ellipsis">
__setattr__
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#pyiceberg.manifest.DataFileContent" class="md-nav__link">
<span class="md-ellipsis">
DataFileContent
</span>
</a>
<nav class="md-nav" aria-label="DataFileContent">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#pyiceberg.manifest.DataFileContent.__repr__" class="md-nav__link">
<span class="md-ellipsis">
__repr__
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#pyiceberg.manifest.FileFormat" class="md-nav__link">
<span class="md-ellipsis">
FileFormat
</span>
</a>
<nav class="md-nav" aria-label="FileFormat">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#pyiceberg.manifest.FileFormat.__repr__" class="md-nav__link">
<span class="md-ellipsis">
__repr__
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#pyiceberg.manifest.ManifestContent" class="md-nav__link">
<span class="md-ellipsis">
ManifestContent
</span>
</a>
<nav class="md-nav" aria-label="ManifestContent">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#pyiceberg.manifest.ManifestContent.__repr__" class="md-nav__link">
<span class="md-ellipsis">
__repr__
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#pyiceberg.manifest.ManifestEntryStatus" class="md-nav__link">
<span class="md-ellipsis">
ManifestEntryStatus
</span>
</a>
<nav class="md-nav" aria-label="ManifestEntryStatus">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#pyiceberg.manifest.ManifestEntryStatus.__repr__" class="md-nav__link">
<span class="md-ellipsis">
__repr__
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#pyiceberg.manifest.ManifestFile" class="md-nav__link">
<span class="md-ellipsis">
ManifestFile
</span>
</a>
<nav class="md-nav" aria-label="ManifestFile">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#pyiceberg.manifest.ManifestFile.__eq__" class="md-nav__link">
<span class="md-ellipsis">
__eq__
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pyiceberg.manifest.ManifestFile.__hash__" class="md-nav__link">
<span class="md-ellipsis">
__hash__
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pyiceberg.manifest.ManifestFile.fetch_manifest_entry" class="md-nav__link">
<span class="md-ellipsis">
fetch_manifest_entry
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#pyiceberg.manifest.ManifestListWriter" class="md-nav__link">
<span class="md-ellipsis">
ManifestListWriter
</span>
</a>
<nav class="md-nav" aria-label="ManifestListWriter">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#pyiceberg.manifest.ManifestListWriter.__enter__" class="md-nav__link">
<span class="md-ellipsis">
__enter__
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pyiceberg.manifest.ManifestListWriter.__exit__" class="md-nav__link">
<span class="md-ellipsis">
__exit__
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#pyiceberg.manifest.ManifestWriter" class="md-nav__link">
<span class="md-ellipsis">
ManifestWriter
</span>
</a>
<nav class="md-nav" aria-label="ManifestWriter">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#pyiceberg.manifest.ManifestWriter.__enter__" class="md-nav__link">
<span class="md-ellipsis">
__enter__
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pyiceberg.manifest.ManifestWriter.__exit__" class="md-nav__link">
<span class="md-ellipsis">
__exit__
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pyiceberg.manifest.ManifestWriter.to_manifest_file" class="md-nav__link">
<span class="md-ellipsis">
to_manifest_file
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#pyiceberg.manifest.read_manifest_list" class="md-nav__link">
<span class="md-ellipsis">
read_manifest_list
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../partitioning/" class="md-nav__link">
<span class="md-ellipsis">
partitioning
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../schema/" class="md-nav__link">
<span class="md-ellipsis">
schema
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../serializers/" class="md-nav__link">
<span class="md-ellipsis">
serializers
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8_1_12" >
<div class="md-nav__link md-nav__container">
<a href="../table/" class="md-nav__link ">
<span class="md-ellipsis">
table
</span>
</a>
<label class="md-nav__link " for="__nav_8_1_12" id="__nav_8_1_12_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_8_1_12_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_8_1_12">
<span class="md-nav__icon md-icon"></span>
table
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../table/inspect/" class="md-nav__link">
<span class="md-ellipsis">
inspect
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../table/locations/" class="md-nav__link">
<span class="md-ellipsis">
locations
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../table/maintenance/" class="md-nav__link">
<span class="md-ellipsis">
maintenance
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../table/metadata/" class="md-nav__link">
<span class="md-ellipsis">
metadata
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../table/name_mapping/" class="md-nav__link">
<span class="md-ellipsis">
name_mapping
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../table/puffin/" class="md-nav__link">
<span class="md-ellipsis">
puffin
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../table/refs/" class="md-nav__link">
<span class="md-ellipsis">
refs
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../table/snapshots/" class="md-nav__link">
<span class="md-ellipsis">
snapshots
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../table/sorting/" class="md-nav__link">
<span class="md-ellipsis">
sorting
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../table/statistics/" class="md-nav__link">
<span class="md-ellipsis">
statistics
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8_1_12_11" >
<div class="md-nav__link md-nav__container">
<a href="../table/update/" class="md-nav__link ">
<span class="md-ellipsis">
update
</span>
</a>
<label class="md-nav__link " for="__nav_8_1_12_11" id="__nav_8_1_12_11_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="4" aria-labelledby="__nav_8_1_12_11_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_8_1_12_11">
<span class="md-nav__icon md-icon"></span>
update
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../table/update/schema/" class="md-nav__link">
<span class="md-ellipsis">
schema
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../table/update/snapshot/" class="md-nav__link">
<span class="md-ellipsis">
snapshot
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../table/update/sorting/" class="md-nav__link">
<span class="md-ellipsis">
sorting
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../table/update/spec/" class="md-nav__link">
<span class="md-ellipsis">
spec
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../table/update/statistics/" class="md-nav__link">
<span class="md-ellipsis">
statistics
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../table/update/validate/" class="md-nav__link">
<span class="md-ellipsis">
validate
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../table/upsert_util/" class="md-nav__link">
<span class="md-ellipsis">
upsert_util
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../transforms/" class="md-nav__link">
<span class="md-ellipsis">
transforms
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../typedef/" class="md-nav__link">
<span class="md-ellipsis">
typedef
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../types/" class="md-nav__link">
<span class="md-ellipsis">
types
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8_1_16" >
<div class="md-nav__link md-nav__container">
<a href="../utils/" class="md-nav__link ">
<span class="md-ellipsis">
utils
</span>
</a>
<label class="md-nav__link " for="__nav_8_1_16" id="__nav_8_1_16_label" tabindex="0">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_8_1_16_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_8_1_16">
<span class="md-nav__icon md-icon"></span>
utils
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../utils/bin_packing/" class="md-nav__link">
<span class="md-ellipsis">
bin_packing
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../utils/concurrent/" class="md-nav__link">
<span class="md-ellipsis">
concurrent
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../utils/config/" class="md-nav__link">
<span class="md-ellipsis">
config
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../utils/datetime/" class="md-nav__link">
<span class="md-ellipsis">
datetime
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../utils/decimal/" class="md-nav__link">
<span class="md-ellipsis">
decimal
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../utils/deprecated/" class="md-nav__link">
<span class="md-ellipsis">
deprecated
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../utils/lazydict/" class="md-nav__link">
<span class="md-ellipsis">
lazydict
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../utils/parsing/" class="md-nav__link">
<span class="md-ellipsis">
parsing
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../utils/properties/" class="md-nav__link">
<span class="md-ellipsis">
properties
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../utils/schema_conversion/" class="md-nav__link">
<span class="md-ellipsis">
schema_conversion
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../utils/singleton/" class="md-nav__link">
<span class="md-ellipsis">
singleton
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../utils/truncate/" class="md-nav__link">
<span class="md-ellipsis">
truncate
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#pyiceberg.manifest" class="md-nav__link">
<span class="md-ellipsis">
manifest
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pyiceberg.manifest.DataFile" class="md-nav__link">
<span class="md-ellipsis">
DataFile
</span>
</a>
<nav class="md-nav" aria-label="DataFile">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#pyiceberg.manifest.DataFile.__eq__" class="md-nav__link">
<span class="md-ellipsis">
__eq__
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pyiceberg.manifest.DataFile.__hash__" class="md-nav__link">
<span class="md-ellipsis">
__hash__
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pyiceberg.manifest.DataFile.__setattr__" class="md-nav__link">
<span class="md-ellipsis">
__setattr__
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#pyiceberg.manifest.DataFileContent" class="md-nav__link">
<span class="md-ellipsis">
DataFileContent
</span>
</a>
<nav class="md-nav" aria-label="DataFileContent">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#pyiceberg.manifest.DataFileContent.__repr__" class="md-nav__link">
<span class="md-ellipsis">
__repr__
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#pyiceberg.manifest.FileFormat" class="md-nav__link">
<span class="md-ellipsis">
FileFormat
</span>
</a>
<nav class="md-nav" aria-label="FileFormat">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#pyiceberg.manifest.FileFormat.__repr__" class="md-nav__link">
<span class="md-ellipsis">
__repr__
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#pyiceberg.manifest.ManifestContent" class="md-nav__link">
<span class="md-ellipsis">
ManifestContent
</span>
</a>
<nav class="md-nav" aria-label="ManifestContent">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#pyiceberg.manifest.ManifestContent.__repr__" class="md-nav__link">
<span class="md-ellipsis">
__repr__
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#pyiceberg.manifest.ManifestEntryStatus" class="md-nav__link">
<span class="md-ellipsis">
ManifestEntryStatus
</span>
</a>
<nav class="md-nav" aria-label="ManifestEntryStatus">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#pyiceberg.manifest.ManifestEntryStatus.__repr__" class="md-nav__link">
<span class="md-ellipsis">
__repr__
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#pyiceberg.manifest.ManifestFile" class="md-nav__link">
<span class="md-ellipsis">
ManifestFile
</span>
</a>
<nav class="md-nav" aria-label="ManifestFile">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#pyiceberg.manifest.ManifestFile.__eq__" class="md-nav__link">
<span class="md-ellipsis">
__eq__
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pyiceberg.manifest.ManifestFile.__hash__" class="md-nav__link">
<span class="md-ellipsis">
__hash__
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pyiceberg.manifest.ManifestFile.fetch_manifest_entry" class="md-nav__link">
<span class="md-ellipsis">
fetch_manifest_entry
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#pyiceberg.manifest.ManifestListWriter" class="md-nav__link">
<span class="md-ellipsis">
ManifestListWriter
</span>
</a>
<nav class="md-nav" aria-label="ManifestListWriter">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#pyiceberg.manifest.ManifestListWriter.__enter__" class="md-nav__link">
<span class="md-ellipsis">
__enter__
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pyiceberg.manifest.ManifestListWriter.__exit__" class="md-nav__link">
<span class="md-ellipsis">
__exit__
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#pyiceberg.manifest.ManifestWriter" class="md-nav__link">
<span class="md-ellipsis">
ManifestWriter
</span>
</a>
<nav class="md-nav" aria-label="ManifestWriter">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#pyiceberg.manifest.ManifestWriter.__enter__" class="md-nav__link">
<span class="md-ellipsis">
__enter__
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pyiceberg.manifest.ManifestWriter.__exit__" class="md-nav__link">
<span class="md-ellipsis">
__exit__
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#pyiceberg.manifest.ManifestWriter.to_manifest_file" class="md-nav__link">
<span class="md-ellipsis">
to_manifest_file
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#pyiceberg.manifest.read_manifest_list" class="md-nav__link">
<span class="md-ellipsis">
read_manifest_list
</span>
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<h1>manifest</h1>
<div class="doc doc-object doc-module">
<a id="pyiceberg.manifest"></a>
<div class="doc doc-contents first">
<div class="doc doc-children">
<div class="doc doc-object doc-class">
<h2 id="pyiceberg.manifest.DataFile" class="doc doc-heading">
<code>DataFile</code>
<a href="#pyiceberg.manifest.DataFile" class="headerlink" title="Permanent link">&para;</a></h2>
<div class="doc doc-contents ">
<p class="doc doc-class-bases">
Bases: <code><a class="autorefs autorefs-internal" title="Record (pyiceberg.typedef.Record)" href="../typedef/#pyiceberg.typedef.Record">Record</a></code></p>
<details class="quote">
<summary>Source code in <code>pyiceberg/manifest.py</code></summary>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-449">449</a></span>
<span class="normal"><a href="#__codelineno-0-450">450</a></span>
<span class="normal"><a href="#__codelineno-0-451">451</a></span>
<span class="normal"><a href="#__codelineno-0-452">452</a></span>
<span class="normal"><a href="#__codelineno-0-453">453</a></span>
<span class="normal"><a href="#__codelineno-0-454">454</a></span>
<span class="normal"><a href="#__codelineno-0-455">455</a></span>
<span class="normal"><a href="#__codelineno-0-456">456</a></span>
<span class="normal"><a href="#__codelineno-0-457">457</a></span>
<span class="normal"><a href="#__codelineno-0-458">458</a></span>
<span class="normal"><a href="#__codelineno-0-459">459</a></span>
<span class="normal"><a href="#__codelineno-0-460">460</a></span>
<span class="normal"><a href="#__codelineno-0-461">461</a></span>
<span class="normal"><a href="#__codelineno-0-462">462</a></span>
<span class="normal"><a href="#__codelineno-0-463">463</a></span>
<span class="normal"><a href="#__codelineno-0-464">464</a></span>
<span class="normal"><a href="#__codelineno-0-465">465</a></span>
<span class="normal"><a href="#__codelineno-0-466">466</a></span>
<span class="normal"><a href="#__codelineno-0-467">467</a></span>
<span class="normal"><a href="#__codelineno-0-468">468</a></span>
<span class="normal"><a href="#__codelineno-0-469">469</a></span>
<span class="normal"><a href="#__codelineno-0-470">470</a></span>
<span class="normal"><a href="#__codelineno-0-471">471</a></span>
<span class="normal"><a href="#__codelineno-0-472">472</a></span>
<span class="normal"><a href="#__codelineno-0-473">473</a></span>
<span class="normal"><a href="#__codelineno-0-474">474</a></span>
<span class="normal"><a href="#__codelineno-0-475">475</a></span>
<span class="normal"><a href="#__codelineno-0-476">476</a></span>
<span class="normal"><a href="#__codelineno-0-477">477</a></span>
<span class="normal"><a href="#__codelineno-0-478">478</a></span>
<span class="normal"><a href="#__codelineno-0-479">479</a></span>
<span class="normal"><a href="#__codelineno-0-480">480</a></span>
<span class="normal"><a href="#__codelineno-0-481">481</a></span>
<span class="normal"><a href="#__codelineno-0-482">482</a></span>
<span class="normal"><a href="#__codelineno-0-483">483</a></span>
<span class="normal"><a href="#__codelineno-0-484">484</a></span>
<span class="normal"><a href="#__codelineno-0-485">485</a></span>
<span class="normal"><a href="#__codelineno-0-486">486</a></span>
<span class="normal"><a href="#__codelineno-0-487">487</a></span>
<span class="normal"><a href="#__codelineno-0-488">488</a></span>
<span class="normal"><a href="#__codelineno-0-489">489</a></span>
<span class="normal"><a href="#__codelineno-0-490">490</a></span>
<span class="normal"><a href="#__codelineno-0-491">491</a></span>
<span class="normal"><a href="#__codelineno-0-492">492</a></span>
<span class="normal"><a href="#__codelineno-0-493">493</a></span>
<span class="normal"><a href="#__codelineno-0-494">494</a></span>
<span class="normal"><a href="#__codelineno-0-495">495</a></span>
<span class="normal"><a href="#__codelineno-0-496">496</a></span>
<span class="normal"><a href="#__codelineno-0-497">497</a></span>
<span class="normal"><a href="#__codelineno-0-498">498</a></span>
<span class="normal"><a href="#__codelineno-0-499">499</a></span>
<span class="normal"><a href="#__codelineno-0-500">500</a></span>
<span class="normal"><a href="#__codelineno-0-501">501</a></span>
<span class="normal"><a href="#__codelineno-0-502">502</a></span>
<span class="normal"><a href="#__codelineno-0-503">503</a></span>
<span class="normal"><a href="#__codelineno-0-504">504</a></span>
<span class="normal"><a href="#__codelineno-0-505">505</a></span>
<span class="normal"><a href="#__codelineno-0-506">506</a></span>
<span class="normal"><a href="#__codelineno-0-507">507</a></span>
<span class="normal"><a href="#__codelineno-0-508">508</a></span>
<span class="normal"><a href="#__codelineno-0-509">509</a></span>
<span class="normal"><a href="#__codelineno-0-510">510</a></span>
<span class="normal"><a href="#__codelineno-0-511">511</a></span>
<span class="normal"><a href="#__codelineno-0-512">512</a></span>
<span class="normal"><a href="#__codelineno-0-513">513</a></span>
<span class="normal"><a href="#__codelineno-0-514">514</a></span>
<span class="normal"><a href="#__codelineno-0-515">515</a></span>
<span class="normal"><a href="#__codelineno-0-516">516</a></span>
<span class="normal"><a href="#__codelineno-0-517">517</a></span>
<span class="normal"><a href="#__codelineno-0-518">518</a></span>
<span class="normal"><a href="#__codelineno-0-519">519</a></span>
<span class="normal"><a href="#__codelineno-0-520">520</a></span>
<span class="normal"><a href="#__codelineno-0-521">521</a></span>
<span class="normal"><a href="#__codelineno-0-522">522</a></span>
<span class="normal"><a href="#__codelineno-0-523">523</a></span>
<span class="normal"><a href="#__codelineno-0-524">524</a></span>
<span class="normal"><a href="#__codelineno-0-525">525</a></span>
<span class="normal"><a href="#__codelineno-0-526">526</a></span>
<span class="normal"><a href="#__codelineno-0-527">527</a></span>
<span class="normal"><a href="#__codelineno-0-528">528</a></span>
<span class="normal"><a href="#__codelineno-0-529">529</a></span>
<span class="normal"><a href="#__codelineno-0-530">530</a></span>
<span class="normal"><a href="#__codelineno-0-531">531</a></span>
<span class="normal"><a href="#__codelineno-0-532">532</a></span>
<span class="normal"><a href="#__codelineno-0-533">533</a></span>
<span class="normal"><a href="#__codelineno-0-534">534</a></span>
<span class="normal"><a href="#__codelineno-0-535">535</a></span>
<span class="normal"><a href="#__codelineno-0-536">536</a></span>
<span class="normal"><a href="#__codelineno-0-537">537</a></span>
<span class="normal"><a href="#__codelineno-0-538">538</a></span>
<span class="normal"><a href="#__codelineno-0-539">539</a></span>
<span class="normal"><a href="#__codelineno-0-540">540</a></span>
<span class="normal"><a href="#__codelineno-0-541">541</a></span>
<span class="normal"><a href="#__codelineno-0-542">542</a></span>
<span class="normal"><a href="#__codelineno-0-543">543</a></span>
<span class="normal"><a href="#__codelineno-0-544">544</a></span>
<span class="normal"><a href="#__codelineno-0-545">545</a></span>
<span class="normal"><a href="#__codelineno-0-546">546</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-449" name="__codelineno-0-449"></a><span class="k">class</span><span class="w"> </span><span class="nc">DataFile</span><span class="p">(</span><span class="n">Record</span><span class="p">):</span>
<a id="__codelineno-0-450" name="__codelineno-0-450"></a> <span class="nd">@classmethod</span>
<a id="__codelineno-0-451" name="__codelineno-0-451"></a> <span class="k">def</span><span class="w"> </span><span class="nf">from_args</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">_table_format_version</span><span class="p">:</span> <span class="n">TableVersion</span> <span class="o">=</span> <span class="n">DEFAULT_READ_VERSION</span><span class="p">,</span> <span class="o">**</span><span class="n">arguments</span><span class="p">:</span> <span class="n">Any</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">DataFile</span><span class="p">:</span>
<a id="__codelineno-0-452" name="__codelineno-0-452"></a> <span class="n">struct</span> <span class="o">=</span> <span class="n">DATA_FILE_TYPE</span><span class="p">[</span><span class="n">_table_format_version</span><span class="p">]</span>
<a id="__codelineno-0-453" name="__codelineno-0-453"></a> <span class="k">return</span> <span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="n">_bind</span><span class="p">(</span><span class="n">struct</span><span class="p">,</span> <span class="o">**</span><span class="n">arguments</span><span class="p">)</span>
<a id="__codelineno-0-454" name="__codelineno-0-454"></a>
<a id="__codelineno-0-455" name="__codelineno-0-455"></a> <span class="nd">@property</span>
<a id="__codelineno-0-456" name="__codelineno-0-456"></a> <span class="k">def</span><span class="w"> </span><span class="nf">content</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">DataFileContent</span><span class="p">:</span>
<a id="__codelineno-0-457" name="__codelineno-0-457"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
<a id="__codelineno-0-458" name="__codelineno-0-458"></a>
<a id="__codelineno-0-459" name="__codelineno-0-459"></a> <span class="nd">@property</span>
<a id="__codelineno-0-460" name="__codelineno-0-460"></a> <span class="k">def</span><span class="w"> </span><span class="nf">file_path</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
<a id="__codelineno-0-461" name="__codelineno-0-461"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
<a id="__codelineno-0-462" name="__codelineno-0-462"></a>
<a id="__codelineno-0-463" name="__codelineno-0-463"></a> <span class="nd">@property</span>
<a id="__codelineno-0-464" name="__codelineno-0-464"></a> <span class="k">def</span><span class="w"> </span><span class="nf">file_format</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">FileFormat</span><span class="p">:</span>
<a id="__codelineno-0-465" name="__codelineno-0-465"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span>
<a id="__codelineno-0-466" name="__codelineno-0-466"></a>
<a id="__codelineno-0-467" name="__codelineno-0-467"></a> <span class="nd">@property</span>
<a id="__codelineno-0-468" name="__codelineno-0-468"></a> <span class="k">def</span><span class="w"> </span><span class="nf">partition</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Record</span><span class="p">:</span>
<a id="__codelineno-0-469" name="__codelineno-0-469"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span>
<a id="__codelineno-0-470" name="__codelineno-0-470"></a>
<a id="__codelineno-0-471" name="__codelineno-0-471"></a> <span class="nd">@property</span>
<a id="__codelineno-0-472" name="__codelineno-0-472"></a> <span class="k">def</span><span class="w"> </span><span class="nf">record_count</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span>
<a id="__codelineno-0-473" name="__codelineno-0-473"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span>
<a id="__codelineno-0-474" name="__codelineno-0-474"></a>
<a id="__codelineno-0-475" name="__codelineno-0-475"></a> <span class="nd">@property</span>
<a id="__codelineno-0-476" name="__codelineno-0-476"></a> <span class="k">def</span><span class="w"> </span><span class="nf">file_size_in_bytes</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span>
<a id="__codelineno-0-477" name="__codelineno-0-477"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="mi">5</span><span class="p">]</span>
<a id="__codelineno-0-478" name="__codelineno-0-478"></a>
<a id="__codelineno-0-479" name="__codelineno-0-479"></a> <span class="nd">@property</span>
<a id="__codelineno-0-480" name="__codelineno-0-480"></a> <span class="k">def</span><span class="w"> </span><span class="nf">column_sizes</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Dict</span><span class="p">[</span><span class="nb">int</span><span class="p">,</span> <span class="nb">int</span><span class="p">]:</span>
<a id="__codelineno-0-481" name="__codelineno-0-481"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="mi">6</span><span class="p">]</span>
<a id="__codelineno-0-482" name="__codelineno-0-482"></a>
<a id="__codelineno-0-483" name="__codelineno-0-483"></a> <span class="nd">@property</span>
<a id="__codelineno-0-484" name="__codelineno-0-484"></a> <span class="k">def</span><span class="w"> </span><span class="nf">value_counts</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Dict</span><span class="p">[</span><span class="nb">int</span><span class="p">,</span> <span class="nb">int</span><span class="p">]:</span>
<a id="__codelineno-0-485" name="__codelineno-0-485"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="mi">7</span><span class="p">]</span>
<a id="__codelineno-0-486" name="__codelineno-0-486"></a>
<a id="__codelineno-0-487" name="__codelineno-0-487"></a> <span class="nd">@property</span>
<a id="__codelineno-0-488" name="__codelineno-0-488"></a> <span class="k">def</span><span class="w"> </span><span class="nf">null_value_counts</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Dict</span><span class="p">[</span><span class="nb">int</span><span class="p">,</span> <span class="nb">int</span><span class="p">]:</span>
<a id="__codelineno-0-489" name="__codelineno-0-489"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="mi">8</span><span class="p">]</span>
<a id="__codelineno-0-490" name="__codelineno-0-490"></a>
<a id="__codelineno-0-491" name="__codelineno-0-491"></a> <span class="nd">@property</span>
<a id="__codelineno-0-492" name="__codelineno-0-492"></a> <span class="k">def</span><span class="w"> </span><span class="nf">nan_value_counts</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Dict</span><span class="p">[</span><span class="nb">int</span><span class="p">,</span> <span class="nb">int</span><span class="p">]:</span>
<a id="__codelineno-0-493" name="__codelineno-0-493"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="mi">9</span><span class="p">]</span>
<a id="__codelineno-0-494" name="__codelineno-0-494"></a>
<a id="__codelineno-0-495" name="__codelineno-0-495"></a> <span class="nd">@property</span>
<a id="__codelineno-0-496" name="__codelineno-0-496"></a> <span class="k">def</span><span class="w"> </span><span class="nf">lower_bounds</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Dict</span><span class="p">[</span><span class="nb">int</span><span class="p">,</span> <span class="nb">bytes</span><span class="p">]:</span>
<a id="__codelineno-0-497" name="__codelineno-0-497"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="mi">10</span><span class="p">]</span>
<a id="__codelineno-0-498" name="__codelineno-0-498"></a>
<a id="__codelineno-0-499" name="__codelineno-0-499"></a> <span class="nd">@property</span>
<a id="__codelineno-0-500" name="__codelineno-0-500"></a> <span class="k">def</span><span class="w"> </span><span class="nf">upper_bounds</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Dict</span><span class="p">[</span><span class="nb">int</span><span class="p">,</span> <span class="nb">bytes</span><span class="p">]:</span>
<a id="__codelineno-0-501" name="__codelineno-0-501"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="mi">11</span><span class="p">]</span>
<a id="__codelineno-0-502" name="__codelineno-0-502"></a>
<a id="__codelineno-0-503" name="__codelineno-0-503"></a> <span class="nd">@property</span>
<a id="__codelineno-0-504" name="__codelineno-0-504"></a> <span class="k">def</span><span class="w"> </span><span class="nf">key_metadata</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">bytes</span><span class="p">]:</span>
<a id="__codelineno-0-505" name="__codelineno-0-505"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="mi">12</span><span class="p">]</span>
<a id="__codelineno-0-506" name="__codelineno-0-506"></a>
<a id="__codelineno-0-507" name="__codelineno-0-507"></a> <span class="nd">@property</span>
<a id="__codelineno-0-508" name="__codelineno-0-508"></a> <span class="k">def</span><span class="w"> </span><span class="nf">split_offsets</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Optional</span><span class="p">[</span><span class="n">List</span><span class="p">[</span><span class="nb">int</span><span class="p">]]:</span>
<a id="__codelineno-0-509" name="__codelineno-0-509"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="mi">13</span><span class="p">]</span>
<a id="__codelineno-0-510" name="__codelineno-0-510"></a>
<a id="__codelineno-0-511" name="__codelineno-0-511"></a> <span class="nd">@property</span>
<a id="__codelineno-0-512" name="__codelineno-0-512"></a> <span class="k">def</span><span class="w"> </span><span class="nf">equality_ids</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Optional</span><span class="p">[</span><span class="n">List</span><span class="p">[</span><span class="nb">int</span><span class="p">]]:</span>
<a id="__codelineno-0-513" name="__codelineno-0-513"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="mi">14</span><span class="p">]</span>
<a id="__codelineno-0-514" name="__codelineno-0-514"></a>
<a id="__codelineno-0-515" name="__codelineno-0-515"></a> <span class="nd">@property</span>
<a id="__codelineno-0-516" name="__codelineno-0-516"></a> <span class="k">def</span><span class="w"> </span><span class="nf">sort_order_id</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">int</span><span class="p">]:</span>
<a id="__codelineno-0-517" name="__codelineno-0-517"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="mi">15</span><span class="p">]</span>
<a id="__codelineno-0-518" name="__codelineno-0-518"></a>
<a id="__codelineno-0-519" name="__codelineno-0-519"></a> <span class="c1"># Spec ID should not be stored in the file</span>
<a id="__codelineno-0-520" name="__codelineno-0-520"></a> <span class="n">_spec_id</span><span class="p">:</span> <span class="nb">int</span>
<a id="__codelineno-0-521" name="__codelineno-0-521"></a>
<a id="__codelineno-0-522" name="__codelineno-0-522"></a> <span class="nd">@property</span>
<a id="__codelineno-0-523" name="__codelineno-0-523"></a> <span class="k">def</span><span class="w"> </span><span class="nf">spec_id</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span>
<a id="__codelineno-0-524" name="__codelineno-0-524"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_spec_id</span>
<a id="__codelineno-0-525" name="__codelineno-0-525"></a>
<a id="__codelineno-0-526" name="__codelineno-0-526"></a> <span class="nd">@spec_id</span><span class="o">.</span><span class="n">setter</span>
<a id="__codelineno-0-527" name="__codelineno-0-527"></a> <span class="k">def</span><span class="w"> </span><span class="nf">spec_id</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">:</span> <span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
<a id="__codelineno-0-528" name="__codelineno-0-528"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_spec_id</span> <span class="o">=</span> <span class="n">value</span>
<a id="__codelineno-0-529" name="__codelineno-0-529"></a>
<a id="__codelineno-0-530" name="__codelineno-0-530"></a> <span class="k">def</span><span class="w"> </span><span class="fm">__setattr__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">value</span><span class="p">:</span> <span class="n">Any</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
<a id="__codelineno-0-531" name="__codelineno-0-531"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Assign a key/value to a DataFile.&quot;&quot;&quot;</span>
<a id="__codelineno-0-532" name="__codelineno-0-532"></a> <span class="c1"># The file_format is written as a string, so we need to cast it to the Enum</span>
<a id="__codelineno-0-533" name="__codelineno-0-533"></a> <span class="k">if</span> <span class="n">name</span> <span class="o">==</span> <span class="s2">&quot;file_format&quot;</span><span class="p">:</span>
<a id="__codelineno-0-534" name="__codelineno-0-534"></a> <span class="n">value</span> <span class="o">=</span> <span class="n">FileFormat</span><span class="p">[</span><span class="n">value</span><span class="p">]</span>
<a id="__codelineno-0-535" name="__codelineno-0-535"></a> <span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="fm">__setattr__</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span>
<a id="__codelineno-0-536" name="__codelineno-0-536"></a>
<a id="__codelineno-0-537" name="__codelineno-0-537"></a> <span class="k">def</span><span class="w"> </span><span class="fm">__hash__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span>
<a id="__codelineno-0-538" name="__codelineno-0-538"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Return the hash of the file path.&quot;&quot;&quot;</span>
<a id="__codelineno-0-539" name="__codelineno-0-539"></a> <span class="k">return</span> <span class="nb">hash</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">file_path</span><span class="p">)</span>
<a id="__codelineno-0-540" name="__codelineno-0-540"></a>
<a id="__codelineno-0-541" name="__codelineno-0-541"></a> <span class="k">def</span><span class="w"> </span><span class="fm">__eq__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">:</span> <span class="n">Any</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
<a id="__codelineno-0-542" name="__codelineno-0-542"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Compare the datafile with another object.</span>
<a id="__codelineno-0-543" name="__codelineno-0-543"></a>
<a id="__codelineno-0-544" name="__codelineno-0-544"></a><span class="sd"> If it is a datafile, it will compare based on the file_path.</span>
<a id="__codelineno-0-545" name="__codelineno-0-545"></a><span class="sd"> &quot;&quot;&quot;</span>
<a id="__codelineno-0-546" name="__codelineno-0-546"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">file_path</span> <span class="o">==</span> <span class="n">other</span><span class="o">.</span><span class="n">file_path</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">other</span><span class="p">,</span> <span class="n">DataFile</span><span class="p">)</span> <span class="k">else</span> <span class="kc">False</span>
</code></pre></div></td></tr></table></div>
</details>
<div class="doc doc-children">
<div class="doc doc-object doc-function">
<h3 id="pyiceberg.manifest.DataFile.__eq__" class="doc doc-heading">
<code class="highlight language-python"><span class="fm">__eq__</span><span class="p">(</span><span class="n">other</span><span class="p">)</span></code>
<a href="#pyiceberg.manifest.DataFile.__eq__" class="headerlink" title="Permanent link">&para;</a></h3>
<div class="doc doc-contents ">
<p>Compare the datafile with another object.</p>
<p>If it is a datafile, it will compare based on the file_path.</p>
<details class="quote">
<summary>Source code in <code>pyiceberg/manifest.py</code></summary>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-541">541</a></span>
<span class="normal"><a href="#__codelineno-0-542">542</a></span>
<span class="normal"><a href="#__codelineno-0-543">543</a></span>
<span class="normal"><a href="#__codelineno-0-544">544</a></span>
<span class="normal"><a href="#__codelineno-0-545">545</a></span>
<span class="normal"><a href="#__codelineno-0-546">546</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-541" name="__codelineno-0-541"></a><span class="k">def</span><span class="w"> </span><span class="fm">__eq__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">:</span> <span class="n">Any</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
<a id="__codelineno-0-542" name="__codelineno-0-542"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Compare the datafile with another object.</span>
<a id="__codelineno-0-543" name="__codelineno-0-543"></a>
<a id="__codelineno-0-544" name="__codelineno-0-544"></a><span class="sd"> If it is a datafile, it will compare based on the file_path.</span>
<a id="__codelineno-0-545" name="__codelineno-0-545"></a><span class="sd"> &quot;&quot;&quot;</span>
<a id="__codelineno-0-546" name="__codelineno-0-546"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">file_path</span> <span class="o">==</span> <span class="n">other</span><span class="o">.</span><span class="n">file_path</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">other</span><span class="p">,</span> <span class="n">DataFile</span><span class="p">)</span> <span class="k">else</span> <span class="kc">False</span>
</code></pre></div></td></tr></table></div>
</details>
</div>
</div>
<div class="doc doc-object doc-function">
<h3 id="pyiceberg.manifest.DataFile.__hash__" class="doc doc-heading">
<code class="highlight language-python"><span class="fm">__hash__</span><span class="p">()</span></code>
<a href="#pyiceberg.manifest.DataFile.__hash__" class="headerlink" title="Permanent link">&para;</a></h3>
<div class="doc doc-contents ">
<p>Return the hash of the file path.</p>
<details class="quote">
<summary>Source code in <code>pyiceberg/manifest.py</code></summary>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-537">537</a></span>
<span class="normal"><a href="#__codelineno-0-538">538</a></span>
<span class="normal"><a href="#__codelineno-0-539">539</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-537" name="__codelineno-0-537"></a><span class="k">def</span><span class="w"> </span><span class="fm">__hash__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span>
<a id="__codelineno-0-538" name="__codelineno-0-538"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Return the hash of the file path.&quot;&quot;&quot;</span>
<a id="__codelineno-0-539" name="__codelineno-0-539"></a> <span class="k">return</span> <span class="nb">hash</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">file_path</span><span class="p">)</span>
</code></pre></div></td></tr></table></div>
</details>
</div>
</div>
<div class="doc doc-object doc-function">
<h3 id="pyiceberg.manifest.DataFile.__setattr__" class="doc doc-heading">
<code class="highlight language-python"><span class="fm">__setattr__</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span></code>
<a href="#pyiceberg.manifest.DataFile.__setattr__" class="headerlink" title="Permanent link">&para;</a></h3>
<div class="doc doc-contents ">
<p>Assign a key/value to a DataFile.</p>
<details class="quote">
<summary>Source code in <code>pyiceberg/manifest.py</code></summary>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-530">530</a></span>
<span class="normal"><a href="#__codelineno-0-531">531</a></span>
<span class="normal"><a href="#__codelineno-0-532">532</a></span>
<span class="normal"><a href="#__codelineno-0-533">533</a></span>
<span class="normal"><a href="#__codelineno-0-534">534</a></span>
<span class="normal"><a href="#__codelineno-0-535">535</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-530" name="__codelineno-0-530"></a><span class="k">def</span><span class="w"> </span><span class="fm">__setattr__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">name</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">value</span><span class="p">:</span> <span class="n">Any</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
<a id="__codelineno-0-531" name="__codelineno-0-531"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Assign a key/value to a DataFile.&quot;&quot;&quot;</span>
<a id="__codelineno-0-532" name="__codelineno-0-532"></a> <span class="c1"># The file_format is written as a string, so we need to cast it to the Enum</span>
<a id="__codelineno-0-533" name="__codelineno-0-533"></a> <span class="k">if</span> <span class="n">name</span> <span class="o">==</span> <span class="s2">&quot;file_format&quot;</span><span class="p">:</span>
<a id="__codelineno-0-534" name="__codelineno-0-534"></a> <span class="n">value</span> <span class="o">=</span> <span class="n">FileFormat</span><span class="p">[</span><span class="n">value</span><span class="p">]</span>
<a id="__codelineno-0-535" name="__codelineno-0-535"></a> <span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="fm">__setattr__</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span>
</code></pre></div></td></tr></table></div>
</details>
</div>
</div>
</div>
</div>
</div>
<div class="doc doc-object doc-class">
<h2 id="pyiceberg.manifest.DataFileContent" class="doc doc-heading">
<code>DataFileContent</code>
<a href="#pyiceberg.manifest.DataFileContent" class="headerlink" title="Permanent link">&para;</a></h2>
<div class="doc doc-contents ">
<p class="doc doc-class-bases">
Bases: <code><span title="int">int</span></code>, <code><span title="enum.Enum">Enum</span></code></p>
<details class="quote">
<summary>Source code in <code>pyiceberg/manifest.py</code></summary>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-69">69</a></span>
<span class="normal"><a href="#__codelineno-0-70">70</a></span>
<span class="normal"><a href="#__codelineno-0-71">71</a></span>
<span class="normal"><a href="#__codelineno-0-72">72</a></span>
<span class="normal"><a href="#__codelineno-0-73">73</a></span>
<span class="normal"><a href="#__codelineno-0-74">74</a></span>
<span class="normal"><a href="#__codelineno-0-75">75</a></span>
<span class="normal"><a href="#__codelineno-0-76">76</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-69" name="__codelineno-0-69"></a><span class="k">class</span><span class="w"> </span><span class="nc">DataFileContent</span><span class="p">(</span><span class="nb">int</span><span class="p">,</span> <span class="n">Enum</span><span class="p">):</span>
<a id="__codelineno-0-70" name="__codelineno-0-70"></a> <span class="n">DATA</span> <span class="o">=</span> <span class="mi">0</span>
<a id="__codelineno-0-71" name="__codelineno-0-71"></a> <span class="n">POSITION_DELETES</span> <span class="o">=</span> <span class="mi">1</span>
<a id="__codelineno-0-72" name="__codelineno-0-72"></a> <span class="n">EQUALITY_DELETES</span> <span class="o">=</span> <span class="mi">2</span>
<a id="__codelineno-0-73" name="__codelineno-0-73"></a>
<a id="__codelineno-0-74" name="__codelineno-0-74"></a> <span class="k">def</span><span class="w"> </span><span class="fm">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
<a id="__codelineno-0-75" name="__codelineno-0-75"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Return the string representation of the DataFileContent class.&quot;&quot;&quot;</span>
<a id="__codelineno-0-76" name="__codelineno-0-76"></a> <span class="k">return</span> <span class="sa">f</span><span class="s2">&quot;DataFileContent.</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">name</span><span class="si">}</span><span class="s2">&quot;</span>
</code></pre></div></td></tr></table></div>
</details>
<div class="doc doc-children">
<div class="doc doc-object doc-function">
<h3 id="pyiceberg.manifest.DataFileContent.__repr__" class="doc doc-heading">
<code class="highlight language-python"><span class="fm">__repr__</span><span class="p">()</span></code>
<a href="#pyiceberg.manifest.DataFileContent.__repr__" class="headerlink" title="Permanent link">&para;</a></h3>
<div class="doc doc-contents ">
<p>Return the string representation of the DataFileContent class.</p>
<details class="quote">
<summary>Source code in <code>pyiceberg/manifest.py</code></summary>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-74">74</a></span>
<span class="normal"><a href="#__codelineno-0-75">75</a></span>
<span class="normal"><a href="#__codelineno-0-76">76</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-74" name="__codelineno-0-74"></a><span class="k">def</span><span class="w"> </span><span class="fm">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
<a id="__codelineno-0-75" name="__codelineno-0-75"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Return the string representation of the DataFileContent class.&quot;&quot;&quot;</span>
<a id="__codelineno-0-76" name="__codelineno-0-76"></a> <span class="k">return</span> <span class="sa">f</span><span class="s2">&quot;DataFileContent.</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">name</span><span class="si">}</span><span class="s2">&quot;</span>
</code></pre></div></td></tr></table></div>
</details>
</div>
</div>
</div>
</div>
</div>
<div class="doc doc-object doc-class">
<h2 id="pyiceberg.manifest.FileFormat" class="doc doc-heading">
<code>FileFormat</code>
<a href="#pyiceberg.manifest.FileFormat" class="headerlink" title="Permanent link">&para;</a></h2>
<div class="doc doc-contents ">
<p class="doc doc-class-bases">
Bases: <code><span title="str">str</span></code>, <code><span title="enum.Enum">Enum</span></code></p>
<details class="quote">
<summary>Source code in <code>pyiceberg/manifest.py</code></summary>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-98"> 98</a></span>
<span class="normal"><a href="#__codelineno-0-99"> 99</a></span>
<span class="normal"><a href="#__codelineno-0-100">100</a></span>
<span class="normal"><a href="#__codelineno-0-101">101</a></span>
<span class="normal"><a href="#__codelineno-0-102">102</a></span>
<span class="normal"><a href="#__codelineno-0-103">103</a></span>
<span class="normal"><a href="#__codelineno-0-104">104</a></span>
<span class="normal"><a href="#__codelineno-0-105">105</a></span>
<span class="normal"><a href="#__codelineno-0-106">106</a></span>
<span class="normal"><a href="#__codelineno-0-107">107</a></span>
<span class="normal"><a href="#__codelineno-0-108">108</a></span>
<span class="normal"><a href="#__codelineno-0-109">109</a></span>
<span class="normal"><a href="#__codelineno-0-110">110</a></span>
<span class="normal"><a href="#__codelineno-0-111">111</a></span>
<span class="normal"><a href="#__codelineno-0-112">112</a></span>
<span class="normal"><a href="#__codelineno-0-113">113</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-98" name="__codelineno-0-98"></a><span class="k">class</span><span class="w"> </span><span class="nc">FileFormat</span><span class="p">(</span><span class="nb">str</span><span class="p">,</span> <span class="n">Enum</span><span class="p">):</span>
<a id="__codelineno-0-99" name="__codelineno-0-99"></a> <span class="n">AVRO</span> <span class="o">=</span> <span class="s2">&quot;AVRO&quot;</span>
<a id="__codelineno-0-100" name="__codelineno-0-100"></a> <span class="n">PARQUET</span> <span class="o">=</span> <span class="s2">&quot;PARQUET&quot;</span>
<a id="__codelineno-0-101" name="__codelineno-0-101"></a> <span class="n">ORC</span> <span class="o">=</span> <span class="s2">&quot;ORC&quot;</span>
<a id="__codelineno-0-102" name="__codelineno-0-102"></a> <span class="n">PUFFIN</span> <span class="o">=</span> <span class="s2">&quot;PUFFIN&quot;</span>
<a id="__codelineno-0-103" name="__codelineno-0-103"></a>
<a id="__codelineno-0-104" name="__codelineno-0-104"></a> <span class="nd">@classmethod</span>
<a id="__codelineno-0-105" name="__codelineno-0-105"></a> <span class="k">def</span><span class="w"> </span><span class="nf">_missing_</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">value</span><span class="p">:</span> <span class="nb">object</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Union</span><span class="p">[</span><span class="kc">None</span><span class="p">,</span> <span class="nb">str</span><span class="p">]:</span>
<a id="__codelineno-0-106" name="__codelineno-0-106"></a> <span class="k">for</span> <span class="n">member</span> <span class="ow">in</span> <span class="bp">cls</span><span class="p">:</span>
<a id="__codelineno-0-107" name="__codelineno-0-107"></a> <span class="k">if</span> <span class="n">member</span><span class="o">.</span><span class="n">value</span> <span class="o">==</span> <span class="nb">str</span><span class="p">(</span><span class="n">value</span><span class="p">)</span><span class="o">.</span><span class="n">upper</span><span class="p">():</span>
<a id="__codelineno-0-108" name="__codelineno-0-108"></a> <span class="k">return</span> <span class="n">member</span>
<a id="__codelineno-0-109" name="__codelineno-0-109"></a> <span class="k">return</span> <span class="kc">None</span>
<a id="__codelineno-0-110" name="__codelineno-0-110"></a>
<a id="__codelineno-0-111" name="__codelineno-0-111"></a> <span class="k">def</span><span class="w"> </span><span class="fm">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
<a id="__codelineno-0-112" name="__codelineno-0-112"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Return the string representation of the FileFormat class.&quot;&quot;&quot;</span>
<a id="__codelineno-0-113" name="__codelineno-0-113"></a> <span class="k">return</span> <span class="sa">f</span><span class="s2">&quot;FileFormat.</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">name</span><span class="si">}</span><span class="s2">&quot;</span>
</code></pre></div></td></tr></table></div>
</details>
<div class="doc doc-children">
<div class="doc doc-object doc-function">
<h3 id="pyiceberg.manifest.FileFormat.__repr__" class="doc doc-heading">
<code class="highlight language-python"><span class="fm">__repr__</span><span class="p">()</span></code>
<a href="#pyiceberg.manifest.FileFormat.__repr__" class="headerlink" title="Permanent link">&para;</a></h3>
<div class="doc doc-contents ">
<p>Return the string representation of the FileFormat class.</p>
<details class="quote">
<summary>Source code in <code>pyiceberg/manifest.py</code></summary>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-111">111</a></span>
<span class="normal"><a href="#__codelineno-0-112">112</a></span>
<span class="normal"><a href="#__codelineno-0-113">113</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-111" name="__codelineno-0-111"></a><span class="k">def</span><span class="w"> </span><span class="fm">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
<a id="__codelineno-0-112" name="__codelineno-0-112"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Return the string representation of the FileFormat class.&quot;&quot;&quot;</span>
<a id="__codelineno-0-113" name="__codelineno-0-113"></a> <span class="k">return</span> <span class="sa">f</span><span class="s2">&quot;FileFormat.</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">name</span><span class="si">}</span><span class="s2">&quot;</span>
</code></pre></div></td></tr></table></div>
</details>
</div>
</div>
</div>
</div>
</div>
<div class="doc doc-object doc-class">
<h2 id="pyiceberg.manifest.ManifestContent" class="doc doc-heading">
<code>ManifestContent</code>
<a href="#pyiceberg.manifest.ManifestContent" class="headerlink" title="Permanent link">&para;</a></h2>
<div class="doc doc-contents ">
<p class="doc doc-class-bases">
Bases: <code><span title="int">int</span></code>, <code><span title="enum.Enum">Enum</span></code></p>
<details class="quote">
<summary>Source code in <code>pyiceberg/manifest.py</code></summary>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-79">79</a></span>
<span class="normal"><a href="#__codelineno-0-80">80</a></span>
<span class="normal"><a href="#__codelineno-0-81">81</a></span>
<span class="normal"><a href="#__codelineno-0-82">82</a></span>
<span class="normal"><a href="#__codelineno-0-83">83</a></span>
<span class="normal"><a href="#__codelineno-0-84">84</a></span>
<span class="normal"><a href="#__codelineno-0-85">85</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-79" name="__codelineno-0-79"></a><span class="k">class</span><span class="w"> </span><span class="nc">ManifestContent</span><span class="p">(</span><span class="nb">int</span><span class="p">,</span> <span class="n">Enum</span><span class="p">):</span>
<a id="__codelineno-0-80" name="__codelineno-0-80"></a> <span class="n">DATA</span> <span class="o">=</span> <span class="mi">0</span>
<a id="__codelineno-0-81" name="__codelineno-0-81"></a> <span class="n">DELETES</span> <span class="o">=</span> <span class="mi">1</span>
<a id="__codelineno-0-82" name="__codelineno-0-82"></a>
<a id="__codelineno-0-83" name="__codelineno-0-83"></a> <span class="k">def</span><span class="w"> </span><span class="fm">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
<a id="__codelineno-0-84" name="__codelineno-0-84"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Return the string representation of the ManifestContent class.&quot;&quot;&quot;</span>
<a id="__codelineno-0-85" name="__codelineno-0-85"></a> <span class="k">return</span> <span class="sa">f</span><span class="s2">&quot;ManifestContent.</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">name</span><span class="si">}</span><span class="s2">&quot;</span>
</code></pre></div></td></tr></table></div>
</details>
<div class="doc doc-children">
<div class="doc doc-object doc-function">
<h3 id="pyiceberg.manifest.ManifestContent.__repr__" class="doc doc-heading">
<code class="highlight language-python"><span class="fm">__repr__</span><span class="p">()</span></code>
<a href="#pyiceberg.manifest.ManifestContent.__repr__" class="headerlink" title="Permanent link">&para;</a></h3>
<div class="doc doc-contents ">
<p>Return the string representation of the ManifestContent class.</p>
<details class="quote">
<summary>Source code in <code>pyiceberg/manifest.py</code></summary>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-83">83</a></span>
<span class="normal"><a href="#__codelineno-0-84">84</a></span>
<span class="normal"><a href="#__codelineno-0-85">85</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-83" name="__codelineno-0-83"></a><span class="k">def</span><span class="w"> </span><span class="fm">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
<a id="__codelineno-0-84" name="__codelineno-0-84"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Return the string representation of the ManifestContent class.&quot;&quot;&quot;</span>
<a id="__codelineno-0-85" name="__codelineno-0-85"></a> <span class="k">return</span> <span class="sa">f</span><span class="s2">&quot;ManifestContent.</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">name</span><span class="si">}</span><span class="s2">&quot;</span>
</code></pre></div></td></tr></table></div>
</details>
</div>
</div>
</div>
</div>
</div>
<div class="doc doc-object doc-class">
<h2 id="pyiceberg.manifest.ManifestEntryStatus" class="doc doc-heading">
<code>ManifestEntryStatus</code>
<a href="#pyiceberg.manifest.ManifestEntryStatus" class="headerlink" title="Permanent link">&para;</a></h2>
<div class="doc doc-contents ">
<p class="doc doc-class-bases">
Bases: <code><span title="int">int</span></code>, <code><span title="enum.Enum">Enum</span></code></p>
<details class="quote">
<summary>Source code in <code>pyiceberg/manifest.py</code></summary>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-88">88</a></span>
<span class="normal"><a href="#__codelineno-0-89">89</a></span>
<span class="normal"><a href="#__codelineno-0-90">90</a></span>
<span class="normal"><a href="#__codelineno-0-91">91</a></span>
<span class="normal"><a href="#__codelineno-0-92">92</a></span>
<span class="normal"><a href="#__codelineno-0-93">93</a></span>
<span class="normal"><a href="#__codelineno-0-94">94</a></span>
<span class="normal"><a href="#__codelineno-0-95">95</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-88" name="__codelineno-0-88"></a><span class="k">class</span><span class="w"> </span><span class="nc">ManifestEntryStatus</span><span class="p">(</span><span class="nb">int</span><span class="p">,</span> <span class="n">Enum</span><span class="p">):</span>
<a id="__codelineno-0-89" name="__codelineno-0-89"></a> <span class="n">EXISTING</span> <span class="o">=</span> <span class="mi">0</span>
<a id="__codelineno-0-90" name="__codelineno-0-90"></a> <span class="n">ADDED</span> <span class="o">=</span> <span class="mi">1</span>
<a id="__codelineno-0-91" name="__codelineno-0-91"></a> <span class="n">DELETED</span> <span class="o">=</span> <span class="mi">2</span>
<a id="__codelineno-0-92" name="__codelineno-0-92"></a>
<a id="__codelineno-0-93" name="__codelineno-0-93"></a> <span class="k">def</span><span class="w"> </span><span class="fm">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
<a id="__codelineno-0-94" name="__codelineno-0-94"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Return the string representation of the ManifestEntryStatus class.&quot;&quot;&quot;</span>
<a id="__codelineno-0-95" name="__codelineno-0-95"></a> <span class="k">return</span> <span class="sa">f</span><span class="s2">&quot;ManifestEntryStatus.</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">name</span><span class="si">}</span><span class="s2">&quot;</span>
</code></pre></div></td></tr></table></div>
</details>
<div class="doc doc-children">
<div class="doc doc-object doc-function">
<h3 id="pyiceberg.manifest.ManifestEntryStatus.__repr__" class="doc doc-heading">
<code class="highlight language-python"><span class="fm">__repr__</span><span class="p">()</span></code>
<a href="#pyiceberg.manifest.ManifestEntryStatus.__repr__" class="headerlink" title="Permanent link">&para;</a></h3>
<div class="doc doc-contents ">
<p>Return the string representation of the ManifestEntryStatus class.</p>
<details class="quote">
<summary>Source code in <code>pyiceberg/manifest.py</code></summary>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-93">93</a></span>
<span class="normal"><a href="#__codelineno-0-94">94</a></span>
<span class="normal"><a href="#__codelineno-0-95">95</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-93" name="__codelineno-0-93"></a><span class="k">def</span><span class="w"> </span><span class="fm">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
<a id="__codelineno-0-94" name="__codelineno-0-94"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Return the string representation of the ManifestEntryStatus class.&quot;&quot;&quot;</span>
<a id="__codelineno-0-95" name="__codelineno-0-95"></a> <span class="k">return</span> <span class="sa">f</span><span class="s2">&quot;ManifestEntryStatus.</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">name</span><span class="si">}</span><span class="s2">&quot;</span>
</code></pre></div></td></tr></table></div>
</details>
</div>
</div>
</div>
</div>
</div>
<div class="doc doc-object doc-class">
<h2 id="pyiceberg.manifest.ManifestFile" class="doc doc-heading">
<code>ManifestFile</code>
<a href="#pyiceberg.manifest.ManifestFile" class="headerlink" title="Permanent link">&para;</a></h2>
<div class="doc doc-contents ">
<p class="doc doc-class-bases">
Bases: <code><a class="autorefs autorefs-internal" title="Record (pyiceberg.typedef.Record)" href="../typedef/#pyiceberg.typedef.Record">Record</a></code></p>
<details class="quote">
<summary>Source code in <code>pyiceberg/manifest.py</code></summary>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-767">767</a></span>
<span class="normal"><a href="#__codelineno-0-768">768</a></span>
<span class="normal"><a href="#__codelineno-0-769">769</a></span>
<span class="normal"><a href="#__codelineno-0-770">770</a></span>
<span class="normal"><a href="#__codelineno-0-771">771</a></span>
<span class="normal"><a href="#__codelineno-0-772">772</a></span>
<span class="normal"><a href="#__codelineno-0-773">773</a></span>
<span class="normal"><a href="#__codelineno-0-774">774</a></span>
<span class="normal"><a href="#__codelineno-0-775">775</a></span>
<span class="normal"><a href="#__codelineno-0-776">776</a></span>
<span class="normal"><a href="#__codelineno-0-777">777</a></span>
<span class="normal"><a href="#__codelineno-0-778">778</a></span>
<span class="normal"><a href="#__codelineno-0-779">779</a></span>
<span class="normal"><a href="#__codelineno-0-780">780</a></span>
<span class="normal"><a href="#__codelineno-0-781">781</a></span>
<span class="normal"><a href="#__codelineno-0-782">782</a></span>
<span class="normal"><a href="#__codelineno-0-783">783</a></span>
<span class="normal"><a href="#__codelineno-0-784">784</a></span>
<span class="normal"><a href="#__codelineno-0-785">785</a></span>
<span class="normal"><a href="#__codelineno-0-786">786</a></span>
<span class="normal"><a href="#__codelineno-0-787">787</a></span>
<span class="normal"><a href="#__codelineno-0-788">788</a></span>
<span class="normal"><a href="#__codelineno-0-789">789</a></span>
<span class="normal"><a href="#__codelineno-0-790">790</a></span>
<span class="normal"><a href="#__codelineno-0-791">791</a></span>
<span class="normal"><a href="#__codelineno-0-792">792</a></span>
<span class="normal"><a href="#__codelineno-0-793">793</a></span>
<span class="normal"><a href="#__codelineno-0-794">794</a></span>
<span class="normal"><a href="#__codelineno-0-795">795</a></span>
<span class="normal"><a href="#__codelineno-0-796">796</a></span>
<span class="normal"><a href="#__codelineno-0-797">797</a></span>
<span class="normal"><a href="#__codelineno-0-798">798</a></span>
<span class="normal"><a href="#__codelineno-0-799">799</a></span>
<span class="normal"><a href="#__codelineno-0-800">800</a></span>
<span class="normal"><a href="#__codelineno-0-801">801</a></span>
<span class="normal"><a href="#__codelineno-0-802">802</a></span>
<span class="normal"><a href="#__codelineno-0-803">803</a></span>
<span class="normal"><a href="#__codelineno-0-804">804</a></span>
<span class="normal"><a href="#__codelineno-0-805">805</a></span>
<span class="normal"><a href="#__codelineno-0-806">806</a></span>
<span class="normal"><a href="#__codelineno-0-807">807</a></span>
<span class="normal"><a href="#__codelineno-0-808">808</a></span>
<span class="normal"><a href="#__codelineno-0-809">809</a></span>
<span class="normal"><a href="#__codelineno-0-810">810</a></span>
<span class="normal"><a href="#__codelineno-0-811">811</a></span>
<span class="normal"><a href="#__codelineno-0-812">812</a></span>
<span class="normal"><a href="#__codelineno-0-813">813</a></span>
<span class="normal"><a href="#__codelineno-0-814">814</a></span>
<span class="normal"><a href="#__codelineno-0-815">815</a></span>
<span class="normal"><a href="#__codelineno-0-816">816</a></span>
<span class="normal"><a href="#__codelineno-0-817">817</a></span>
<span class="normal"><a href="#__codelineno-0-818">818</a></span>
<span class="normal"><a href="#__codelineno-0-819">819</a></span>
<span class="normal"><a href="#__codelineno-0-820">820</a></span>
<span class="normal"><a href="#__codelineno-0-821">821</a></span>
<span class="normal"><a href="#__codelineno-0-822">822</a></span>
<span class="normal"><a href="#__codelineno-0-823">823</a></span>
<span class="normal"><a href="#__codelineno-0-824">824</a></span>
<span class="normal"><a href="#__codelineno-0-825">825</a></span>
<span class="normal"><a href="#__codelineno-0-826">826</a></span>
<span class="normal"><a href="#__codelineno-0-827">827</a></span>
<span class="normal"><a href="#__codelineno-0-828">828</a></span>
<span class="normal"><a href="#__codelineno-0-829">829</a></span>
<span class="normal"><a href="#__codelineno-0-830">830</a></span>
<span class="normal"><a href="#__codelineno-0-831">831</a></span>
<span class="normal"><a href="#__codelineno-0-832">832</a></span>
<span class="normal"><a href="#__codelineno-0-833">833</a></span>
<span class="normal"><a href="#__codelineno-0-834">834</a></span>
<span class="normal"><a href="#__codelineno-0-835">835</a></span>
<span class="normal"><a href="#__codelineno-0-836">836</a></span>
<span class="normal"><a href="#__codelineno-0-837">837</a></span>
<span class="normal"><a href="#__codelineno-0-838">838</a></span>
<span class="normal"><a href="#__codelineno-0-839">839</a></span>
<span class="normal"><a href="#__codelineno-0-840">840</a></span>
<span class="normal"><a href="#__codelineno-0-841">841</a></span>
<span class="normal"><a href="#__codelineno-0-842">842</a></span>
<span class="normal"><a href="#__codelineno-0-843">843</a></span>
<span class="normal"><a href="#__codelineno-0-844">844</a></span>
<span class="normal"><a href="#__codelineno-0-845">845</a></span>
<span class="normal"><a href="#__codelineno-0-846">846</a></span>
<span class="normal"><a href="#__codelineno-0-847">847</a></span>
<span class="normal"><a href="#__codelineno-0-848">848</a></span>
<span class="normal"><a href="#__codelineno-0-849">849</a></span>
<span class="normal"><a href="#__codelineno-0-850">850</a></span>
<span class="normal"><a href="#__codelineno-0-851">851</a></span>
<span class="normal"><a href="#__codelineno-0-852">852</a></span>
<span class="normal"><a href="#__codelineno-0-853">853</a></span>
<span class="normal"><a href="#__codelineno-0-854">854</a></span>
<span class="normal"><a href="#__codelineno-0-855">855</a></span>
<span class="normal"><a href="#__codelineno-0-856">856</a></span>
<span class="normal"><a href="#__codelineno-0-857">857</a></span>
<span class="normal"><a href="#__codelineno-0-858">858</a></span>
<span class="normal"><a href="#__codelineno-0-859">859</a></span>
<span class="normal"><a href="#__codelineno-0-860">860</a></span>
<span class="normal"><a href="#__codelineno-0-861">861</a></span>
<span class="normal"><a href="#__codelineno-0-862">862</a></span>
<span class="normal"><a href="#__codelineno-0-863">863</a></span>
<span class="normal"><a href="#__codelineno-0-864">864</a></span>
<span class="normal"><a href="#__codelineno-0-865">865</a></span>
<span class="normal"><a href="#__codelineno-0-866">866</a></span>
<span class="normal"><a href="#__codelineno-0-867">867</a></span>
<span class="normal"><a href="#__codelineno-0-868">868</a></span>
<span class="normal"><a href="#__codelineno-0-869">869</a></span>
<span class="normal"><a href="#__codelineno-0-870">870</a></span>
<span class="normal"><a href="#__codelineno-0-871">871</a></span>
<span class="normal"><a href="#__codelineno-0-872">872</a></span>
<span class="normal"><a href="#__codelineno-0-873">873</a></span>
<span class="normal"><a href="#__codelineno-0-874">874</a></span>
<span class="normal"><a href="#__codelineno-0-875">875</a></span>
<span class="normal"><a href="#__codelineno-0-876">876</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-767" name="__codelineno-0-767"></a><span class="k">class</span><span class="w"> </span><span class="nc">ManifestFile</span><span class="p">(</span><span class="n">Record</span><span class="p">):</span>
<a id="__codelineno-0-768" name="__codelineno-0-768"></a> <span class="nd">@classmethod</span>
<a id="__codelineno-0-769" name="__codelineno-0-769"></a> <span class="k">def</span><span class="w"> </span><span class="nf">from_args</span><span class="p">(</span><span class="bp">cls</span><span class="p">,</span> <span class="n">_table_format_version</span><span class="p">:</span> <span class="n">TableVersion</span> <span class="o">=</span> <span class="n">DEFAULT_READ_VERSION</span><span class="p">,</span> <span class="o">**</span><span class="n">arguments</span><span class="p">:</span> <span class="n">Any</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">ManifestFile</span><span class="p">:</span>
<a id="__codelineno-0-770" name="__codelineno-0-770"></a> <span class="k">return</span> <span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="n">_bind</span><span class="p">(</span><span class="o">**</span><span class="n">arguments</span><span class="p">,</span> <span class="n">struct</span><span class="o">=</span><span class="n">MANIFEST_LIST_FILE_SCHEMAS</span><span class="p">[</span><span class="n">_table_format_version</span><span class="p">])</span>
<a id="__codelineno-0-771" name="__codelineno-0-771"></a>
<a id="__codelineno-0-772" name="__codelineno-0-772"></a> <span class="nd">@property</span>
<a id="__codelineno-0-773" name="__codelineno-0-773"></a> <span class="k">def</span><span class="w"> </span><span class="nf">manifest_path</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">str</span><span class="p">:</span>
<a id="__codelineno-0-774" name="__codelineno-0-774"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
<a id="__codelineno-0-775" name="__codelineno-0-775"></a>
<a id="__codelineno-0-776" name="__codelineno-0-776"></a> <span class="nd">@property</span>
<a id="__codelineno-0-777" name="__codelineno-0-777"></a> <span class="k">def</span><span class="w"> </span><span class="nf">manifest_length</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span>
<a id="__codelineno-0-778" name="__codelineno-0-778"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
<a id="__codelineno-0-779" name="__codelineno-0-779"></a>
<a id="__codelineno-0-780" name="__codelineno-0-780"></a> <span class="nd">@property</span>
<a id="__codelineno-0-781" name="__codelineno-0-781"></a> <span class="k">def</span><span class="w"> </span><span class="nf">partition_spec_id</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span>
<a id="__codelineno-0-782" name="__codelineno-0-782"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span>
<a id="__codelineno-0-783" name="__codelineno-0-783"></a>
<a id="__codelineno-0-784" name="__codelineno-0-784"></a> <span class="nd">@property</span>
<a id="__codelineno-0-785" name="__codelineno-0-785"></a> <span class="k">def</span><span class="w"> </span><span class="nf">content</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">ManifestContent</span><span class="p">:</span>
<a id="__codelineno-0-786" name="__codelineno-0-786"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span>
<a id="__codelineno-0-787" name="__codelineno-0-787"></a>
<a id="__codelineno-0-788" name="__codelineno-0-788"></a> <span class="nd">@property</span>
<a id="__codelineno-0-789" name="__codelineno-0-789"></a> <span class="k">def</span><span class="w"> </span><span class="nf">sequence_number</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span>
<a id="__codelineno-0-790" name="__codelineno-0-790"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span>
<a id="__codelineno-0-791" name="__codelineno-0-791"></a>
<a id="__codelineno-0-792" name="__codelineno-0-792"></a> <span class="nd">@sequence_number</span><span class="o">.</span><span class="n">setter</span>
<a id="__codelineno-0-793" name="__codelineno-0-793"></a> <span class="k">def</span><span class="w"> </span><span class="nf">sequence_number</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">:</span> <span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
<a id="__codelineno-0-794" name="__codelineno-0-794"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="mi">4</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span>
<a id="__codelineno-0-795" name="__codelineno-0-795"></a>
<a id="__codelineno-0-796" name="__codelineno-0-796"></a> <span class="nd">@property</span>
<a id="__codelineno-0-797" name="__codelineno-0-797"></a> <span class="k">def</span><span class="w"> </span><span class="nf">min_sequence_number</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span>
<a id="__codelineno-0-798" name="__codelineno-0-798"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="mi">5</span><span class="p">]</span>
<a id="__codelineno-0-799" name="__codelineno-0-799"></a>
<a id="__codelineno-0-800" name="__codelineno-0-800"></a> <span class="nd">@min_sequence_number</span><span class="o">.</span><span class="n">setter</span>
<a id="__codelineno-0-801" name="__codelineno-0-801"></a> <span class="k">def</span><span class="w"> </span><span class="nf">min_sequence_number</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">:</span> <span class="nb">int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
<a id="__codelineno-0-802" name="__codelineno-0-802"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="mi">5</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span>
<a id="__codelineno-0-803" name="__codelineno-0-803"></a>
<a id="__codelineno-0-804" name="__codelineno-0-804"></a> <span class="nd">@property</span>
<a id="__codelineno-0-805" name="__codelineno-0-805"></a> <span class="k">def</span><span class="w"> </span><span class="nf">added_snapshot_id</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">int</span><span class="p">]:</span>
<a id="__codelineno-0-806" name="__codelineno-0-806"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="mi">6</span><span class="p">]</span>
<a id="__codelineno-0-807" name="__codelineno-0-807"></a>
<a id="__codelineno-0-808" name="__codelineno-0-808"></a> <span class="nd">@property</span>
<a id="__codelineno-0-809" name="__codelineno-0-809"></a> <span class="k">def</span><span class="w"> </span><span class="nf">added_files_count</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">int</span><span class="p">]:</span>
<a id="__codelineno-0-810" name="__codelineno-0-810"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="mi">7</span><span class="p">]</span>
<a id="__codelineno-0-811" name="__codelineno-0-811"></a>
<a id="__codelineno-0-812" name="__codelineno-0-812"></a> <span class="nd">@property</span>
<a id="__codelineno-0-813" name="__codelineno-0-813"></a> <span class="k">def</span><span class="w"> </span><span class="nf">existing_files_count</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">int</span><span class="p">]:</span>
<a id="__codelineno-0-814" name="__codelineno-0-814"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="mi">8</span><span class="p">]</span>
<a id="__codelineno-0-815" name="__codelineno-0-815"></a>
<a id="__codelineno-0-816" name="__codelineno-0-816"></a> <span class="nd">@property</span>
<a id="__codelineno-0-817" name="__codelineno-0-817"></a> <span class="k">def</span><span class="w"> </span><span class="nf">deleted_files_count</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">int</span><span class="p">]:</span>
<a id="__codelineno-0-818" name="__codelineno-0-818"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="mi">9</span><span class="p">]</span>
<a id="__codelineno-0-819" name="__codelineno-0-819"></a>
<a id="__codelineno-0-820" name="__codelineno-0-820"></a> <span class="nd">@property</span>
<a id="__codelineno-0-821" name="__codelineno-0-821"></a> <span class="k">def</span><span class="w"> </span><span class="nf">added_rows_count</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">int</span><span class="p">]:</span>
<a id="__codelineno-0-822" name="__codelineno-0-822"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="mi">10</span><span class="p">]</span>
<a id="__codelineno-0-823" name="__codelineno-0-823"></a>
<a id="__codelineno-0-824" name="__codelineno-0-824"></a> <span class="nd">@property</span>
<a id="__codelineno-0-825" name="__codelineno-0-825"></a> <span class="k">def</span><span class="w"> </span><span class="nf">existing_rows_count</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">int</span><span class="p">]:</span>
<a id="__codelineno-0-826" name="__codelineno-0-826"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="mi">11</span><span class="p">]</span>
<a id="__codelineno-0-827" name="__codelineno-0-827"></a>
<a id="__codelineno-0-828" name="__codelineno-0-828"></a> <span class="nd">@property</span>
<a id="__codelineno-0-829" name="__codelineno-0-829"></a> <span class="k">def</span><span class="w"> </span><span class="nf">deleted_rows_count</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">int</span><span class="p">]:</span>
<a id="__codelineno-0-830" name="__codelineno-0-830"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="mi">12</span><span class="p">]</span>
<a id="__codelineno-0-831" name="__codelineno-0-831"></a>
<a id="__codelineno-0-832" name="__codelineno-0-832"></a> <span class="nd">@property</span>
<a id="__codelineno-0-833" name="__codelineno-0-833"></a> <span class="k">def</span><span class="w"> </span><span class="nf">partitions</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Optional</span><span class="p">[</span><span class="n">List</span><span class="p">[</span><span class="n">PartitionFieldSummary</span><span class="p">]]:</span>
<a id="__codelineno-0-834" name="__codelineno-0-834"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="mi">13</span><span class="p">]</span>
<a id="__codelineno-0-835" name="__codelineno-0-835"></a>
<a id="__codelineno-0-836" name="__codelineno-0-836"></a> <span class="nd">@property</span>
<a id="__codelineno-0-837" name="__codelineno-0-837"></a> <span class="k">def</span><span class="w"> </span><span class="nf">key_metadata</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">bytes</span><span class="p">]:</span>
<a id="__codelineno-0-838" name="__codelineno-0-838"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_data</span><span class="p">[</span><span class="mi">14</span><span class="p">]</span>
<a id="__codelineno-0-839" name="__codelineno-0-839"></a>
<a id="__codelineno-0-840" name="__codelineno-0-840"></a> <span class="k">def</span><span class="w"> </span><span class="nf">has_added_files</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
<a id="__codelineno-0-841" name="__codelineno-0-841"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">added_files_count</span> <span class="ow">is</span> <span class="kc">None</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">added_files_count</span> <span class="o">&gt;</span> <span class="mi">0</span>
<a id="__codelineno-0-842" name="__codelineno-0-842"></a>
<a id="__codelineno-0-843" name="__codelineno-0-843"></a> <span class="k">def</span><span class="w"> </span><span class="nf">has_existing_files</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
<a id="__codelineno-0-844" name="__codelineno-0-844"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">existing_files_count</span> <span class="ow">is</span> <span class="kc">None</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">existing_files_count</span> <span class="o">&gt;</span> <span class="mi">0</span>
<a id="__codelineno-0-845" name="__codelineno-0-845"></a>
<a id="__codelineno-0-846" name="__codelineno-0-846"></a> <span class="k">def</span><span class="w"> </span><span class="nf">fetch_manifest_entry</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">io</span><span class="p">:</span> <span class="n">FileIO</span><span class="p">,</span> <span class="n">discard_deleted</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">List</span><span class="p">[</span><span class="n">ManifestEntry</span><span class="p">]:</span>
<a id="__codelineno-0-847" name="__codelineno-0-847"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<a id="__codelineno-0-848" name="__codelineno-0-848"></a><span class="sd"> Read the manifest entries from the manifest file.</span>
<a id="__codelineno-0-849" name="__codelineno-0-849"></a>
<a id="__codelineno-0-850" name="__codelineno-0-850"></a><span class="sd"> Args:</span>
<a id="__codelineno-0-851" name="__codelineno-0-851"></a><span class="sd"> io: The FileIO to fetch the file.</span>
<a id="__codelineno-0-852" name="__codelineno-0-852"></a><span class="sd"> discard_deleted: Filter on live entries.</span>
<a id="__codelineno-0-853" name="__codelineno-0-853"></a>
<a id="__codelineno-0-854" name="__codelineno-0-854"></a><span class="sd"> Returns:</span>
<a id="__codelineno-0-855" name="__codelineno-0-855"></a><span class="sd"> An Iterator of manifest entries.</span>
<a id="__codelineno-0-856" name="__codelineno-0-856"></a><span class="sd"> &quot;&quot;&quot;</span>
<a id="__codelineno-0-857" name="__codelineno-0-857"></a> <span class="n">input_file</span> <span class="o">=</span> <span class="n">io</span><span class="o">.</span><span class="n">new_input</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">manifest_path</span><span class="p">)</span>
<a id="__codelineno-0-858" name="__codelineno-0-858"></a> <span class="k">with</span> <span class="n">AvroFile</span><span class="p">[</span><span class="n">ManifestEntry</span><span class="p">](</span>
<a id="__codelineno-0-859" name="__codelineno-0-859"></a> <span class="n">input_file</span><span class="p">,</span>
<a id="__codelineno-0-860" name="__codelineno-0-860"></a> <span class="n">MANIFEST_ENTRY_SCHEMAS</span><span class="p">[</span><span class="n">DEFAULT_READ_VERSION</span><span class="p">],</span>
<a id="__codelineno-0-861" name="__codelineno-0-861"></a> <span class="n">read_types</span><span class="o">=</span><span class="p">{</span><span class="o">-</span><span class="mi">1</span><span class="p">:</span> <span class="n">ManifestEntry</span><span class="p">,</span> <span class="mi">2</span><span class="p">:</span> <span class="n">DataFile</span><span class="p">},</span>
<a id="__codelineno-0-862" name="__codelineno-0-862"></a> <span class="n">read_enums</span><span class="o">=</span><span class="p">{</span><span class="mi">0</span><span class="p">:</span> <span class="n">ManifestEntryStatus</span><span class="p">,</span> <span class="mi">101</span><span class="p">:</span> <span class="n">FileFormat</span><span class="p">,</span> <span class="mi">134</span><span class="p">:</span> <span class="n">DataFileContent</span><span class="p">},</span>
<a id="__codelineno-0-863" name="__codelineno-0-863"></a> <span class="p">)</span> <span class="k">as</span> <span class="n">reader</span><span class="p">:</span>
<a id="__codelineno-0-864" name="__codelineno-0-864"></a> <span class="k">return</span> <span class="p">[</span>
<a id="__codelineno-0-865" name="__codelineno-0-865"></a> <span class="n">_inherit_from_manifest</span><span class="p">(</span><span class="n">entry</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span>
<a id="__codelineno-0-866" name="__codelineno-0-866"></a> <span class="k">for</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">reader</span>
<a id="__codelineno-0-867" name="__codelineno-0-867"></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">discard_deleted</span> <span class="ow">or</span> <span class="n">entry</span><span class="o">.</span><span class="n">status</span> <span class="o">!=</span> <span class="n">ManifestEntryStatus</span><span class="o">.</span><span class="n">DELETED</span>
<a id="__codelineno-0-868" name="__codelineno-0-868"></a> <span class="p">]</span>
<a id="__codelineno-0-869" name="__codelineno-0-869"></a>
<a id="__codelineno-0-870" name="__codelineno-0-870"></a> <span class="k">def</span><span class="w"> </span><span class="fm">__eq__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">:</span> <span class="n">Any</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
<a id="__codelineno-0-871" name="__codelineno-0-871"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Return the equality of two instances of the ManifestFile class.&quot;&quot;&quot;</span>
<a id="__codelineno-0-872" name="__codelineno-0-872"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">manifest_path</span> <span class="o">==</span> <span class="n">other</span><span class="o">.</span><span class="n">manifest_path</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">other</span><span class="p">,</span> <span class="n">ManifestFile</span><span class="p">)</span> <span class="k">else</span> <span class="kc">False</span>
<a id="__codelineno-0-873" name="__codelineno-0-873"></a>
<a id="__codelineno-0-874" name="__codelineno-0-874"></a> <span class="k">def</span><span class="w"> </span><span class="fm">__hash__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span>
<a id="__codelineno-0-875" name="__codelineno-0-875"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Return the hash of manifest_path.&quot;&quot;&quot;</span>
<a id="__codelineno-0-876" name="__codelineno-0-876"></a> <span class="k">return</span> <span class="nb">hash</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">manifest_path</span><span class="p">)</span>
</code></pre></div></td></tr></table></div>
</details>
<div class="doc doc-children">
<div class="doc doc-object doc-function">
<h3 id="pyiceberg.manifest.ManifestFile.__eq__" class="doc doc-heading">
<code class="highlight language-python"><span class="fm">__eq__</span><span class="p">(</span><span class="n">other</span><span class="p">)</span></code>
<a href="#pyiceberg.manifest.ManifestFile.__eq__" class="headerlink" title="Permanent link">&para;</a></h3>
<div class="doc doc-contents ">
<p>Return the equality of two instances of the ManifestFile class.</p>
<details class="quote">
<summary>Source code in <code>pyiceberg/manifest.py</code></summary>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-870">870</a></span>
<span class="normal"><a href="#__codelineno-0-871">871</a></span>
<span class="normal"><a href="#__codelineno-0-872">872</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-870" name="__codelineno-0-870"></a><span class="k">def</span><span class="w"> </span><span class="fm">__eq__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">other</span><span class="p">:</span> <span class="n">Any</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">bool</span><span class="p">:</span>
<a id="__codelineno-0-871" name="__codelineno-0-871"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Return the equality of two instances of the ManifestFile class.&quot;&quot;&quot;</span>
<a id="__codelineno-0-872" name="__codelineno-0-872"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">manifest_path</span> <span class="o">==</span> <span class="n">other</span><span class="o">.</span><span class="n">manifest_path</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">other</span><span class="p">,</span> <span class="n">ManifestFile</span><span class="p">)</span> <span class="k">else</span> <span class="kc">False</span>
</code></pre></div></td></tr></table></div>
</details>
</div>
</div>
<div class="doc doc-object doc-function">
<h3 id="pyiceberg.manifest.ManifestFile.__hash__" class="doc doc-heading">
<code class="highlight language-python"><span class="fm">__hash__</span><span class="p">()</span></code>
<a href="#pyiceberg.manifest.ManifestFile.__hash__" class="headerlink" title="Permanent link">&para;</a></h3>
<div class="doc doc-contents ">
<p>Return the hash of manifest_path.</p>
<details class="quote">
<summary>Source code in <code>pyiceberg/manifest.py</code></summary>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-874">874</a></span>
<span class="normal"><a href="#__codelineno-0-875">875</a></span>
<span class="normal"><a href="#__codelineno-0-876">876</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-874" name="__codelineno-0-874"></a><span class="k">def</span><span class="w"> </span><span class="fm">__hash__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">int</span><span class="p">:</span>
<a id="__codelineno-0-875" name="__codelineno-0-875"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Return the hash of manifest_path.&quot;&quot;&quot;</span>
<a id="__codelineno-0-876" name="__codelineno-0-876"></a> <span class="k">return</span> <span class="nb">hash</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">manifest_path</span><span class="p">)</span>
</code></pre></div></td></tr></table></div>
</details>
</div>
</div>
<div class="doc doc-object doc-function">
<h3 id="pyiceberg.manifest.ManifestFile.fetch_manifest_entry" class="doc doc-heading">
<code class="highlight language-python"><span class="n">fetch_manifest_entry</span><span class="p">(</span><span class="n">io</span><span class="p">,</span> <span class="n">discard_deleted</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span></code>
<a href="#pyiceberg.manifest.ManifestFile.fetch_manifest_entry" class="headerlink" title="Permanent link">&para;</a></h3>
<div class="doc doc-contents ">
<p>Read the manifest entries from the manifest file.</p>
<p><span class="doc-section-title">Parameters:</span></p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead>
<tbody>
<tr class="doc-section-item">
<td>
<code>io</code>
</td>
<td>
<code><a class="autorefs autorefs-internal" title="FileIO (pyiceberg.io.FileIO)" href="../io/#pyiceberg.io.FileIO">FileIO</a></code>
</td>
<td>
<div class="doc-md-description">
<p>The FileIO to fetch the file.</p>
</div>
</td>
<td>
<em>required</em>
</td>
</tr>
<tr class="doc-section-item">
<td>
<code>discard_deleted</code>
</td>
<td>
<code><span title="bool">bool</span></code>
</td>
<td>
<div class="doc-md-description">
<p>Filter on live entries.</p>
</div>
</td>
<td>
<code>True</code>
</td>
</tr>
</tbody>
</table>
<p><span class="doc-section-title">Returns:</span></p>
<table>
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr class="doc-section-item">
<td>
<code><span title="typing.List">List</span>[<span title="pyiceberg.manifest.ManifestEntry">ManifestEntry</span>]</code>
</td>
<td>
<div class="doc-md-description">
<p>An Iterator of manifest entries.</p>
</div>
</td>
</tr>
</tbody>
</table>
<details class="quote">
<summary>Source code in <code>pyiceberg/manifest.py</code></summary>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-846">846</a></span>
<span class="normal"><a href="#__codelineno-0-847">847</a></span>
<span class="normal"><a href="#__codelineno-0-848">848</a></span>
<span class="normal"><a href="#__codelineno-0-849">849</a></span>
<span class="normal"><a href="#__codelineno-0-850">850</a></span>
<span class="normal"><a href="#__codelineno-0-851">851</a></span>
<span class="normal"><a href="#__codelineno-0-852">852</a></span>
<span class="normal"><a href="#__codelineno-0-853">853</a></span>
<span class="normal"><a href="#__codelineno-0-854">854</a></span>
<span class="normal"><a href="#__codelineno-0-855">855</a></span>
<span class="normal"><a href="#__codelineno-0-856">856</a></span>
<span class="normal"><a href="#__codelineno-0-857">857</a></span>
<span class="normal"><a href="#__codelineno-0-858">858</a></span>
<span class="normal"><a href="#__codelineno-0-859">859</a></span>
<span class="normal"><a href="#__codelineno-0-860">860</a></span>
<span class="normal"><a href="#__codelineno-0-861">861</a></span>
<span class="normal"><a href="#__codelineno-0-862">862</a></span>
<span class="normal"><a href="#__codelineno-0-863">863</a></span>
<span class="normal"><a href="#__codelineno-0-864">864</a></span>
<span class="normal"><a href="#__codelineno-0-865">865</a></span>
<span class="normal"><a href="#__codelineno-0-866">866</a></span>
<span class="normal"><a href="#__codelineno-0-867">867</a></span>
<span class="normal"><a href="#__codelineno-0-868">868</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-846" name="__codelineno-0-846"></a><span class="k">def</span><span class="w"> </span><span class="nf">fetch_manifest_entry</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">io</span><span class="p">:</span> <span class="n">FileIO</span><span class="p">,</span> <span class="n">discard_deleted</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">True</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">List</span><span class="p">[</span><span class="n">ManifestEntry</span><span class="p">]:</span>
<a id="__codelineno-0-847" name="__codelineno-0-847"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<a id="__codelineno-0-848" name="__codelineno-0-848"></a><span class="sd"> Read the manifest entries from the manifest file.</span>
<a id="__codelineno-0-849" name="__codelineno-0-849"></a>
<a id="__codelineno-0-850" name="__codelineno-0-850"></a><span class="sd"> Args:</span>
<a id="__codelineno-0-851" name="__codelineno-0-851"></a><span class="sd"> io: The FileIO to fetch the file.</span>
<a id="__codelineno-0-852" name="__codelineno-0-852"></a><span class="sd"> discard_deleted: Filter on live entries.</span>
<a id="__codelineno-0-853" name="__codelineno-0-853"></a>
<a id="__codelineno-0-854" name="__codelineno-0-854"></a><span class="sd"> Returns:</span>
<a id="__codelineno-0-855" name="__codelineno-0-855"></a><span class="sd"> An Iterator of manifest entries.</span>
<a id="__codelineno-0-856" name="__codelineno-0-856"></a><span class="sd"> &quot;&quot;&quot;</span>
<a id="__codelineno-0-857" name="__codelineno-0-857"></a> <span class="n">input_file</span> <span class="o">=</span> <span class="n">io</span><span class="o">.</span><span class="n">new_input</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">manifest_path</span><span class="p">)</span>
<a id="__codelineno-0-858" name="__codelineno-0-858"></a> <span class="k">with</span> <span class="n">AvroFile</span><span class="p">[</span><span class="n">ManifestEntry</span><span class="p">](</span>
<a id="__codelineno-0-859" name="__codelineno-0-859"></a> <span class="n">input_file</span><span class="p">,</span>
<a id="__codelineno-0-860" name="__codelineno-0-860"></a> <span class="n">MANIFEST_ENTRY_SCHEMAS</span><span class="p">[</span><span class="n">DEFAULT_READ_VERSION</span><span class="p">],</span>
<a id="__codelineno-0-861" name="__codelineno-0-861"></a> <span class="n">read_types</span><span class="o">=</span><span class="p">{</span><span class="o">-</span><span class="mi">1</span><span class="p">:</span> <span class="n">ManifestEntry</span><span class="p">,</span> <span class="mi">2</span><span class="p">:</span> <span class="n">DataFile</span><span class="p">},</span>
<a id="__codelineno-0-862" name="__codelineno-0-862"></a> <span class="n">read_enums</span><span class="o">=</span><span class="p">{</span><span class="mi">0</span><span class="p">:</span> <span class="n">ManifestEntryStatus</span><span class="p">,</span> <span class="mi">101</span><span class="p">:</span> <span class="n">FileFormat</span><span class="p">,</span> <span class="mi">134</span><span class="p">:</span> <span class="n">DataFileContent</span><span class="p">},</span>
<a id="__codelineno-0-863" name="__codelineno-0-863"></a> <span class="p">)</span> <span class="k">as</span> <span class="n">reader</span><span class="p">:</span>
<a id="__codelineno-0-864" name="__codelineno-0-864"></a> <span class="k">return</span> <span class="p">[</span>
<a id="__codelineno-0-865" name="__codelineno-0-865"></a> <span class="n">_inherit_from_manifest</span><span class="p">(</span><span class="n">entry</span><span class="p">,</span> <span class="bp">self</span><span class="p">)</span>
<a id="__codelineno-0-866" name="__codelineno-0-866"></a> <span class="k">for</span> <span class="n">entry</span> <span class="ow">in</span> <span class="n">reader</span>
<a id="__codelineno-0-867" name="__codelineno-0-867"></a> <span class="k">if</span> <span class="ow">not</span> <span class="n">discard_deleted</span> <span class="ow">or</span> <span class="n">entry</span><span class="o">.</span><span class="n">status</span> <span class="o">!=</span> <span class="n">ManifestEntryStatus</span><span class="o">.</span><span class="n">DELETED</span>
<a id="__codelineno-0-868" name="__codelineno-0-868"></a> <span class="p">]</span>
</code></pre></div></td></tr></table></div>
</details>
</div>
</div>
</div>
</div>
</div>
<div class="doc doc-object doc-class">
<h2 id="pyiceberg.manifest.ManifestListWriter" class="doc doc-heading">
<code>ManifestListWriter</code>
<a href="#pyiceberg.manifest.ManifestListWriter" class="headerlink" title="Permanent link">&para;</a></h2>
<div class="doc doc-contents ">
<p class="doc doc-class-bases">
Bases: <code><span title="abc.ABC">ABC</span></code></p>
<details class="quote">
<summary>Source code in <code>pyiceberg/manifest.py</code></summary>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-1199">1199</a></span>
<span class="normal"><a href="#__codelineno-0-1200">1200</a></span>
<span class="normal"><a href="#__codelineno-0-1201">1201</a></span>
<span class="normal"><a href="#__codelineno-0-1202">1202</a></span>
<span class="normal"><a href="#__codelineno-0-1203">1203</a></span>
<span class="normal"><a href="#__codelineno-0-1204">1204</a></span>
<span class="normal"><a href="#__codelineno-0-1205">1205</a></span>
<span class="normal"><a href="#__codelineno-0-1206">1206</a></span>
<span class="normal"><a href="#__codelineno-0-1207">1207</a></span>
<span class="normal"><a href="#__codelineno-0-1208">1208</a></span>
<span class="normal"><a href="#__codelineno-0-1209">1209</a></span>
<span class="normal"><a href="#__codelineno-0-1210">1210</a></span>
<span class="normal"><a href="#__codelineno-0-1211">1211</a></span>
<span class="normal"><a href="#__codelineno-0-1212">1212</a></span>
<span class="normal"><a href="#__codelineno-0-1213">1213</a></span>
<span class="normal"><a href="#__codelineno-0-1214">1214</a></span>
<span class="normal"><a href="#__codelineno-0-1215">1215</a></span>
<span class="normal"><a href="#__codelineno-0-1216">1216</a></span>
<span class="normal"><a href="#__codelineno-0-1217">1217</a></span>
<span class="normal"><a href="#__codelineno-0-1218">1218</a></span>
<span class="normal"><a href="#__codelineno-0-1219">1219</a></span>
<span class="normal"><a href="#__codelineno-0-1220">1220</a></span>
<span class="normal"><a href="#__codelineno-0-1221">1221</a></span>
<span class="normal"><a href="#__codelineno-0-1222">1222</a></span>
<span class="normal"><a href="#__codelineno-0-1223">1223</a></span>
<span class="normal"><a href="#__codelineno-0-1224">1224</a></span>
<span class="normal"><a href="#__codelineno-0-1225">1225</a></span>
<span class="normal"><a href="#__codelineno-0-1226">1226</a></span>
<span class="normal"><a href="#__codelineno-0-1227">1227</a></span>
<span class="normal"><a href="#__codelineno-0-1228">1228</a></span>
<span class="normal"><a href="#__codelineno-0-1229">1229</a></span>
<span class="normal"><a href="#__codelineno-0-1230">1230</a></span>
<span class="normal"><a href="#__codelineno-0-1231">1231</a></span>
<span class="normal"><a href="#__codelineno-0-1232">1232</a></span>
<span class="normal"><a href="#__codelineno-0-1233">1233</a></span>
<span class="normal"><a href="#__codelineno-0-1234">1234</a></span>
<span class="normal"><a href="#__codelineno-0-1235">1235</a></span>
<span class="normal"><a href="#__codelineno-0-1236">1236</a></span>
<span class="normal"><a href="#__codelineno-0-1237">1237</a></span>
<span class="normal"><a href="#__codelineno-0-1238">1238</a></span>
<span class="normal"><a href="#__codelineno-0-1239">1239</a></span>
<span class="normal"><a href="#__codelineno-0-1240">1240</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-1199" name="__codelineno-0-1199"></a><span class="k">class</span><span class="w"> </span><span class="nc">ManifestListWriter</span><span class="p">(</span><span class="n">ABC</span><span class="p">):</span>
<a id="__codelineno-0-1200" name="__codelineno-0-1200"></a> <span class="n">_format_version</span><span class="p">:</span> <span class="n">TableVersion</span>
<a id="__codelineno-0-1201" name="__codelineno-0-1201"></a> <span class="n">_output_file</span><span class="p">:</span> <span class="n">OutputFile</span>
<a id="__codelineno-0-1202" name="__codelineno-0-1202"></a> <span class="n">_meta</span><span class="p">:</span> <span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]</span>
<a id="__codelineno-0-1203" name="__codelineno-0-1203"></a> <span class="n">_manifest_files</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="n">ManifestFile</span><span class="p">]</span>
<a id="__codelineno-0-1204" name="__codelineno-0-1204"></a> <span class="n">_commit_snapshot_id</span><span class="p">:</span> <span class="nb">int</span>
<a id="__codelineno-0-1205" name="__codelineno-0-1205"></a> <span class="n">_writer</span><span class="p">:</span> <span class="n">AvroOutputFile</span><span class="p">[</span><span class="n">ManifestFile</span><span class="p">]</span>
<a id="__codelineno-0-1206" name="__codelineno-0-1206"></a>
<a id="__codelineno-0-1207" name="__codelineno-0-1207"></a> <span class="k">def</span><span class="w"> </span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">format_version</span><span class="p">:</span> <span class="n">TableVersion</span><span class="p">,</span> <span class="n">output_file</span><span class="p">:</span> <span class="n">OutputFile</span><span class="p">,</span> <span class="n">meta</span><span class="p">:</span> <span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="n">Any</span><span class="p">]):</span>
<a id="__codelineno-0-1208" name="__codelineno-0-1208"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_format_version</span> <span class="o">=</span> <span class="n">format_version</span>
<a id="__codelineno-0-1209" name="__codelineno-0-1209"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_output_file</span> <span class="o">=</span> <span class="n">output_file</span>
<a id="__codelineno-0-1210" name="__codelineno-0-1210"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_meta</span> <span class="o">=</span> <span class="n">meta</span>
<a id="__codelineno-0-1211" name="__codelineno-0-1211"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_manifest_files</span> <span class="o">=</span> <span class="p">[]</span>
<a id="__codelineno-0-1212" name="__codelineno-0-1212"></a>
<a id="__codelineno-0-1213" name="__codelineno-0-1213"></a> <span class="k">def</span><span class="w"> </span><span class="fm">__enter__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">ManifestListWriter</span><span class="p">:</span>
<a id="__codelineno-0-1214" name="__codelineno-0-1214"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Open the writer for writing.&quot;&quot;&quot;</span>
<a id="__codelineno-0-1215" name="__codelineno-0-1215"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_writer</span> <span class="o">=</span> <span class="n">AvroOutputFile</span><span class="p">[</span><span class="n">ManifestFile</span><span class="p">](</span>
<a id="__codelineno-0-1216" name="__codelineno-0-1216"></a> <span class="n">output_file</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_output_file</span><span class="p">,</span>
<a id="__codelineno-0-1217" name="__codelineno-0-1217"></a> <span class="n">record_schema</span><span class="o">=</span><span class="n">MANIFEST_LIST_FILE_SCHEMAS</span><span class="p">[</span><span class="n">DEFAULT_READ_VERSION</span><span class="p">],</span>
<a id="__codelineno-0-1218" name="__codelineno-0-1218"></a> <span class="n">file_schema</span><span class="o">=</span><span class="n">MANIFEST_LIST_FILE_SCHEMAS</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">_format_version</span><span class="p">],</span>
<a id="__codelineno-0-1219" name="__codelineno-0-1219"></a> <span class="n">schema_name</span><span class="o">=</span><span class="s2">&quot;manifest_file&quot;</span><span class="p">,</span>
<a id="__codelineno-0-1220" name="__codelineno-0-1220"></a> <span class="n">metadata</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_meta</span><span class="p">,</span>
<a id="__codelineno-0-1221" name="__codelineno-0-1221"></a> <span class="p">)</span>
<a id="__codelineno-0-1222" name="__codelineno-0-1222"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_writer</span><span class="o">.</span><span class="fm">__enter__</span><span class="p">()</span>
<a id="__codelineno-0-1223" name="__codelineno-0-1223"></a> <span class="k">return</span> <span class="bp">self</span>
<a id="__codelineno-0-1224" name="__codelineno-0-1224"></a>
<a id="__codelineno-0-1225" name="__codelineno-0-1225"></a> <span class="k">def</span><span class="w"> </span><span class="fm">__exit__</span><span class="p">(</span>
<a id="__codelineno-0-1226" name="__codelineno-0-1226"></a> <span class="bp">self</span><span class="p">,</span>
<a id="__codelineno-0-1227" name="__codelineno-0-1227"></a> <span class="n">exc_type</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">Type</span><span class="p">[</span><span class="ne">BaseException</span><span class="p">]],</span>
<a id="__codelineno-0-1228" name="__codelineno-0-1228"></a> <span class="n">exc_value</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="ne">BaseException</span><span class="p">],</span>
<a id="__codelineno-0-1229" name="__codelineno-0-1229"></a> <span class="n">traceback</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">TracebackType</span><span class="p">],</span>
<a id="__codelineno-0-1230" name="__codelineno-0-1230"></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
<a id="__codelineno-0-1231" name="__codelineno-0-1231"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Close the writer.&quot;&quot;&quot;</span>
<a id="__codelineno-0-1232" name="__codelineno-0-1232"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_writer</span><span class="o">.</span><span class="fm">__exit__</span><span class="p">(</span><span class="n">exc_type</span><span class="p">,</span> <span class="n">exc_value</span><span class="p">,</span> <span class="n">traceback</span><span class="p">)</span>
<a id="__codelineno-0-1233" name="__codelineno-0-1233"></a> <span class="k">return</span>
<a id="__codelineno-0-1234" name="__codelineno-0-1234"></a>
<a id="__codelineno-0-1235" name="__codelineno-0-1235"></a> <span class="nd">@abstractmethod</span>
<a id="__codelineno-0-1236" name="__codelineno-0-1236"></a> <span class="k">def</span><span class="w"> </span><span class="nf">prepare_manifest</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">manifest_file</span><span class="p">:</span> <span class="n">ManifestFile</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">ManifestFile</span><span class="p">:</span> <span class="o">...</span>
<a id="__codelineno-0-1237" name="__codelineno-0-1237"></a>
<a id="__codelineno-0-1238" name="__codelineno-0-1238"></a> <span class="k">def</span><span class="w"> </span><span class="nf">add_manifests</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">manifest_files</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="n">ManifestFile</span><span class="p">])</span> <span class="o">-&gt;</span> <span class="n">ManifestListWriter</span><span class="p">:</span>
<a id="__codelineno-0-1239" name="__codelineno-0-1239"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_writer</span><span class="o">.</span><span class="n">write_block</span><span class="p">([</span><span class="bp">self</span><span class="o">.</span><span class="n">prepare_manifest</span><span class="p">(</span><span class="n">manifest_file</span><span class="p">)</span> <span class="k">for</span> <span class="n">manifest_file</span> <span class="ow">in</span> <span class="n">manifest_files</span><span class="p">])</span>
<a id="__codelineno-0-1240" name="__codelineno-0-1240"></a> <span class="k">return</span> <span class="bp">self</span>
</code></pre></div></td></tr></table></div>
</details>
<div class="doc doc-children">
<div class="doc doc-object doc-function">
<h3 id="pyiceberg.manifest.ManifestListWriter.__enter__" class="doc doc-heading">
<code class="highlight language-python"><span class="fm">__enter__</span><span class="p">()</span></code>
<a href="#pyiceberg.manifest.ManifestListWriter.__enter__" class="headerlink" title="Permanent link">&para;</a></h3>
<div class="doc doc-contents ">
<p>Open the writer for writing.</p>
<details class="quote">
<summary>Source code in <code>pyiceberg/manifest.py</code></summary>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-1213">1213</a></span>
<span class="normal"><a href="#__codelineno-0-1214">1214</a></span>
<span class="normal"><a href="#__codelineno-0-1215">1215</a></span>
<span class="normal"><a href="#__codelineno-0-1216">1216</a></span>
<span class="normal"><a href="#__codelineno-0-1217">1217</a></span>
<span class="normal"><a href="#__codelineno-0-1218">1218</a></span>
<span class="normal"><a href="#__codelineno-0-1219">1219</a></span>
<span class="normal"><a href="#__codelineno-0-1220">1220</a></span>
<span class="normal"><a href="#__codelineno-0-1221">1221</a></span>
<span class="normal"><a href="#__codelineno-0-1222">1222</a></span>
<span class="normal"><a href="#__codelineno-0-1223">1223</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-1213" name="__codelineno-0-1213"></a><span class="k">def</span><span class="w"> </span><span class="fm">__enter__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">ManifestListWriter</span><span class="p">:</span>
<a id="__codelineno-0-1214" name="__codelineno-0-1214"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Open the writer for writing.&quot;&quot;&quot;</span>
<a id="__codelineno-0-1215" name="__codelineno-0-1215"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_writer</span> <span class="o">=</span> <span class="n">AvroOutputFile</span><span class="p">[</span><span class="n">ManifestFile</span><span class="p">](</span>
<a id="__codelineno-0-1216" name="__codelineno-0-1216"></a> <span class="n">output_file</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_output_file</span><span class="p">,</span>
<a id="__codelineno-0-1217" name="__codelineno-0-1217"></a> <span class="n">record_schema</span><span class="o">=</span><span class="n">MANIFEST_LIST_FILE_SCHEMAS</span><span class="p">[</span><span class="n">DEFAULT_READ_VERSION</span><span class="p">],</span>
<a id="__codelineno-0-1218" name="__codelineno-0-1218"></a> <span class="n">file_schema</span><span class="o">=</span><span class="n">MANIFEST_LIST_FILE_SCHEMAS</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">_format_version</span><span class="p">],</span>
<a id="__codelineno-0-1219" name="__codelineno-0-1219"></a> <span class="n">schema_name</span><span class="o">=</span><span class="s2">&quot;manifest_file&quot;</span><span class="p">,</span>
<a id="__codelineno-0-1220" name="__codelineno-0-1220"></a> <span class="n">metadata</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_meta</span><span class="p">,</span>
<a id="__codelineno-0-1221" name="__codelineno-0-1221"></a> <span class="p">)</span>
<a id="__codelineno-0-1222" name="__codelineno-0-1222"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_writer</span><span class="o">.</span><span class="fm">__enter__</span><span class="p">()</span>
<a id="__codelineno-0-1223" name="__codelineno-0-1223"></a> <span class="k">return</span> <span class="bp">self</span>
</code></pre></div></td></tr></table></div>
</details>
</div>
</div>
<div class="doc doc-object doc-function">
<h3 id="pyiceberg.manifest.ManifestListWriter.__exit__" class="doc doc-heading">
<code class="highlight language-python"><span class="fm">__exit__</span><span class="p">(</span><span class="n">exc_type</span><span class="p">,</span> <span class="n">exc_value</span><span class="p">,</span> <span class="n">traceback</span><span class="p">)</span></code>
<a href="#pyiceberg.manifest.ManifestListWriter.__exit__" class="headerlink" title="Permanent link">&para;</a></h3>
<div class="doc doc-contents ">
<p>Close the writer.</p>
<details class="quote">
<summary>Source code in <code>pyiceberg/manifest.py</code></summary>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-1225">1225</a></span>
<span class="normal"><a href="#__codelineno-0-1226">1226</a></span>
<span class="normal"><a href="#__codelineno-0-1227">1227</a></span>
<span class="normal"><a href="#__codelineno-0-1228">1228</a></span>
<span class="normal"><a href="#__codelineno-0-1229">1229</a></span>
<span class="normal"><a href="#__codelineno-0-1230">1230</a></span>
<span class="normal"><a href="#__codelineno-0-1231">1231</a></span>
<span class="normal"><a href="#__codelineno-0-1232">1232</a></span>
<span class="normal"><a href="#__codelineno-0-1233">1233</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-1225" name="__codelineno-0-1225"></a><span class="k">def</span><span class="w"> </span><span class="fm">__exit__</span><span class="p">(</span>
<a id="__codelineno-0-1226" name="__codelineno-0-1226"></a> <span class="bp">self</span><span class="p">,</span>
<a id="__codelineno-0-1227" name="__codelineno-0-1227"></a> <span class="n">exc_type</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">Type</span><span class="p">[</span><span class="ne">BaseException</span><span class="p">]],</span>
<a id="__codelineno-0-1228" name="__codelineno-0-1228"></a> <span class="n">exc_value</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="ne">BaseException</span><span class="p">],</span>
<a id="__codelineno-0-1229" name="__codelineno-0-1229"></a> <span class="n">traceback</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">TracebackType</span><span class="p">],</span>
<a id="__codelineno-0-1230" name="__codelineno-0-1230"></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
<a id="__codelineno-0-1231" name="__codelineno-0-1231"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Close the writer.&quot;&quot;&quot;</span>
<a id="__codelineno-0-1232" name="__codelineno-0-1232"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_writer</span><span class="o">.</span><span class="fm">__exit__</span><span class="p">(</span><span class="n">exc_type</span><span class="p">,</span> <span class="n">exc_value</span><span class="p">,</span> <span class="n">traceback</span><span class="p">)</span>
<a id="__codelineno-0-1233" name="__codelineno-0-1233"></a> <span class="k">return</span>
</code></pre></div></td></tr></table></div>
</details>
</div>
</div>
</div>
</div>
</div>
<div class="doc doc-object doc-class">
<h2 id="pyiceberg.manifest.ManifestWriter" class="doc doc-heading">
<code>ManifestWriter</code>
<a href="#pyiceberg.manifest.ManifestWriter" class="headerlink" title="Permanent link">&para;</a></h2>
<div class="doc doc-contents ">
<p class="doc doc-class-bases">
Bases: <code><span title="abc.ABC">ABC</span></code></p>
<details class="quote">
<summary>Source code in <code>pyiceberg/manifest.py</code></summary>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-944"> 944</a></span>
<span class="normal"><a href="#__codelineno-0-945"> 945</a></span>
<span class="normal"><a href="#__codelineno-0-946"> 946</a></span>
<span class="normal"><a href="#__codelineno-0-947"> 947</a></span>
<span class="normal"><a href="#__codelineno-0-948"> 948</a></span>
<span class="normal"><a href="#__codelineno-0-949"> 949</a></span>
<span class="normal"><a href="#__codelineno-0-950"> 950</a></span>
<span class="normal"><a href="#__codelineno-0-951"> 951</a></span>
<span class="normal"><a href="#__codelineno-0-952"> 952</a></span>
<span class="normal"><a href="#__codelineno-0-953"> 953</a></span>
<span class="normal"><a href="#__codelineno-0-954"> 954</a></span>
<span class="normal"><a href="#__codelineno-0-955"> 955</a></span>
<span class="normal"><a href="#__codelineno-0-956"> 956</a></span>
<span class="normal"><a href="#__codelineno-0-957"> 957</a></span>
<span class="normal"><a href="#__codelineno-0-958"> 958</a></span>
<span class="normal"><a href="#__codelineno-0-959"> 959</a></span>
<span class="normal"><a href="#__codelineno-0-960"> 960</a></span>
<span class="normal"><a href="#__codelineno-0-961"> 961</a></span>
<span class="normal"><a href="#__codelineno-0-962"> 962</a></span>
<span class="normal"><a href="#__codelineno-0-963"> 963</a></span>
<span class="normal"><a href="#__codelineno-0-964"> 964</a></span>
<span class="normal"><a href="#__codelineno-0-965"> 965</a></span>
<span class="normal"><a href="#__codelineno-0-966"> 966</a></span>
<span class="normal"><a href="#__codelineno-0-967"> 967</a></span>
<span class="normal"><a href="#__codelineno-0-968"> 968</a></span>
<span class="normal"><a href="#__codelineno-0-969"> 969</a></span>
<span class="normal"><a href="#__codelineno-0-970"> 970</a></span>
<span class="normal"><a href="#__codelineno-0-971"> 971</a></span>
<span class="normal"><a href="#__codelineno-0-972"> 972</a></span>
<span class="normal"><a href="#__codelineno-0-973"> 973</a></span>
<span class="normal"><a href="#__codelineno-0-974"> 974</a></span>
<span class="normal"><a href="#__codelineno-0-975"> 975</a></span>
<span class="normal"><a href="#__codelineno-0-976"> 976</a></span>
<span class="normal"><a href="#__codelineno-0-977"> 977</a></span>
<span class="normal"><a href="#__codelineno-0-978"> 978</a></span>
<span class="normal"><a href="#__codelineno-0-979"> 979</a></span>
<span class="normal"><a href="#__codelineno-0-980"> 980</a></span>
<span class="normal"><a href="#__codelineno-0-981"> 981</a></span>
<span class="normal"><a href="#__codelineno-0-982"> 982</a></span>
<span class="normal"><a href="#__codelineno-0-983"> 983</a></span>
<span class="normal"><a href="#__codelineno-0-984"> 984</a></span>
<span class="normal"><a href="#__codelineno-0-985"> 985</a></span>
<span class="normal"><a href="#__codelineno-0-986"> 986</a></span>
<span class="normal"><a href="#__codelineno-0-987"> 987</a></span>
<span class="normal"><a href="#__codelineno-0-988"> 988</a></span>
<span class="normal"><a href="#__codelineno-0-989"> 989</a></span>
<span class="normal"><a href="#__codelineno-0-990"> 990</a></span>
<span class="normal"><a href="#__codelineno-0-991"> 991</a></span>
<span class="normal"><a href="#__codelineno-0-992"> 992</a></span>
<span class="normal"><a href="#__codelineno-0-993"> 993</a></span>
<span class="normal"><a href="#__codelineno-0-994"> 994</a></span>
<span class="normal"><a href="#__codelineno-0-995"> 995</a></span>
<span class="normal"><a href="#__codelineno-0-996"> 996</a></span>
<span class="normal"><a href="#__codelineno-0-997"> 997</a></span>
<span class="normal"><a href="#__codelineno-0-998"> 998</a></span>
<span class="normal"><a href="#__codelineno-0-999"> 999</a></span>
<span class="normal"><a href="#__codelineno-0-1000">1000</a></span>
<span class="normal"><a href="#__codelineno-0-1001">1001</a></span>
<span class="normal"><a href="#__codelineno-0-1002">1002</a></span>
<span class="normal"><a href="#__codelineno-0-1003">1003</a></span>
<span class="normal"><a href="#__codelineno-0-1004">1004</a></span>
<span class="normal"><a href="#__codelineno-0-1005">1005</a></span>
<span class="normal"><a href="#__codelineno-0-1006">1006</a></span>
<span class="normal"><a href="#__codelineno-0-1007">1007</a></span>
<span class="normal"><a href="#__codelineno-0-1008">1008</a></span>
<span class="normal"><a href="#__codelineno-0-1009">1009</a></span>
<span class="normal"><a href="#__codelineno-0-1010">1010</a></span>
<span class="normal"><a href="#__codelineno-0-1011">1011</a></span>
<span class="normal"><a href="#__codelineno-0-1012">1012</a></span>
<span class="normal"><a href="#__codelineno-0-1013">1013</a></span>
<span class="normal"><a href="#__codelineno-0-1014">1014</a></span>
<span class="normal"><a href="#__codelineno-0-1015">1015</a></span>
<span class="normal"><a href="#__codelineno-0-1016">1016</a></span>
<span class="normal"><a href="#__codelineno-0-1017">1017</a></span>
<span class="normal"><a href="#__codelineno-0-1018">1018</a></span>
<span class="normal"><a href="#__codelineno-0-1019">1019</a></span>
<span class="normal"><a href="#__codelineno-0-1020">1020</a></span>
<span class="normal"><a href="#__codelineno-0-1021">1021</a></span>
<span class="normal"><a href="#__codelineno-0-1022">1022</a></span>
<span class="normal"><a href="#__codelineno-0-1023">1023</a></span>
<span class="normal"><a href="#__codelineno-0-1024">1024</a></span>
<span class="normal"><a href="#__codelineno-0-1025">1025</a></span>
<span class="normal"><a href="#__codelineno-0-1026">1026</a></span>
<span class="normal"><a href="#__codelineno-0-1027">1027</a></span>
<span class="normal"><a href="#__codelineno-0-1028">1028</a></span>
<span class="normal"><a href="#__codelineno-0-1029">1029</a></span>
<span class="normal"><a href="#__codelineno-0-1030">1030</a></span>
<span class="normal"><a href="#__codelineno-0-1031">1031</a></span>
<span class="normal"><a href="#__codelineno-0-1032">1032</a></span>
<span class="normal"><a href="#__codelineno-0-1033">1033</a></span>
<span class="normal"><a href="#__codelineno-0-1034">1034</a></span>
<span class="normal"><a href="#__codelineno-0-1035">1035</a></span>
<span class="normal"><a href="#__codelineno-0-1036">1036</a></span>
<span class="normal"><a href="#__codelineno-0-1037">1037</a></span>
<span class="normal"><a href="#__codelineno-0-1038">1038</a></span>
<span class="normal"><a href="#__codelineno-0-1039">1039</a></span>
<span class="normal"><a href="#__codelineno-0-1040">1040</a></span>
<span class="normal"><a href="#__codelineno-0-1041">1041</a></span>
<span class="normal"><a href="#__codelineno-0-1042">1042</a></span>
<span class="normal"><a href="#__codelineno-0-1043">1043</a></span>
<span class="normal"><a href="#__codelineno-0-1044">1044</a></span>
<span class="normal"><a href="#__codelineno-0-1045">1045</a></span>
<span class="normal"><a href="#__codelineno-0-1046">1046</a></span>
<span class="normal"><a href="#__codelineno-0-1047">1047</a></span>
<span class="normal"><a href="#__codelineno-0-1048">1048</a></span>
<span class="normal"><a href="#__codelineno-0-1049">1049</a></span>
<span class="normal"><a href="#__codelineno-0-1050">1050</a></span>
<span class="normal"><a href="#__codelineno-0-1051">1051</a></span>
<span class="normal"><a href="#__codelineno-0-1052">1052</a></span>
<span class="normal"><a href="#__codelineno-0-1053">1053</a></span>
<span class="normal"><a href="#__codelineno-0-1054">1054</a></span>
<span class="normal"><a href="#__codelineno-0-1055">1055</a></span>
<span class="normal"><a href="#__codelineno-0-1056">1056</a></span>
<span class="normal"><a href="#__codelineno-0-1057">1057</a></span>
<span class="normal"><a href="#__codelineno-0-1058">1058</a></span>
<span class="normal"><a href="#__codelineno-0-1059">1059</a></span>
<span class="normal"><a href="#__codelineno-0-1060">1060</a></span>
<span class="normal"><a href="#__codelineno-0-1061">1061</a></span>
<span class="normal"><a href="#__codelineno-0-1062">1062</a></span>
<span class="normal"><a href="#__codelineno-0-1063">1063</a></span>
<span class="normal"><a href="#__codelineno-0-1064">1064</a></span>
<span class="normal"><a href="#__codelineno-0-1065">1065</a></span>
<span class="normal"><a href="#__codelineno-0-1066">1066</a></span>
<span class="normal"><a href="#__codelineno-0-1067">1067</a></span>
<span class="normal"><a href="#__codelineno-0-1068">1068</a></span>
<span class="normal"><a href="#__codelineno-0-1069">1069</a></span>
<span class="normal"><a href="#__codelineno-0-1070">1070</a></span>
<span class="normal"><a href="#__codelineno-0-1071">1071</a></span>
<span class="normal"><a href="#__codelineno-0-1072">1072</a></span>
<span class="normal"><a href="#__codelineno-0-1073">1073</a></span>
<span class="normal"><a href="#__codelineno-0-1074">1074</a></span>
<span class="normal"><a href="#__codelineno-0-1075">1075</a></span>
<span class="normal"><a href="#__codelineno-0-1076">1076</a></span>
<span class="normal"><a href="#__codelineno-0-1077">1077</a></span>
<span class="normal"><a href="#__codelineno-0-1078">1078</a></span>
<span class="normal"><a href="#__codelineno-0-1079">1079</a></span>
<span class="normal"><a href="#__codelineno-0-1080">1080</a></span>
<span class="normal"><a href="#__codelineno-0-1081">1081</a></span>
<span class="normal"><a href="#__codelineno-0-1082">1082</a></span>
<span class="normal"><a href="#__codelineno-0-1083">1083</a></span>
<span class="normal"><a href="#__codelineno-0-1084">1084</a></span>
<span class="normal"><a href="#__codelineno-0-1085">1085</a></span>
<span class="normal"><a href="#__codelineno-0-1086">1086</a></span>
<span class="normal"><a href="#__codelineno-0-1087">1087</a></span>
<span class="normal"><a href="#__codelineno-0-1088">1088</a></span>
<span class="normal"><a href="#__codelineno-0-1089">1089</a></span>
<span class="normal"><a href="#__codelineno-0-1090">1090</a></span>
<span class="normal"><a href="#__codelineno-0-1091">1091</a></span>
<span class="normal"><a href="#__codelineno-0-1092">1092</a></span>
<span class="normal"><a href="#__codelineno-0-1093">1093</a></span>
<span class="normal"><a href="#__codelineno-0-1094">1094</a></span>
<span class="normal"><a href="#__codelineno-0-1095">1095</a></span>
<span class="normal"><a href="#__codelineno-0-1096">1096</a></span>
<span class="normal"><a href="#__codelineno-0-1097">1097</a></span>
<span class="normal"><a href="#__codelineno-0-1098">1098</a></span>
<span class="normal"><a href="#__codelineno-0-1099">1099</a></span>
<span class="normal"><a href="#__codelineno-0-1100">1100</a></span>
<span class="normal"><a href="#__codelineno-0-1101">1101</a></span>
<span class="normal"><a href="#__codelineno-0-1102">1102</a></span>
<span class="normal"><a href="#__codelineno-0-1103">1103</a></span>
<span class="normal"><a href="#__codelineno-0-1104">1104</a></span>
<span class="normal"><a href="#__codelineno-0-1105">1105</a></span>
<span class="normal"><a href="#__codelineno-0-1106">1106</a></span>
<span class="normal"><a href="#__codelineno-0-1107">1107</a></span>
<span class="normal"><a href="#__codelineno-0-1108">1108</a></span>
<span class="normal"><a href="#__codelineno-0-1109">1109</a></span>
<span class="normal"><a href="#__codelineno-0-1110">1110</a></span>
<span class="normal"><a href="#__codelineno-0-1111">1111</a></span>
<span class="normal"><a href="#__codelineno-0-1112">1112</a></span>
<span class="normal"><a href="#__codelineno-0-1113">1113</a></span>
<span class="normal"><a href="#__codelineno-0-1114">1114</a></span>
<span class="normal"><a href="#__codelineno-0-1115">1115</a></span>
<span class="normal"><a href="#__codelineno-0-1116">1116</a></span>
<span class="normal"><a href="#__codelineno-0-1117">1117</a></span>
<span class="normal"><a href="#__codelineno-0-1118">1118</a></span>
<span class="normal"><a href="#__codelineno-0-1119">1119</a></span>
<span class="normal"><a href="#__codelineno-0-1120">1120</a></span>
<span class="normal"><a href="#__codelineno-0-1121">1121</a></span>
<span class="normal"><a href="#__codelineno-0-1122">1122</a></span>
<span class="normal"><a href="#__codelineno-0-1123">1123</a></span>
<span class="normal"><a href="#__codelineno-0-1124">1124</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-944" name="__codelineno-0-944"></a><span class="k">class</span><span class="w"> </span><span class="nc">ManifestWriter</span><span class="p">(</span><span class="n">ABC</span><span class="p">):</span>
<a id="__codelineno-0-945" name="__codelineno-0-945"></a> <span class="n">closed</span><span class="p">:</span> <span class="nb">bool</span>
<a id="__codelineno-0-946" name="__codelineno-0-946"></a> <span class="n">_spec</span><span class="p">:</span> <span class="n">PartitionSpec</span>
<a id="__codelineno-0-947" name="__codelineno-0-947"></a> <span class="n">_schema</span><span class="p">:</span> <span class="n">Schema</span>
<a id="__codelineno-0-948" name="__codelineno-0-948"></a> <span class="n">_output_file</span><span class="p">:</span> <span class="n">OutputFile</span>
<a id="__codelineno-0-949" name="__codelineno-0-949"></a> <span class="n">_writer</span><span class="p">:</span> <span class="n">AvroOutputFile</span><span class="p">[</span><span class="n">ManifestEntry</span><span class="p">]</span>
<a id="__codelineno-0-950" name="__codelineno-0-950"></a> <span class="n">_snapshot_id</span><span class="p">:</span> <span class="nb">int</span>
<a id="__codelineno-0-951" name="__codelineno-0-951"></a> <span class="n">_added_files</span><span class="p">:</span> <span class="nb">int</span>
<a id="__codelineno-0-952" name="__codelineno-0-952"></a> <span class="n">_added_rows</span><span class="p">:</span> <span class="nb">int</span>
<a id="__codelineno-0-953" name="__codelineno-0-953"></a> <span class="n">_existing_files</span><span class="p">:</span> <span class="nb">int</span>
<a id="__codelineno-0-954" name="__codelineno-0-954"></a> <span class="n">_existing_rows</span><span class="p">:</span> <span class="nb">int</span>
<a id="__codelineno-0-955" name="__codelineno-0-955"></a> <span class="n">_deleted_files</span><span class="p">:</span> <span class="nb">int</span>
<a id="__codelineno-0-956" name="__codelineno-0-956"></a> <span class="n">_deleted_rows</span><span class="p">:</span> <span class="nb">int</span>
<a id="__codelineno-0-957" name="__codelineno-0-957"></a> <span class="n">_min_sequence_number</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="nb">int</span><span class="p">]</span>
<a id="__codelineno-0-958" name="__codelineno-0-958"></a> <span class="n">_partitions</span><span class="p">:</span> <span class="n">List</span><span class="p">[</span><span class="n">Record</span><span class="p">]</span>
<a id="__codelineno-0-959" name="__codelineno-0-959"></a> <span class="n">_compression</span><span class="p">:</span> <span class="n">AvroCompressionCodec</span>
<a id="__codelineno-0-960" name="__codelineno-0-960"></a>
<a id="__codelineno-0-961" name="__codelineno-0-961"></a> <span class="k">def</span><span class="w"> </span><span class="fm">__init__</span><span class="p">(</span>
<a id="__codelineno-0-962" name="__codelineno-0-962"></a> <span class="bp">self</span><span class="p">,</span>
<a id="__codelineno-0-963" name="__codelineno-0-963"></a> <span class="n">spec</span><span class="p">:</span> <span class="n">PartitionSpec</span><span class="p">,</span>
<a id="__codelineno-0-964" name="__codelineno-0-964"></a> <span class="n">schema</span><span class="p">:</span> <span class="n">Schema</span><span class="p">,</span>
<a id="__codelineno-0-965" name="__codelineno-0-965"></a> <span class="n">output_file</span><span class="p">:</span> <span class="n">OutputFile</span><span class="p">,</span>
<a id="__codelineno-0-966" name="__codelineno-0-966"></a> <span class="n">snapshot_id</span><span class="p">:</span> <span class="nb">int</span><span class="p">,</span>
<a id="__codelineno-0-967" name="__codelineno-0-967"></a> <span class="n">avro_compression</span><span class="p">:</span> <span class="n">AvroCompressionCodec</span><span class="p">,</span>
<a id="__codelineno-0-968" name="__codelineno-0-968"></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
<a id="__codelineno-0-969" name="__codelineno-0-969"></a> <span class="bp">self</span><span class="o">.</span><span class="n">closed</span> <span class="o">=</span> <span class="kc">False</span>
<a id="__codelineno-0-970" name="__codelineno-0-970"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_spec</span> <span class="o">=</span> <span class="n">spec</span>
<a id="__codelineno-0-971" name="__codelineno-0-971"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_schema</span> <span class="o">=</span> <span class="n">schema</span>
<a id="__codelineno-0-972" name="__codelineno-0-972"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_output_file</span> <span class="o">=</span> <span class="n">output_file</span>
<a id="__codelineno-0-973" name="__codelineno-0-973"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_snapshot_id</span> <span class="o">=</span> <span class="n">snapshot_id</span>
<a id="__codelineno-0-974" name="__codelineno-0-974"></a>
<a id="__codelineno-0-975" name="__codelineno-0-975"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_added_files</span> <span class="o">=</span> <span class="mi">0</span>
<a id="__codelineno-0-976" name="__codelineno-0-976"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_added_rows</span> <span class="o">=</span> <span class="mi">0</span>
<a id="__codelineno-0-977" name="__codelineno-0-977"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_existing_files</span> <span class="o">=</span> <span class="mi">0</span>
<a id="__codelineno-0-978" name="__codelineno-0-978"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_existing_rows</span> <span class="o">=</span> <span class="mi">0</span>
<a id="__codelineno-0-979" name="__codelineno-0-979"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_deleted_files</span> <span class="o">=</span> <span class="mi">0</span>
<a id="__codelineno-0-980" name="__codelineno-0-980"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_deleted_rows</span> <span class="o">=</span> <span class="mi">0</span>
<a id="__codelineno-0-981" name="__codelineno-0-981"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_min_sequence_number</span> <span class="o">=</span> <span class="kc">None</span>
<a id="__codelineno-0-982" name="__codelineno-0-982"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_partitions</span> <span class="o">=</span> <span class="p">[]</span>
<a id="__codelineno-0-983" name="__codelineno-0-983"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_compression</span> <span class="o">=</span> <span class="n">avro_compression</span>
<a id="__codelineno-0-984" name="__codelineno-0-984"></a>
<a id="__codelineno-0-985" name="__codelineno-0-985"></a> <span class="k">def</span><span class="w"> </span><span class="fm">__enter__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">ManifestWriter</span><span class="p">:</span>
<a id="__codelineno-0-986" name="__codelineno-0-986"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Open the writer.&quot;&quot;&quot;</span>
<a id="__codelineno-0-987" name="__codelineno-0-987"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_writer</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">new_writer</span><span class="p">()</span>
<a id="__codelineno-0-988" name="__codelineno-0-988"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_writer</span><span class="o">.</span><span class="fm">__enter__</span><span class="p">()</span>
<a id="__codelineno-0-989" name="__codelineno-0-989"></a> <span class="k">return</span> <span class="bp">self</span>
<a id="__codelineno-0-990" name="__codelineno-0-990"></a>
<a id="__codelineno-0-991" name="__codelineno-0-991"></a> <span class="k">def</span><span class="w"> </span><span class="fm">__exit__</span><span class="p">(</span>
<a id="__codelineno-0-992" name="__codelineno-0-992"></a> <span class="bp">self</span><span class="p">,</span>
<a id="__codelineno-0-993" name="__codelineno-0-993"></a> <span class="n">exc_type</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">Type</span><span class="p">[</span><span class="ne">BaseException</span><span class="p">]],</span>
<a id="__codelineno-0-994" name="__codelineno-0-994"></a> <span class="n">exc_value</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="ne">BaseException</span><span class="p">],</span>
<a id="__codelineno-0-995" name="__codelineno-0-995"></a> <span class="n">traceback</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">TracebackType</span><span class="p">],</span>
<a id="__codelineno-0-996" name="__codelineno-0-996"></a> <span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
<a id="__codelineno-0-997" name="__codelineno-0-997"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Close the writer.&quot;&quot;&quot;</span>
<a id="__codelineno-0-998" name="__codelineno-0-998"></a> <span class="k">if</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_added_files</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">_existing_files</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">_deleted_files</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
<a id="__codelineno-0-999" name="__codelineno-0-999"></a> <span class="c1"># This is just a guard to ensure that we don&#39;t write empty manifest files</span>
<a id="__codelineno-0-1000" name="__codelineno-0-1000"></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;An empty manifest file has been written&quot;</span><span class="p">)</span>
<a id="__codelineno-0-1001" name="__codelineno-0-1001"></a>
<a id="__codelineno-0-1002" name="__codelineno-0-1002"></a> <span class="bp">self</span><span class="o">.</span><span class="n">closed</span> <span class="o">=</span> <span class="kc">True</span>
<a id="__codelineno-0-1003" name="__codelineno-0-1003"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_writer</span><span class="o">.</span><span class="fm">__exit__</span><span class="p">(</span><span class="n">exc_type</span><span class="p">,</span> <span class="n">exc_value</span><span class="p">,</span> <span class="n">traceback</span><span class="p">)</span>
<a id="__codelineno-0-1004" name="__codelineno-0-1004"></a>
<a id="__codelineno-0-1005" name="__codelineno-0-1005"></a> <span class="nd">@abstractmethod</span>
<a id="__codelineno-0-1006" name="__codelineno-0-1006"></a> <span class="k">def</span><span class="w"> </span><span class="nf">content</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">ManifestContent</span><span class="p">:</span> <span class="o">...</span>
<a id="__codelineno-0-1007" name="__codelineno-0-1007"></a>
<a id="__codelineno-0-1008" name="__codelineno-0-1008"></a> <span class="nd">@property</span>
<a id="__codelineno-0-1009" name="__codelineno-0-1009"></a> <span class="nd">@abstractmethod</span>
<a id="__codelineno-0-1010" name="__codelineno-0-1010"></a> <span class="k">def</span><span class="w"> </span><span class="nf">version</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">TableVersion</span><span class="p">:</span> <span class="o">...</span>
<a id="__codelineno-0-1011" name="__codelineno-0-1011"></a>
<a id="__codelineno-0-1012" name="__codelineno-0-1012"></a> <span class="nd">@property</span>
<a id="__codelineno-0-1013" name="__codelineno-0-1013"></a> <span class="k">def</span><span class="w"> </span><span class="nf">_meta</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Dict</span><span class="p">[</span><span class="nb">str</span><span class="p">,</span> <span class="nb">str</span><span class="p">]:</span>
<a id="__codelineno-0-1014" name="__codelineno-0-1014"></a> <span class="k">return</span> <span class="p">{</span>
<a id="__codelineno-0-1015" name="__codelineno-0-1015"></a> <span class="s2">&quot;schema&quot;</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">_schema</span><span class="o">.</span><span class="n">model_dump_json</span><span class="p">(),</span>
<a id="__codelineno-0-1016" name="__codelineno-0-1016"></a> <span class="s2">&quot;partition-spec&quot;</span><span class="p">:</span> <span class="n">to_json</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_spec</span><span class="o">.</span><span class="n">fields</span><span class="p">)</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s2">&quot;utf-8&quot;</span><span class="p">),</span>
<a id="__codelineno-0-1017" name="__codelineno-0-1017"></a> <span class="s2">&quot;partition-spec-id&quot;</span><span class="p">:</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_spec</span><span class="o">.</span><span class="n">spec_id</span><span class="p">),</span>
<a id="__codelineno-0-1018" name="__codelineno-0-1018"></a> <span class="s2">&quot;format-version&quot;</span><span class="p">:</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">version</span><span class="p">),</span>
<a id="__codelineno-0-1019" name="__codelineno-0-1019"></a> <span class="n">AVRO_CODEC_KEY</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">_compression</span><span class="p">,</span>
<a id="__codelineno-0-1020" name="__codelineno-0-1020"></a> <span class="p">}</span>
<a id="__codelineno-0-1021" name="__codelineno-0-1021"></a>
<a id="__codelineno-0-1022" name="__codelineno-0-1022"></a> <span class="k">def</span><span class="w"> </span><span class="nf">_with_partition</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">format_version</span><span class="p">:</span> <span class="n">TableVersion</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Schema</span><span class="p">:</span>
<a id="__codelineno-0-1023" name="__codelineno-0-1023"></a> <span class="n">data_file_type</span> <span class="o">=</span> <span class="n">data_file_with_partition</span><span class="p">(</span>
<a id="__codelineno-0-1024" name="__codelineno-0-1024"></a> <span class="n">format_version</span><span class="o">=</span><span class="n">format_version</span><span class="p">,</span> <span class="n">partition_type</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_spec</span><span class="o">.</span><span class="n">partition_type</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_schema</span><span class="p">)</span>
<a id="__codelineno-0-1025" name="__codelineno-0-1025"></a> <span class="p">)</span>
<a id="__codelineno-0-1026" name="__codelineno-0-1026"></a> <span class="k">return</span> <span class="n">manifest_entry_schema_with_data_file</span><span class="p">(</span><span class="n">format_version</span><span class="o">=</span><span class="n">format_version</span><span class="p">,</span> <span class="n">data_file</span><span class="o">=</span><span class="n">data_file_type</span><span class="p">)</span>
<a id="__codelineno-0-1027" name="__codelineno-0-1027"></a>
<a id="__codelineno-0-1028" name="__codelineno-0-1028"></a> <span class="k">def</span><span class="w"> </span><span class="nf">new_writer</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">AvroOutputFile</span><span class="p">[</span><span class="n">ManifestEntry</span><span class="p">]:</span>
<a id="__codelineno-0-1029" name="__codelineno-0-1029"></a> <span class="k">return</span> <span class="n">AvroOutputFile</span><span class="p">[</span><span class="n">ManifestEntry</span><span class="p">](</span>
<a id="__codelineno-0-1030" name="__codelineno-0-1030"></a> <span class="n">output_file</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_output_file</span><span class="p">,</span>
<a id="__codelineno-0-1031" name="__codelineno-0-1031"></a> <span class="n">file_schema</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_with_partition</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">version</span><span class="p">),</span>
<a id="__codelineno-0-1032" name="__codelineno-0-1032"></a> <span class="n">record_schema</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_with_partition</span><span class="p">(</span><span class="n">DEFAULT_READ_VERSION</span><span class="p">),</span>
<a id="__codelineno-0-1033" name="__codelineno-0-1033"></a> <span class="n">schema_name</span><span class="o">=</span><span class="s2">&quot;manifest_entry&quot;</span><span class="p">,</span>
<a id="__codelineno-0-1034" name="__codelineno-0-1034"></a> <span class="n">metadata</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_meta</span><span class="p">,</span>
<a id="__codelineno-0-1035" name="__codelineno-0-1035"></a> <span class="p">)</span>
<a id="__codelineno-0-1036" name="__codelineno-0-1036"></a>
<a id="__codelineno-0-1037" name="__codelineno-0-1037"></a> <span class="nd">@abstractmethod</span>
<a id="__codelineno-0-1038" name="__codelineno-0-1038"></a> <span class="k">def</span><span class="w"> </span><span class="nf">prepare_entry</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">entry</span><span class="p">:</span> <span class="n">ManifestEntry</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">ManifestEntry</span><span class="p">:</span> <span class="o">...</span>
<a id="__codelineno-0-1039" name="__codelineno-0-1039"></a>
<a id="__codelineno-0-1040" name="__codelineno-0-1040"></a> <span class="k">def</span><span class="w"> </span><span class="nf">to_manifest_file</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">ManifestFile</span><span class="p">:</span>
<a id="__codelineno-0-1041" name="__codelineno-0-1041"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Return the manifest file.&quot;&quot;&quot;</span>
<a id="__codelineno-0-1042" name="__codelineno-0-1042"></a> <span class="c1"># once the manifest file is generated, no more entries can be added</span>
<a id="__codelineno-0-1043" name="__codelineno-0-1043"></a> <span class="bp">self</span><span class="o">.</span><span class="n">closed</span> <span class="o">=</span> <span class="kc">True</span>
<a id="__codelineno-0-1044" name="__codelineno-0-1044"></a> <span class="n">min_sequence_number</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_min_sequence_number</span> <span class="ow">or</span> <span class="n">UNASSIGNED_SEQ</span>
<a id="__codelineno-0-1045" name="__codelineno-0-1045"></a> <span class="k">return</span> <span class="n">ManifestFile</span><span class="o">.</span><span class="n">from_args</span><span class="p">(</span>
<a id="__codelineno-0-1046" name="__codelineno-0-1046"></a> <span class="n">manifest_path</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_output_file</span><span class="o">.</span><span class="n">location</span><span class="p">,</span>
<a id="__codelineno-0-1047" name="__codelineno-0-1047"></a> <span class="n">manifest_length</span><span class="o">=</span><span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_writer</span><span class="o">.</span><span class="n">output_file</span><span class="p">),</span>
<a id="__codelineno-0-1048" name="__codelineno-0-1048"></a> <span class="n">partition_spec_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_spec</span><span class="o">.</span><span class="n">spec_id</span><span class="p">,</span>
<a id="__codelineno-0-1049" name="__codelineno-0-1049"></a> <span class="n">content</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">content</span><span class="p">(),</span>
<a id="__codelineno-0-1050" name="__codelineno-0-1050"></a> <span class="n">sequence_number</span><span class="o">=</span><span class="n">UNASSIGNED_SEQ</span><span class="p">,</span>
<a id="__codelineno-0-1051" name="__codelineno-0-1051"></a> <span class="n">min_sequence_number</span><span class="o">=</span><span class="n">min_sequence_number</span><span class="p">,</span>
<a id="__codelineno-0-1052" name="__codelineno-0-1052"></a> <span class="n">added_snapshot_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_snapshot_id</span><span class="p">,</span>
<a id="__codelineno-0-1053" name="__codelineno-0-1053"></a> <span class="n">added_files_count</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_added_files</span><span class="p">,</span>
<a id="__codelineno-0-1054" name="__codelineno-0-1054"></a> <span class="n">existing_files_count</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_existing_files</span><span class="p">,</span>
<a id="__codelineno-0-1055" name="__codelineno-0-1055"></a> <span class="n">deleted_files_count</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_deleted_files</span><span class="p">,</span>
<a id="__codelineno-0-1056" name="__codelineno-0-1056"></a> <span class="n">added_rows_count</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_added_rows</span><span class="p">,</span>
<a id="__codelineno-0-1057" name="__codelineno-0-1057"></a> <span class="n">existing_rows_count</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_existing_rows</span><span class="p">,</span>
<a id="__codelineno-0-1058" name="__codelineno-0-1058"></a> <span class="n">deleted_rows_count</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_deleted_rows</span><span class="p">,</span>
<a id="__codelineno-0-1059" name="__codelineno-0-1059"></a> <span class="n">partitions</span><span class="o">=</span><span class="n">construct_partition_summaries</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_spec</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_schema</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_partitions</span><span class="p">),</span>
<a id="__codelineno-0-1060" name="__codelineno-0-1060"></a> <span class="n">key_metadata</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
<a id="__codelineno-0-1061" name="__codelineno-0-1061"></a> <span class="p">)</span>
<a id="__codelineno-0-1062" name="__codelineno-0-1062"></a>
<a id="__codelineno-0-1063" name="__codelineno-0-1063"></a> <span class="k">def</span><span class="w"> </span><span class="nf">add_entry</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">entry</span><span class="p">:</span> <span class="n">ManifestEntry</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">ManifestWriter</span><span class="p">:</span>
<a id="__codelineno-0-1064" name="__codelineno-0-1064"></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">closed</span><span class="p">:</span>
<a id="__codelineno-0-1065" name="__codelineno-0-1065"></a> <span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s2">&quot;Cannot add entry to closed manifest writer&quot;</span><span class="p">)</span>
<a id="__codelineno-0-1066" name="__codelineno-0-1066"></a> <span class="k">if</span> <span class="n">entry</span><span class="o">.</span><span class="n">status</span> <span class="o">==</span> <span class="n">ManifestEntryStatus</span><span class="o">.</span><span class="n">ADDED</span><span class="p">:</span>
<a id="__codelineno-0-1067" name="__codelineno-0-1067"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_added_files</span> <span class="o">+=</span> <span class="mi">1</span>
<a id="__codelineno-0-1068" name="__codelineno-0-1068"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_added_rows</span> <span class="o">+=</span> <span class="n">entry</span><span class="o">.</span><span class="n">data_file</span><span class="o">.</span><span class="n">record_count</span>
<a id="__codelineno-0-1069" name="__codelineno-0-1069"></a> <span class="k">elif</span> <span class="n">entry</span><span class="o">.</span><span class="n">status</span> <span class="o">==</span> <span class="n">ManifestEntryStatus</span><span class="o">.</span><span class="n">EXISTING</span><span class="p">:</span>
<a id="__codelineno-0-1070" name="__codelineno-0-1070"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_existing_files</span> <span class="o">+=</span> <span class="mi">1</span>
<a id="__codelineno-0-1071" name="__codelineno-0-1071"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_existing_rows</span> <span class="o">+=</span> <span class="n">entry</span><span class="o">.</span><span class="n">data_file</span><span class="o">.</span><span class="n">record_count</span>
<a id="__codelineno-0-1072" name="__codelineno-0-1072"></a> <span class="k">elif</span> <span class="n">entry</span><span class="o">.</span><span class="n">status</span> <span class="o">==</span> <span class="n">ManifestEntryStatus</span><span class="o">.</span><span class="n">DELETED</span><span class="p">:</span>
<a id="__codelineno-0-1073" name="__codelineno-0-1073"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_deleted_files</span> <span class="o">+=</span> <span class="mi">1</span>
<a id="__codelineno-0-1074" name="__codelineno-0-1074"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_deleted_rows</span> <span class="o">+=</span> <span class="n">entry</span><span class="o">.</span><span class="n">data_file</span><span class="o">.</span><span class="n">record_count</span>
<a id="__codelineno-0-1075" name="__codelineno-0-1075"></a> <span class="k">else</span><span class="p">:</span>
<a id="__codelineno-0-1076" name="__codelineno-0-1076"></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Unknown entry: </span><span class="si">{</span><span class="n">entry</span><span class="o">.</span><span class="n">status</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
<a id="__codelineno-0-1077" name="__codelineno-0-1077"></a>
<a id="__codelineno-0-1078" name="__codelineno-0-1078"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_partitions</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">entry</span><span class="o">.</span><span class="n">data_file</span><span class="o">.</span><span class="n">partition</span><span class="p">)</span>
<a id="__codelineno-0-1079" name="__codelineno-0-1079"></a>
<a id="__codelineno-0-1080" name="__codelineno-0-1080"></a> <span class="k">if</span> <span class="p">(</span>
<a id="__codelineno-0-1081" name="__codelineno-0-1081"></a> <span class="p">(</span><span class="n">entry</span><span class="o">.</span><span class="n">status</span> <span class="o">==</span> <span class="n">ManifestEntryStatus</span><span class="o">.</span><span class="n">ADDED</span> <span class="ow">or</span> <span class="n">entry</span><span class="o">.</span><span class="n">status</span> <span class="o">==</span> <span class="n">ManifestEntryStatus</span><span class="o">.</span><span class="n">EXISTING</span><span class="p">)</span>
<a id="__codelineno-0-1082" name="__codelineno-0-1082"></a> <span class="ow">and</span> <span class="n">entry</span><span class="o">.</span><span class="n">sequence_number</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span>
<a id="__codelineno-0-1083" name="__codelineno-0-1083"></a> <span class="ow">and</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_min_sequence_number</span> <span class="ow">is</span> <span class="kc">None</span> <span class="ow">or</span> <span class="n">entry</span><span class="o">.</span><span class="n">sequence_number</span> <span class="o">&lt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">_min_sequence_number</span><span class="p">)</span>
<a id="__codelineno-0-1084" name="__codelineno-0-1084"></a> <span class="p">):</span>
<a id="__codelineno-0-1085" name="__codelineno-0-1085"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_min_sequence_number</span> <span class="o">=</span> <span class="n">entry</span><span class="o">.</span><span class="n">sequence_number</span>
<a id="__codelineno-0-1086" name="__codelineno-0-1086"></a>
<a id="__codelineno-0-1087" name="__codelineno-0-1087"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_writer</span><span class="o">.</span><span class="n">write_block</span><span class="p">([</span><span class="bp">self</span><span class="o">.</span><span class="n">prepare_entry</span><span class="p">(</span><span class="n">entry</span><span class="p">)])</span>
<a id="__codelineno-0-1088" name="__codelineno-0-1088"></a> <span class="k">return</span> <span class="bp">self</span>
<a id="__codelineno-0-1089" name="__codelineno-0-1089"></a>
<a id="__codelineno-0-1090" name="__codelineno-0-1090"></a> <span class="k">def</span><span class="w"> </span><span class="nf">add</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">entry</span><span class="p">:</span> <span class="n">ManifestEntry</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">ManifestWriter</span><span class="p">:</span>
<a id="__codelineno-0-1091" name="__codelineno-0-1091"></a> <span class="bp">self</span><span class="o">.</span><span class="n">add_entry</span><span class="p">(</span>
<a id="__codelineno-0-1092" name="__codelineno-0-1092"></a> <span class="n">ManifestEntry</span><span class="o">.</span><span class="n">from_args</span><span class="p">(</span>
<a id="__codelineno-0-1093" name="__codelineno-0-1093"></a> <span class="n">status</span><span class="o">=</span><span class="n">ManifestEntryStatus</span><span class="o">.</span><span class="n">ADDED</span><span class="p">,</span>
<a id="__codelineno-0-1094" name="__codelineno-0-1094"></a> <span class="n">snapshot_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_snapshot_id</span><span class="p">,</span>
<a id="__codelineno-0-1095" name="__codelineno-0-1095"></a> <span class="n">sequence_number</span><span class="o">=</span><span class="n">entry</span><span class="o">.</span><span class="n">sequence_number</span> <span class="k">if</span> <span class="n">entry</span><span class="o">.</span><span class="n">sequence_number</span> <span class="o">!=</span> <span class="n">UNASSIGNED_SEQ</span> <span class="k">else</span> <span class="kc">None</span><span class="p">,</span>
<a id="__codelineno-0-1096" name="__codelineno-0-1096"></a> <span class="n">data_file</span><span class="o">=</span><span class="n">entry</span><span class="o">.</span><span class="n">data_file</span><span class="p">,</span>
<a id="__codelineno-0-1097" name="__codelineno-0-1097"></a> <span class="p">)</span>
<a id="__codelineno-0-1098" name="__codelineno-0-1098"></a> <span class="p">)</span>
<a id="__codelineno-0-1099" name="__codelineno-0-1099"></a>
<a id="__codelineno-0-1100" name="__codelineno-0-1100"></a> <span class="k">return</span> <span class="bp">self</span>
<a id="__codelineno-0-1101" name="__codelineno-0-1101"></a>
<a id="__codelineno-0-1102" name="__codelineno-0-1102"></a> <span class="k">def</span><span class="w"> </span><span class="nf">delete</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">entry</span><span class="p">:</span> <span class="n">ManifestEntry</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">ManifestWriter</span><span class="p">:</span>
<a id="__codelineno-0-1103" name="__codelineno-0-1103"></a> <span class="bp">self</span><span class="o">.</span><span class="n">add_entry</span><span class="p">(</span>
<a id="__codelineno-0-1104" name="__codelineno-0-1104"></a> <span class="n">ManifestEntry</span><span class="o">.</span><span class="n">from_args</span><span class="p">(</span>
<a id="__codelineno-0-1105" name="__codelineno-0-1105"></a> <span class="n">status</span><span class="o">=</span><span class="n">ManifestEntryStatus</span><span class="o">.</span><span class="n">DELETED</span><span class="p">,</span>
<a id="__codelineno-0-1106" name="__codelineno-0-1106"></a> <span class="n">snapshot_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_snapshot_id</span><span class="p">,</span>
<a id="__codelineno-0-1107" name="__codelineno-0-1107"></a> <span class="n">sequence_number</span><span class="o">=</span><span class="n">entry</span><span class="o">.</span><span class="n">sequence_number</span><span class="p">,</span>
<a id="__codelineno-0-1108" name="__codelineno-0-1108"></a> <span class="n">file_sequence_number</span><span class="o">=</span><span class="n">entry</span><span class="o">.</span><span class="n">file_sequence_number</span><span class="p">,</span>
<a id="__codelineno-0-1109" name="__codelineno-0-1109"></a> <span class="n">data_file</span><span class="o">=</span><span class="n">entry</span><span class="o">.</span><span class="n">data_file</span><span class="p">,</span>
<a id="__codelineno-0-1110" name="__codelineno-0-1110"></a> <span class="p">)</span>
<a id="__codelineno-0-1111" name="__codelineno-0-1111"></a> <span class="p">)</span>
<a id="__codelineno-0-1112" name="__codelineno-0-1112"></a> <span class="k">return</span> <span class="bp">self</span>
<a id="__codelineno-0-1113" name="__codelineno-0-1113"></a>
<a id="__codelineno-0-1114" name="__codelineno-0-1114"></a> <span class="k">def</span><span class="w"> </span><span class="nf">existing</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">entry</span><span class="p">:</span> <span class="n">ManifestEntry</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">ManifestWriter</span><span class="p">:</span>
<a id="__codelineno-0-1115" name="__codelineno-0-1115"></a> <span class="bp">self</span><span class="o">.</span><span class="n">add_entry</span><span class="p">(</span>
<a id="__codelineno-0-1116" name="__codelineno-0-1116"></a> <span class="n">ManifestEntry</span><span class="o">.</span><span class="n">from_args</span><span class="p">(</span>
<a id="__codelineno-0-1117" name="__codelineno-0-1117"></a> <span class="n">status</span><span class="o">=</span><span class="n">ManifestEntryStatus</span><span class="o">.</span><span class="n">EXISTING</span><span class="p">,</span>
<a id="__codelineno-0-1118" name="__codelineno-0-1118"></a> <span class="n">snapshot_id</span><span class="o">=</span><span class="n">entry</span><span class="o">.</span><span class="n">snapshot_id</span><span class="p">,</span>
<a id="__codelineno-0-1119" name="__codelineno-0-1119"></a> <span class="n">sequence_number</span><span class="o">=</span><span class="n">entry</span><span class="o">.</span><span class="n">sequence_number</span><span class="p">,</span>
<a id="__codelineno-0-1120" name="__codelineno-0-1120"></a> <span class="n">file_sequence_number</span><span class="o">=</span><span class="n">entry</span><span class="o">.</span><span class="n">file_sequence_number</span><span class="p">,</span>
<a id="__codelineno-0-1121" name="__codelineno-0-1121"></a> <span class="n">data_file</span><span class="o">=</span><span class="n">entry</span><span class="o">.</span><span class="n">data_file</span><span class="p">,</span>
<a id="__codelineno-0-1122" name="__codelineno-0-1122"></a> <span class="p">)</span>
<a id="__codelineno-0-1123" name="__codelineno-0-1123"></a> <span class="p">)</span>
<a id="__codelineno-0-1124" name="__codelineno-0-1124"></a> <span class="k">return</span> <span class="bp">self</span>
</code></pre></div></td></tr></table></div>
</details>
<div class="doc doc-children">
<div class="doc doc-object doc-function">
<h3 id="pyiceberg.manifest.ManifestWriter.__enter__" class="doc doc-heading">
<code class="highlight language-python"><span class="fm">__enter__</span><span class="p">()</span></code>
<a href="#pyiceberg.manifest.ManifestWriter.__enter__" class="headerlink" title="Permanent link">&para;</a></h3>
<div class="doc doc-contents ">
<p>Open the writer.</p>
<details class="quote">
<summary>Source code in <code>pyiceberg/manifest.py</code></summary>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-985">985</a></span>
<span class="normal"><a href="#__codelineno-0-986">986</a></span>
<span class="normal"><a href="#__codelineno-0-987">987</a></span>
<span class="normal"><a href="#__codelineno-0-988">988</a></span>
<span class="normal"><a href="#__codelineno-0-989">989</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-985" name="__codelineno-0-985"></a><span class="k">def</span><span class="w"> </span><span class="fm">__enter__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">ManifestWriter</span><span class="p">:</span>
<a id="__codelineno-0-986" name="__codelineno-0-986"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Open the writer.&quot;&quot;&quot;</span>
<a id="__codelineno-0-987" name="__codelineno-0-987"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_writer</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">new_writer</span><span class="p">()</span>
<a id="__codelineno-0-988" name="__codelineno-0-988"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_writer</span><span class="o">.</span><span class="fm">__enter__</span><span class="p">()</span>
<a id="__codelineno-0-989" name="__codelineno-0-989"></a> <span class="k">return</span> <span class="bp">self</span>
</code></pre></div></td></tr></table></div>
</details>
</div>
</div>
<div class="doc doc-object doc-function">
<h3 id="pyiceberg.manifest.ManifestWriter.__exit__" class="doc doc-heading">
<code class="highlight language-python"><span class="fm">__exit__</span><span class="p">(</span><span class="n">exc_type</span><span class="p">,</span> <span class="n">exc_value</span><span class="p">,</span> <span class="n">traceback</span><span class="p">)</span></code>
<a href="#pyiceberg.manifest.ManifestWriter.__exit__" class="headerlink" title="Permanent link">&para;</a></h3>
<div class="doc doc-contents ">
<p>Close the writer.</p>
<details class="quote">
<summary>Source code in <code>pyiceberg/manifest.py</code></summary>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-991"> 991</a></span>
<span class="normal"><a href="#__codelineno-0-992"> 992</a></span>
<span class="normal"><a href="#__codelineno-0-993"> 993</a></span>
<span class="normal"><a href="#__codelineno-0-994"> 994</a></span>
<span class="normal"><a href="#__codelineno-0-995"> 995</a></span>
<span class="normal"><a href="#__codelineno-0-996"> 996</a></span>
<span class="normal"><a href="#__codelineno-0-997"> 997</a></span>
<span class="normal"><a href="#__codelineno-0-998"> 998</a></span>
<span class="normal"><a href="#__codelineno-0-999"> 999</a></span>
<span class="normal"><a href="#__codelineno-0-1000">1000</a></span>
<span class="normal"><a href="#__codelineno-0-1001">1001</a></span>
<span class="normal"><a href="#__codelineno-0-1002">1002</a></span>
<span class="normal"><a href="#__codelineno-0-1003">1003</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-991" name="__codelineno-0-991"></a><span class="k">def</span><span class="w"> </span><span class="fm">__exit__</span><span class="p">(</span>
<a id="__codelineno-0-992" name="__codelineno-0-992"></a> <span class="bp">self</span><span class="p">,</span>
<a id="__codelineno-0-993" name="__codelineno-0-993"></a> <span class="n">exc_type</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">Type</span><span class="p">[</span><span class="ne">BaseException</span><span class="p">]],</span>
<a id="__codelineno-0-994" name="__codelineno-0-994"></a> <span class="n">exc_value</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="ne">BaseException</span><span class="p">],</span>
<a id="__codelineno-0-995" name="__codelineno-0-995"></a> <span class="n">traceback</span><span class="p">:</span> <span class="n">Optional</span><span class="p">[</span><span class="n">TracebackType</span><span class="p">],</span>
<a id="__codelineno-0-996" name="__codelineno-0-996"></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
<a id="__codelineno-0-997" name="__codelineno-0-997"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Close the writer.&quot;&quot;&quot;</span>
<a id="__codelineno-0-998" name="__codelineno-0-998"></a> <span class="k">if</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_added_files</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">_existing_files</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">_deleted_files</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
<a id="__codelineno-0-999" name="__codelineno-0-999"></a> <span class="c1"># This is just a guard to ensure that we don&#39;t write empty manifest files</span>
<a id="__codelineno-0-1000" name="__codelineno-0-1000"></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">&quot;An empty manifest file has been written&quot;</span><span class="p">)</span>
<a id="__codelineno-0-1001" name="__codelineno-0-1001"></a>
<a id="__codelineno-0-1002" name="__codelineno-0-1002"></a> <span class="bp">self</span><span class="o">.</span><span class="n">closed</span> <span class="o">=</span> <span class="kc">True</span>
<a id="__codelineno-0-1003" name="__codelineno-0-1003"></a> <span class="bp">self</span><span class="o">.</span><span class="n">_writer</span><span class="o">.</span><span class="fm">__exit__</span><span class="p">(</span><span class="n">exc_type</span><span class="p">,</span> <span class="n">exc_value</span><span class="p">,</span> <span class="n">traceback</span><span class="p">)</span>
</code></pre></div></td></tr></table></div>
</details>
</div>
</div>
<div class="doc doc-object doc-function">
<h3 id="pyiceberg.manifest.ManifestWriter.to_manifest_file" class="doc doc-heading">
<code class="highlight language-python"><span class="n">to_manifest_file</span><span class="p">()</span></code>
<a href="#pyiceberg.manifest.ManifestWriter.to_manifest_file" class="headerlink" title="Permanent link">&para;</a></h3>
<div class="doc doc-contents ">
<p>Return the manifest file.</p>
<details class="quote">
<summary>Source code in <code>pyiceberg/manifest.py</code></summary>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-1040">1040</a></span>
<span class="normal"><a href="#__codelineno-0-1041">1041</a></span>
<span class="normal"><a href="#__codelineno-0-1042">1042</a></span>
<span class="normal"><a href="#__codelineno-0-1043">1043</a></span>
<span class="normal"><a href="#__codelineno-0-1044">1044</a></span>
<span class="normal"><a href="#__codelineno-0-1045">1045</a></span>
<span class="normal"><a href="#__codelineno-0-1046">1046</a></span>
<span class="normal"><a href="#__codelineno-0-1047">1047</a></span>
<span class="normal"><a href="#__codelineno-0-1048">1048</a></span>
<span class="normal"><a href="#__codelineno-0-1049">1049</a></span>
<span class="normal"><a href="#__codelineno-0-1050">1050</a></span>
<span class="normal"><a href="#__codelineno-0-1051">1051</a></span>
<span class="normal"><a href="#__codelineno-0-1052">1052</a></span>
<span class="normal"><a href="#__codelineno-0-1053">1053</a></span>
<span class="normal"><a href="#__codelineno-0-1054">1054</a></span>
<span class="normal"><a href="#__codelineno-0-1055">1055</a></span>
<span class="normal"><a href="#__codelineno-0-1056">1056</a></span>
<span class="normal"><a href="#__codelineno-0-1057">1057</a></span>
<span class="normal"><a href="#__codelineno-0-1058">1058</a></span>
<span class="normal"><a href="#__codelineno-0-1059">1059</a></span>
<span class="normal"><a href="#__codelineno-0-1060">1060</a></span>
<span class="normal"><a href="#__codelineno-0-1061">1061</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-1040" name="__codelineno-0-1040"></a><span class="k">def</span><span class="w"> </span><span class="nf">to_manifest_file</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">ManifestFile</span><span class="p">:</span>
<a id="__codelineno-0-1041" name="__codelineno-0-1041"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Return the manifest file.&quot;&quot;&quot;</span>
<a id="__codelineno-0-1042" name="__codelineno-0-1042"></a> <span class="c1"># once the manifest file is generated, no more entries can be added</span>
<a id="__codelineno-0-1043" name="__codelineno-0-1043"></a> <span class="bp">self</span><span class="o">.</span><span class="n">closed</span> <span class="o">=</span> <span class="kc">True</span>
<a id="__codelineno-0-1044" name="__codelineno-0-1044"></a> <span class="n">min_sequence_number</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_min_sequence_number</span> <span class="ow">or</span> <span class="n">UNASSIGNED_SEQ</span>
<a id="__codelineno-0-1045" name="__codelineno-0-1045"></a> <span class="k">return</span> <span class="n">ManifestFile</span><span class="o">.</span><span class="n">from_args</span><span class="p">(</span>
<a id="__codelineno-0-1046" name="__codelineno-0-1046"></a> <span class="n">manifest_path</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_output_file</span><span class="o">.</span><span class="n">location</span><span class="p">,</span>
<a id="__codelineno-0-1047" name="__codelineno-0-1047"></a> <span class="n">manifest_length</span><span class="o">=</span><span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_writer</span><span class="o">.</span><span class="n">output_file</span><span class="p">),</span>
<a id="__codelineno-0-1048" name="__codelineno-0-1048"></a> <span class="n">partition_spec_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_spec</span><span class="o">.</span><span class="n">spec_id</span><span class="p">,</span>
<a id="__codelineno-0-1049" name="__codelineno-0-1049"></a> <span class="n">content</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">content</span><span class="p">(),</span>
<a id="__codelineno-0-1050" name="__codelineno-0-1050"></a> <span class="n">sequence_number</span><span class="o">=</span><span class="n">UNASSIGNED_SEQ</span><span class="p">,</span>
<a id="__codelineno-0-1051" name="__codelineno-0-1051"></a> <span class="n">min_sequence_number</span><span class="o">=</span><span class="n">min_sequence_number</span><span class="p">,</span>
<a id="__codelineno-0-1052" name="__codelineno-0-1052"></a> <span class="n">added_snapshot_id</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_snapshot_id</span><span class="p">,</span>
<a id="__codelineno-0-1053" name="__codelineno-0-1053"></a> <span class="n">added_files_count</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_added_files</span><span class="p">,</span>
<a id="__codelineno-0-1054" name="__codelineno-0-1054"></a> <span class="n">existing_files_count</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_existing_files</span><span class="p">,</span>
<a id="__codelineno-0-1055" name="__codelineno-0-1055"></a> <span class="n">deleted_files_count</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_deleted_files</span><span class="p">,</span>
<a id="__codelineno-0-1056" name="__codelineno-0-1056"></a> <span class="n">added_rows_count</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_added_rows</span><span class="p">,</span>
<a id="__codelineno-0-1057" name="__codelineno-0-1057"></a> <span class="n">existing_rows_count</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_existing_rows</span><span class="p">,</span>
<a id="__codelineno-0-1058" name="__codelineno-0-1058"></a> <span class="n">deleted_rows_count</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_deleted_rows</span><span class="p">,</span>
<a id="__codelineno-0-1059" name="__codelineno-0-1059"></a> <span class="n">partitions</span><span class="o">=</span><span class="n">construct_partition_summaries</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_spec</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_schema</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_partitions</span><span class="p">),</span>
<a id="__codelineno-0-1060" name="__codelineno-0-1060"></a> <span class="n">key_metadata</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span>
<a id="__codelineno-0-1061" name="__codelineno-0-1061"></a> <span class="p">)</span>
</code></pre></div></td></tr></table></div>
</details>
</div>
</div>
</div>
</div>
</div>
<div class="doc doc-object doc-function">
<h2 id="pyiceberg.manifest.read_manifest_list" class="doc doc-heading">
<code class="highlight language-python"><span class="n">read_manifest_list</span><span class="p">(</span><span class="n">input_file</span><span class="p">)</span></code>
<a href="#pyiceberg.manifest.read_manifest_list" class="headerlink" title="Permanent link">&para;</a></h2>
<div class="doc doc-contents ">
<p>Read the manifests from the manifest list.</p>
<p><span class="doc-section-title">Parameters:</span></p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead>
<tbody>
<tr class="doc-section-item">
<td>
<code>input_file</code>
</td>
<td>
<code><a class="autorefs autorefs-internal" title="InputFile (pyiceberg.io.InputFile)" href="../io/#pyiceberg.io.InputFile">InputFile</a></code>
</td>
<td>
<div class="doc-md-description">
<p>The input file where the stream can be read from.</p>
</div>
</td>
<td>
<em>required</em>
</td>
</tr>
</tbody>
</table>
<p><span class="doc-section-title">Returns:</span></p>
<table>
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr class="doc-section-item">
<td>
<code><span title="typing.Iterator">Iterator</span>[<a class="autorefs autorefs-internal" title="ManifestFile (pyiceberg.manifest.ManifestFile)" href="#pyiceberg.manifest.ManifestFile">ManifestFile</a>]</code>
</td>
<td>
<div class="doc-md-description">
<p>An iterator of ManifestFiles that are part of the list.</p>
</div>
</td>
</tr>
</tbody>
</table>
<details class="quote">
<summary>Source code in <code>pyiceberg/manifest.py</code></summary>
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-886">886</a></span>
<span class="normal"><a href="#__codelineno-0-887">887</a></span>
<span class="normal"><a href="#__codelineno-0-888">888</a></span>
<span class="normal"><a href="#__codelineno-0-889">889</a></span>
<span class="normal"><a href="#__codelineno-0-890">890</a></span>
<span class="normal"><a href="#__codelineno-0-891">891</a></span>
<span class="normal"><a href="#__codelineno-0-892">892</a></span>
<span class="normal"><a href="#__codelineno-0-893">893</a></span>
<span class="normal"><a href="#__codelineno-0-894">894</a></span>
<span class="normal"><a href="#__codelineno-0-895">895</a></span>
<span class="normal"><a href="#__codelineno-0-896">896</a></span>
<span class="normal"><a href="#__codelineno-0-897">897</a></span>
<span class="normal"><a href="#__codelineno-0-898">898</a></span>
<span class="normal"><a href="#__codelineno-0-899">899</a></span>
<span class="normal"><a href="#__codelineno-0-900">900</a></span>
<span class="normal"><a href="#__codelineno-0-901">901</a></span>
<span class="normal"><a href="#__codelineno-0-902">902</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-886" name="__codelineno-0-886"></a><span class="k">def</span><span class="w"> </span><span class="nf">read_manifest_list</span><span class="p">(</span><span class="n">input_file</span><span class="p">:</span> <span class="n">InputFile</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Iterator</span><span class="p">[</span><span class="n">ManifestFile</span><span class="p">]:</span>
<a id="__codelineno-0-887" name="__codelineno-0-887"></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<a id="__codelineno-0-888" name="__codelineno-0-888"></a><span class="sd"> Read the manifests from the manifest list.</span>
<a id="__codelineno-0-889" name="__codelineno-0-889"></a>
<a id="__codelineno-0-890" name="__codelineno-0-890"></a><span class="sd"> Args:</span>
<a id="__codelineno-0-891" name="__codelineno-0-891"></a><span class="sd"> input_file: The input file where the stream can be read from.</span>
<a id="__codelineno-0-892" name="__codelineno-0-892"></a>
<a id="__codelineno-0-893" name="__codelineno-0-893"></a><span class="sd"> Returns:</span>
<a id="__codelineno-0-894" name="__codelineno-0-894"></a><span class="sd"> An iterator of ManifestFiles that are part of the list.</span>
<a id="__codelineno-0-895" name="__codelineno-0-895"></a><span class="sd"> &quot;&quot;&quot;</span>
<a id="__codelineno-0-896" name="__codelineno-0-896"></a> <span class="k">with</span> <span class="n">AvroFile</span><span class="p">[</span><span class="n">ManifestFile</span><span class="p">](</span>
<a id="__codelineno-0-897" name="__codelineno-0-897"></a> <span class="n">input_file</span><span class="p">,</span>
<a id="__codelineno-0-898" name="__codelineno-0-898"></a> <span class="n">MANIFEST_LIST_FILE_SCHEMAS</span><span class="p">[</span><span class="n">DEFAULT_READ_VERSION</span><span class="p">],</span>
<a id="__codelineno-0-899" name="__codelineno-0-899"></a> <span class="n">read_types</span><span class="o">=</span><span class="p">{</span><span class="o">-</span><span class="mi">1</span><span class="p">:</span> <span class="n">ManifestFile</span><span class="p">,</span> <span class="mi">508</span><span class="p">:</span> <span class="n">PartitionFieldSummary</span><span class="p">},</span>
<a id="__codelineno-0-900" name="__codelineno-0-900"></a> <span class="n">read_enums</span><span class="o">=</span><span class="p">{</span><span class="mi">517</span><span class="p">:</span> <span class="n">ManifestContent</span><span class="p">},</span>
<a id="__codelineno-0-901" name="__codelineno-0-901"></a> <span class="p">)</span> <span class="k">as</span> <span class="n">reader</span><span class="p">:</span>
<a id="__codelineno-0-902" name="__codelineno-0-902"></a> <span class="k">yield from</span> <span class="n">reader</span>
</code></pre></div></td></tr></table></div>
</details>
</div>
</div>
</div>
</div>
</div>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
<button type="button" class="md-top md-icon" data-md-component="top" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg>
Back to top
</button>
</main>
<footer class="md-footer">
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
Made with
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
Material for MkDocs
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.top", "navigation.tracking", "navigation.tabs", "navigation.tabs.sticky", "content.code.copy"], "search": "../../../assets/javascripts/workers/search.973d3a69.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
<script src="../../../assets/javascripts/bundle.f55a23d4.min.js"></script>
</body>
</html>