dulwich API Documentation Modules Classes Names
Clear Help

For more information on the search, visit the help page.

Class Hierarchy

  • abc.ABC
    • dulwich.maintenance.MaintenanceTask - Base class for maintenance tasks.
      • dulwich.maintenance.CommitGraphTask - Commit-graph maintenance task.
      • dulwich.maintenance.GcTask - Garbage collection maintenance task.
      • dulwich.maintenance.IncrementalRepackTask - Incremental-repack maintenance task.
      • dulwich.maintenance.LooseObjectsTask - Loose-objects maintenance task.
      • dulwich.maintenance.PackRefsTask - Pack-refs maintenance task.
      • dulwich.maintenance.PrefetchTask - Prefetch maintenance task.
    • dulwich.object_filters.FilterSpec - Base class for all filter specifications.
      • dulwich.object_filters.BlobLimitFilter - Filter that excludes blobs larger than a specified size.
      • dulwich.object_filters.BlobNoneFilter - Filter that excludes all blobs.
      • dulwich.object_filters.CombineFilter - Filter that combines multiple filters with AND logic.
      • dulwich.object_filters.SparseOidFilter - Filter that uses a sparse specification from an object.
      • dulwich.object_filters.TreeDepthFilter - Filter that excludes trees beyond a specified depth.
  • collections.abc.MutableMapping
    • dulwich.config.CaseInsensitiveOrderedMultiDict - A case-insensitive ordered dictionary that can store multiple values per key.
  • dulwich.am.DiskAmStateManager - Manages git am state on disk in .git/rebase-apply/.
  • dulwich.archive.ChunkedBytesIO - Turn a list of bytestrings into a file-like object.
  • dulwich.attrs.GitAttributes - A collection of gitattributes patterns that can match paths.
  • dulwich.attrs.Pattern - A single gitattributes pattern.
  • dulwich.bisect.BisectState - Manages the state of a bisect session.
  • dulwich.bitmap.BitmapEntry - A single bitmap entry for a commit.
  • dulwich.bitmap.EWAHBitmap - EWAH (Enhanced Word-Aligned Hybrid) compressed bitmap.
  • dulwich.bitmap.PackBitmap - A pack bitmap index.
  • dulwich.bundle.Bundle - Git bundle object representation.
  • dulwich.bundle_uri.BundleList - Represents a bundle list as defined in the bundle URI specification.
  • dulwich.bundle_uri.BundleListEntry - Represents a single bundle in a bundle list.
  • dulwich.cli._StreamContextAdapter - Adapter to make streams work with context manager protocol.
  • dulwich.cli.AutoFlushBinaryIOWrapper - Wrapper that automatically flushes a BinaryIO stream based on configuration.
  • dulwich.cli.AutoFlushTextIOWrapper - Wrapper that automatically flushes a TextIO stream based on configuration.
  • dulwich.cli.Command - A Dulwich subcommand.
    • dulwich.cli.cmd_add - Add file contents to the index.
    • dulwich.cli.cmd_am - Apply patches from mailbox-style email messages.
    • dulwich.cli.cmd_annotate - Annotate each line in a file with commit information.
    • dulwich.cli.cmd_apply - Apply a patch to files and/or to the index.
    • dulwich.cli.cmd_archive - Create an archive of files from a named tree.
    • dulwich.cli.cmd_blame - Show what revision and author last modified each line of a file.
    • dulwich.cli.cmd_branch - List, create, or delete branches.
    • dulwich.cli.cmd_bundle - Create, unpack, and manipulate bundle files.
    • dulwich.cli.cmd_cat_file - Provide content or type and size information for repository objects.
    • dulwich.cli.cmd_check_ignore - Check whether files are excluded by gitignore.
    • dulwich.cli.cmd_check_mailmap - Show canonical names and email addresses of contacts.
    • dulwich.cli.cmd_checkout - Switch branches or restore working tree files.
    • dulwich.cli.cmd_cherry - Find commits not merged upstream.
    • dulwich.cli.cmd_cherry_pick - Apply the changes introduced by some existing commits.
    • dulwich.cli.cmd_clean - Remove untracked files from the working tree.
    • dulwich.cli.cmd_clone - Clone a repository into a new directory.
    • dulwich.cli.cmd_column - Display data in columns.
    • dulwich.cli.cmd_commit - Record changes to the repository.
    • dulwich.cli.cmd_commit_tree - Create a new commit object from a tree.
    • dulwich.cli.cmd_config - Get and set repository or global options.
    • dulwich.cli.cmd_count_objects - Count unpacked number of objects and their disk consumption.
    • dulwich.cli.cmd_daemon - Run a simple Git protocol server.
    • dulwich.cli.cmd_describe - Give an object a human readable name based on an available ref.
    • dulwich.cli.cmd_diagnose - Display diagnostic information about the Python environment.
    • dulwich.cli.cmd_diff - Show changes between commits, commit and working tree, etc.
    • dulwich.cli.cmd_diff_tree - Compare the content and mode of trees.
    • dulwich.cli.cmd_dump_index - Show information about a pack index file.
    • dulwich.cli.cmd_dump_pack - Dump the contents of a pack file for debugging.
    • dulwich.cli.cmd_fetch - Download objects and refs from another repository.
    • dulwich.cli.cmd_fetch_pack - Receive missing objects from another repository.
    • dulwich.cli.cmd_filter_branch - Rewrite branches.
    • dulwich.cli.cmd_for_each_ref - Output information on each ref.
    • dulwich.cli.cmd_format_patch - Prepare patches for e-mail submission.
    • dulwich.cli.cmd_fsck - Verify the connectivity and validity of objects in the database.
    • dulwich.cli.cmd_gc - Cleanup unnecessary files and optimize the local repository.
    • dulwich.cli.cmd_grep - Search for patterns in tracked files.
    • dulwich.cli.cmd_hash_object - Compute object ID and optionally store in repository.
    • dulwich.cli.cmd_help - Display help information about git.
    • dulwich.cli.cmd_init - Create an empty Git repository or reinitialize an existing one.
    • dulwich.cli.cmd_interpret_trailers - Add or parse structured information in commit messages.
    • dulwich.cli.cmd_lfs - Git Large File Storage management.
    • dulwich.cli.cmd_log - Show commit logs.
    • dulwich.cli.cmd_ls_files - Show information about files in the index and working tree.
    • dulwich.cli.cmd_ls_remote - List references in a remote repository.
    • dulwich.cli.cmd_ls_tree - List the contents of a tree object.
    • dulwich.cli.cmd_mailinfo - Extract patch information from an email message.
    • dulwich.cli.cmd_mailsplit - Split mbox or Maildir into individual message files.
    • dulwich.cli.cmd_maintenance - Run tasks to optimize Git repository data.
    • dulwich.cli.cmd_merge - Join two or more development histories together.
    • dulwich.cli.cmd_merge_base - Find the best common ancestor between commits.
    • dulwich.cli.cmd_merge_tree - Show three-way merge without touching index.
    • dulwich.cli.cmd_mktag - Create a tag object from raw tag data.
    • dulwich.cli.cmd_mv - Move or rename a file, a directory, or a symlink.
    • dulwich.cli.cmd_notes_add - Add notes to a commit.
    • dulwich.cli.cmd_notes_list - List all note objects.
    • dulwich.cli.cmd_notes_remove - Remove notes for a commit.
    • dulwich.cli.cmd_notes_show - Show notes for a commit.
    • dulwich.cli.cmd_pack_objects - Create a packed archive of objects.
    • dulwich.cli.cmd_pack_refs - Pack heads and tags for efficient repository access.
    • dulwich.cli.cmd_prune - Prune all unreachable objects from the object database.
    • dulwich.cli.cmd_pull - Fetch from and integrate with another repository or a local branch.
    • dulwich.cli.cmd_push - Update remote refs along with associated objects.
    • dulwich.cli.cmd_rebase - Reapply commits on top of another base tip.
    • dulwich.cli.cmd_receive_pack - Receive what is pushed into the repository.
    • dulwich.cli.cmd_reflog - Manage reflog information.
    • dulwich.cli.cmd_remote_add - Add a remote repository.
    • dulwich.cli.cmd_repack - Pack unpacked objects in a repository.
    • dulwich.cli.cmd_replace_delete - Delete a replacement ref.
    • dulwich.cli.cmd_replace_list - List all replacement refs.
    • dulwich.cli.cmd_rerere - Record and reuse recorded conflict resolutions.
    • dulwich.cli.cmd_reset - Reset current HEAD to the specified state.
    • dulwich.cli.cmd_restore - Restore working tree files.
    • dulwich.cli.cmd_rev_list - List commit objects in reverse chronological order.
    • dulwich.cli.cmd_rev_parse - Parse revision and other objects.
    • dulwich.cli.cmd_revert - Revert some existing commits.
    • dulwich.cli.cmd_rm - Remove files from the working tree and from the index.
    • dulwich.cli.cmd_shortlog - Show a shortlog of commits by author.
    • dulwich.cli.cmd_show - Show various types of objects.
    • dulwich.cli.cmd_show_branch - Show branches and their commits.
    • dulwich.cli.cmd_show_index - Show packed archive index.
    • dulwich.cli.cmd_show_ref - List references in a local repository.
    • dulwich.cli.cmd_sparse_checkout_add - Add directories to sparse checkout.
    • dulwich.cli.cmd_sparse_checkout_disable - Disable sparse checkout.
    • dulwich.cli.cmd_sparse_checkout_init - Initialize sparse checkout in cone mode.
    • dulwich.cli.cmd_sparse_checkout_list - List sparse checkout patterns.
    • dulwich.cli.cmd_sparse_checkout_set - Set sparse checkout directories.
    • dulwich.cli.cmd_stash_list - List stash entries.
    • dulwich.cli.cmd_stash_pop - Apply a stash and remove it from the stash list.
    • dulwich.cli.cmd_stash_push - Save your local modifications to a new stash.
    • dulwich.cli.cmd_status - Show the working tree status.
    • dulwich.cli.cmd_stripspace - Remove unnecessary whitespace from text.
    • dulwich.cli.cmd_submodule_add - Add a submodule.
    • dulwich.cli.cmd_submodule_init - Initialize submodules.
    • dulwich.cli.cmd_submodule_list - List submodules.
    • dulwich.cli.cmd_submodule_update - Update submodules.
    • dulwich.cli.cmd_subtree_add - Add a subtree.
    • dulwich.cli.cmd_subtree_merge - Merge changes into a subtree.
    • dulwich.cli.cmd_subtree_pull - Pull changes from a remote repository into a subtree.
    • dulwich.cli.cmd_subtree_push - Push a subtree to a remote repository.
    • dulwich.cli.cmd_subtree_split - Split a subtree into a separate branch.
    • dulwich.cli.cmd_switch - Switch branches.
    • dulwich.cli.cmd_symbolic_ref - Read, modify and delete symbolic refs.
    • dulwich.cli.cmd_tag - Create, list, delete or verify a tag object.
    • dulwich.cli.cmd_unpack_objects - Unpack objects from a packed archive.
    • dulwich.cli.cmd_update_ref - Update the object name stored in a ref safely.
    • dulwich.cli.cmd_update_server_info - Update auxiliary info file to help dumb servers.
    • dulwich.cli.cmd_upload_pack - Send objects packed back to git-fetch-pack.
    • dulwich.cli.cmd_var - Display Git logical variables.
    • dulwich.cli.cmd_verify_commit - Check the GPG signature of commits.
    • dulwich.cli.cmd_verify_tag - Check the GPG signature of tags.
    • dulwich.cli.cmd_web_daemon - Run a simple HTTP server for Git repositories.
    • dulwich.cli.cmd_worktree_add - Create a new worktree.
    • dulwich.cli.cmd_worktree_list - List worktrees.
    • dulwich.cli.cmd_worktree_lock - Lock a worktree to prevent it from being pruned.
    • dulwich.cli.cmd_worktree_move - Move a worktree to a new location.
    • dulwich.cli.cmd_worktree_prune - Prune worktree information.
    • dulwich.cli.cmd_worktree_remove - Remove a worktree.
    • dulwich.cli.cmd_worktree_repair - Repair worktree administrative files.
    • dulwich.cli.cmd_worktree_unlock - Unlock a locked worktree.
    • dulwich.cli.cmd_write_tree - Create a tree object from the current index.
    • dulwich.cli.SuperCommand - Base class for commands that have subcommands.
      • dulwich.cli.cmd_bisect - Use binary search to find the commit that introduced a bug.
      • dulwich.cli.cmd_notes - Add or inspect object notes.
      • dulwich.cli.cmd_remote - Manage set of tracked repositories.
      • dulwich.cli.cmd_replace - Create, list, and delete replacement refs.
      • dulwich.cli.cmd_sparse_checkout - Manage sparse checkout.
      • dulwich.cli.cmd_stash - Stash the changes in a dirty working directory away.
      • dulwich.cli.cmd_submodule - Initialize, update or inspect submodules.
      • dulwich.cli.cmd_subtree - Manage subtrees within a repository.
      • dulwich.cli.cmd_worktree - Manage multiple working trees.
  • dulwich.client._DeprecatedDictProxy - Base class for result objects that provide deprecated dict-like interface.
    • dulwich.client.FetchPackResult - Result of a fetch-pack operation.
    • dulwich.client.LsRemoteResult - Result of a ls-remote operation.
    • dulwich.client.SendPackResult - Result of a upload-pack operation.
  • dulwich.client._v1ReceivePackHeader - No class docstring; 0/4 instance variable, 1/3 method documented
  • dulwich.client.AuthCallbackPoolManager - Pool manager wrapper that handles authentication callbacks.
  • dulwich.client.GitClient - Git smart server client.
    • dulwich.client.AbstractHttpGitClient - Abstract base class for HTTP Git Clients.
      • dulwich.client.Urllib3HttpGitClient - HTTP Git client using urllib3.
    • dulwich.client.BundleClient - Git Client that reads from a bundle file.
    • dulwich.client.LocalGitClient - Git Client that just uses a local on-disk repository.
    • dulwich.client.TraditionalGitClient - Traditional Git client.
      • dulwich.client.SSHGitClient - Git client that connects over SSH.
      • dulwich.client.SubprocessGitClient - Git client that talks to a server using a subprocess.
      • dulwich.client.TCPGitClient - A Git Client that works over TCP directly (i.e. git://).
  • dulwich.client.PackDataProgressWrapper - Wrapper that reports progress during pack data reception.
  • dulwich.client.ReportStatusParser - Handle status as reported by servers with 'report-status' capability.
  • dulwich.client.SSHVendor - A client side SSH implementation.
    • dulwich.client.PLinkSSHVendor - SSH vendor that shells out to the local 'plink' command.
    • dulwich.client.SubprocessSSHVendor - SSH vendor that shells out to the local 'ssh' command.
  • dulwich.client.SubprocessWrapper - A socket-like object that talks to a subprocess via pipes.
  • dulwich.commit_graph.CommitGraph - Git commit graph file reader/writer.
  • dulwich.commit_graph.CommitGraphChunk - Represents a chunk in the commit graph file.
  • dulwich.commit_graph.CommitGraphEntry - Represents a single commit entry in the commit graph.
  • dulwich.config.Config - A Git configuration.
    • dulwich.config.ConfigDict - Git configuration stored in a dictionary.
      • dulwich.config.ConfigFile - A Git configuration file, like .git/config or ~/.gitconfig.
    • dulwich.config.StackedConfig - Configuration which reads from multiple config files..
  • dulwich.diff_tree.RenameDetector - Object for handling rename detection between two trees.
  • dulwich.dumb.DumbRemoteHTTPRepo - Repository implementation for dumb HTTP remotes.
  • dulwich.fastexport.GitFastExporter - Generate a fast-export output stream for Git objects.
  • dulwich.filter_branch.CommitFilter - Filter for rewriting commits during filter-branch operations.
  • dulwich.filters.CompositeFilterDriver - Filter driver that chains multiple filters together.
  • dulwich.filters.FilterBlobNormalizer - Blob normalizer that applies clean/smudge filters based on gitattributes.
    • dulwich.line_ending.BlobNormalizer - An object to store computation result of which filter to apply based on configuration, gitattributes, path and operation (checkin or checkout).
      • dulwich.line_ending.TreeBlobNormalizer - Blob normalizer that tracks existing files in a tree.
  • dulwich.filters.FilterContext - Context for managing stateful filter resources.
  • dulwich.filters.FilterRegistry - Registry for filter drivers.
  • dulwich.filters.ProcessFilterDriver - Filter driver that executes external processes.
  • dulwich.gc.GCStats - Statistics from garbage collection.
  • dulwich.hooks.Hook - Generic hook object.
    • dulwich.hooks.ShellHook - Hook by executable file.
      • dulwich.hooks.CommitMsgShellHook - commit-msg shell hook.
      • dulwich.hooks.PostCommitShellHook - post-commit shell hook.
      • dulwich.hooks.PostReceiveShellHook - post-receive shell hook.
      • dulwich.hooks.PreCommitShellHook - pre-commit shell hook.
      • dulwich.hooks.PreReceiveShellHook - pre-receive shell hook.
      • dulwich.hooks.UpdateShellHook - update shell hook.
  • dulwich.ignore.IgnoreFilter - Filter to apply gitignore patterns.
  • dulwich.ignore.IgnoreFilterManager - Ignore file manager with Git-compliant behavior.
  • dulwich.ignore.IgnoreFilterStack - Check for ignore status in multiple filters.
  • dulwich.ignore.Pattern - A single ignore pattern.
  • dulwich.index.ConflictedIndexEntry - Index entry that represents a conflict.
  • dulwich.index.Index - A Git Index file.
  • dulwich.index.IndexEntry - Represents an entry in the Git index.
  • dulwich.index.IndexExtension - Base class for index extensions.
    • dulwich.index.ResolveUndoExtension - Resolve undo extension for recording merge conflicts.
    • dulwich.index.SparseDirExtension - Sparse directory extension.
    • dulwich.index.TreeExtension - Tree cache extension.
    • dulwich.index.UntrackedExtension - Untracked cache extension.
  • dulwich.index.locked_index - Lock the index while making modifications.
  • dulwich.index.SerializedIndexEntry - Represents a serialized index entry as stored in the index file.
  • dulwich.lfs.LFSAction - LFS action structure.
  • dulwich.lfs.LFSBatchObject - LFS batch object structure.
  • dulwich.lfs.LFSBatchResponse - LFS batch response structure.
  • dulwich.lfs.LFSClient - Base class for LFS client operations.
    • dulwich.lfs.FileLFSClient - LFS client for file:// URLs that accesses local filesystem.
    • dulwich.lfs.HTTPLFSClient - LFS client for HTTP/HTTPS operations.
  • dulwich.lfs.LFSErrorInfo - LFS error structure.
  • dulwich.lfs.LFSFilterDriver - LFS filter driver implementation.
  • dulwich.lfs.LFSPointer - Represents an LFS pointer file.
  • dulwich.lfs.LFSStore - Stores objects on disk, indexed by SHA256.
  • dulwich.mailmap.Mailmap - Class for accessing a mailmap file.
  • dulwich.maintenance.MaintenanceResult - Result from running maintenance tasks.
  • dulwich.merge.Merger - Handles git merge operations.
  • dulwich.merge_drivers.MergeDriverRegistry - Registry for merge drivers.
  • dulwich.merge_drivers.ProcessMergeDriver - Merge driver that runs an external process.
  • dulwich.midx.MultiPackIndex - Multi-pack-index for efficient object lookup across multiple pack files.
  • dulwich.notes.Notes - High-level interface for Git notes operations.
  • dulwich.notes.NotesTree - Represents a Git notes tree.
  • dulwich.object_format.ObjectFormat - Object format (hash algorithm) used in Git.
  • dulwich.object_store.BaseObjectStore - Object store interface.
    • dulwich.dumb.DumbHTTPObjectStore - Object store implementation that fetches objects over dumb HTTP.
    • dulwich.object_store.OverlayObjectStore - Object store that can overlay multiple object stores.
    • dulwich.object_store.PackCapableObjectStore - Object store that supports pack operations.
      • dulwich.object_store.MemoryObjectStore - Object store that keeps all objects in memory.
      • dulwich.object_store.PackBasedObjectStore - Object store that uses pack files for storage.
        • dulwich.object_store.BucketBasedObjectStore - Object store implementation that uses a bucket store like S3 as backend.
          • dulwich.cloud.gcs.GcsObjectStore - Object store implementation using Google Cloud Storage.
        • dulwich.object_store.DiskObjectStore - Git-style object store that exists on disk.
  • dulwich.object_store.BitmapReachability - Bitmap-accelerated implementation of ObjectReachabilityProvider.
  • dulwich.object_store.GraphTraversalReachability - Naive graph traversal implementation of ObjectReachabilityProvider.
  • dulwich.object_store.MissingObjectFinder - Find the objects missing from another object store.
  • dulwich.object_store.ObjectStoreGraphWalker - Graph walker that finds what commits are missing from an object store.
  • dulwich.objects.FixedSha - SHA object that behaves like hashlib's but is given a fixed value.
  • dulwich.objects.ShaFile - A git SHA file.
    • dulwich.objects.Blob - A Git Blob object.
    • dulwich.objects.Commit - A git commit object.
    • dulwich.objects.Tag - A Git Tag object.
    • dulwich.objects.Tree - A Git tree object.
  • dulwich.pack.Pack - A Git pack object.
  • dulwich.pack.PackChunkGenerator - Generator for pack data chunks.
  • dulwich.pack.PackData - The data contained in a packfile.
  • dulwich.pack.PackIndex - An index in to a packfile.
    • dulwich.pack.FilePackIndex - Pack index that is based on a file.
      • dulwich.pack.PackIndex1 - Version 1 Pack Index file.
      • dulwich.pack.PackIndex2 - Version 2 Pack Index file.
      • dulwich.pack.PackIndex3 - Version 3 Pack Index file.
    • dulwich.pack.MemoryPackIndex - Pack index that is stored entirely in memory.
  • dulwich.pack.PackStreamReader - Class to read a pack stream.
    • dulwich.pack.PackStreamCopier - Class to verify a pack stream as it is being read.
  • dulwich.pack.UnpackedObject - Class encapsulating an object unpacked from a pack file.
  • dulwich.pack.UnpackedObjectStream - Abstract base class for a stream of unpacked objects.
  • dulwich.patch.FilePatch - Represents a patch for a single file.
  • dulwich.patch.MailinfoResult - Result of mailinfo parsing.
  • dulwich.patch.PatchHunk - Represents a single hunk in a unified diff.
  • dulwich.porcelain.CountObjectsResult - Result of counting objects in a repository.
  • dulwich.protocol.BufferedPktLineWriter - Writer that wraps its data in pkt-lines and has an independent buffer.
  • dulwich.protocol.PktLineParser - Packet line parser that hands completed packets off to a callback.
  • dulwich.protocol.Protocol - Class for interacting with a remote git process over the wire.
    • dulwich.protocol.ReceivableProtocol - Variant of Protocol that allows reading up to a size without blocking.
  • dulwich.rebase.DiskRebaseStateManager - Manages rebase state on disk using same files as C Git.
  • dulwich.rebase.MemoryRebaseStateManager - Manages rebase state in memory for MemoryRepo.
  • dulwich.rebase.Rebaser - Handles git rebase operations.
  • dulwich.rebase.RebaseTodo - Manages the git-rebase-todo file for interactive rebase.
  • dulwich.rebase.RebaseTodoEntry - Represents a single entry in a rebase todo list.
  • dulwich.refs.locked_ref - Lock a ref while making modifications.
  • dulwich.refs.RefsContainer - A container for refs.
    • dulwich.refs.DictRefsContainer - RefsContainer backed by a simple dict.
    • dulwich.refs.DiskRefsContainer - Refs container that reads refs from disk.
    • dulwich.refs.NamespacedRefsContainer - Wrapper that adds namespace prefix to all ref operations.
    • dulwich.reftable.ReftableRefsContainer - A refs container backed by the reftable format.
  • dulwich.reftable._ReftableBatchContext - Context manager for batching reftable updates.
  • dulwich.reftable.LogBlock - A block containing reflog records - simplified for empty blocks only.
  • dulwich.reftable.RefBlock - A block containing reference records.
  • dulwich.reftable.RefRecord - A reference record in a reftable.
  • dulwich.reftable.ReftableReader - Reader for reftable files.
  • dulwich.reftable.ReftableWriter - Writer for reftable files.
  • dulwich.reftable.RefUpdate - A reference update operation.
  • dulwich.reftable.RefValue - A reference value with its type.
  • dulwich.repo.BaseRepo - Base class for a git repository.
    • dulwich.repo.MemoryRepo - Repo that stores refs, objects, and named files in memory.
    • dulwich.repo.Repo - A git repository backed by local disk.
  • dulwich.repo.ParentsProvider - Provider for commit parent information.
  • dulwich.rerere.RerereCache - Manages the rerere cache in .git/rr-cache/.
  • dulwich.server._ProtocolGraphWalker - A graph walker that knows the git protocol.
  • dulwich.server.AckGraphWalkerImpl - Base class for acknowledgment graph walker implementations.
    • dulwich.server.MultiAckDetailedGraphWalkerImpl - Graph walker implementation speaking the multi-ack-detailed protocol.
    • dulwich.server.MultiAckGraphWalkerImpl - Graph walker implementation that speaks the multi-ack protocol.
    • dulwich.server.SingleAckGraphWalkerImpl - Graph walker implementation that speaks the single-ack protocol.
  • dulwich.server.Backend - A backend for the Git smart server implementation.
    • dulwich.server.DictBackend - Trivial backend that looks up Git repositories in a dictionary.
    • dulwich.server.FileSystemBackend - Simple backend looking up Git repositories in the local file system.
  • dulwich.server.Handler - Smart protocol command handler base class.
    • dulwich.server.PackHandler - Protocol handler for packs.
      • dulwich.server.ReceivePackHandler - Protocol handler for downloading a pack from the client.
      • dulwich.server.UploadPackHandler - Protocol handler for uploading a pack to the client.
    • dulwich.server.UploadArchiveHandler - Handler for git-upload-archive requests.
  • dulwich.signature.SignatureSigner - A signature implementation for signing Git objects.
    • dulwich.signature.GPGCliSignatureVendor - Signature vendor that uses the GPG command-line tool for signing and verification.
    • dulwich.signature.GPGSignatureVendor - Signature vendor that uses the GPG package for signing and verification.
    • dulwich.signature.SSHCliSignatureVendor - Signature vendor that uses ssh-keygen command-line tool for SSH signatures.
    • dulwich.signature.X509SignatureVendor - Signature vendor that uses gpgsm (GnuPG for S/MIME) for X.509 signatures.
  • dulwich.signature.SignatureVerifier - A signature implementation for verifying Git objects.
    • dulwich.signature.GPGCliSignatureVendor - Signature vendor that uses the GPG command-line tool for signing and verification.
    • dulwich.signature.GPGSignatureVendor - Signature vendor that uses the GPG package for signing and verification.
    • dulwich.signature.SSHCliSignatureVendor - Signature vendor that uses ssh-keygen command-line tool for SSH signatures.
    • dulwich.signature.SSHSigSignatureVendor - Signature verifier that uses the sshsig Python package for SSH signature verification.
    • dulwich.signature.X509SignatureVendor - Signature vendor that uses gpgsm (GnuPG for S/MIME) for X.509 signatures.
  • dulwich.stash.Stash - A Git stash.
  • dulwich.tests.test_object_store.CommitTestHelper - Helper for tests which iterate over commits.
    • dulwich.tests.test_object_store.FindShallowTests - Tests for finding shallow commits.
    • dulwich.tests.test_object_store.IterCommitContentsTests - Tests for iter_commit_contents.
  • dulwich.tests.test_object_store.ObjectStoreTests - Base class for testing object store implementations.
    • dulwich.tests.test_object_store.PackBasedObjectStoreTests - Tests for pack-based object stores.
  • dulwich.trailers.Trailer - Represents a single Git trailer.
  • dulwich.walk._CommitTimeQueue - Priority queue of WalkEntry objects by commit time.
  • dulwich.walk.WalkEntry - Object encapsulating a single result from a walk.
  • dulwich.walk.Walker - Object for performing a walk of commits in a store.
  • dulwich.web._LengthLimitedFile - Wrapper class to limit the length of reads from a file-like object.
  • dulwich.web.ChunkReader - Reader for chunked transfer encoding streams.
  • dulwich.web.GunzipFilter - WSGI middleware that unzips gzip-encoded requests before passing on to the underlying application.
  • dulwich.web.HTTPGitApplication - Class encapsulating the state of a git WSGI application.
  • dulwich.web.HTTPGitRequest - Class encapsulating the state of a single git HTTP request.
  • dulwich.web.LimitedInputFilter - WSGI middleware that limits the input length of a request to that specified in Content-Length.
  • dulwich.whitespace.WhitespaceChecker - Checks for whitespace errors in text content.
  • dulwich.worktree.WorkTree - Working tree operations for a Git repository.
  • dulwich.worktree.WorkTreeContainer - Container for managing multiple working trees.
  • dulwich.worktree.WorkTreeInfo - Information about a single worktree.
  • enum.Enum
    • dulwich.index.Stage - Represents the stage of an index entry during merge conflicts.
    • dulwich.maintenance.MaintenanceSchedule - Maintenance schedule types.
    • dulwich.rebase.RebaseTodoCommand - Enum for rebase todo commands.
  • Exception
    • dulwich.am.AmError - Base class for am errors.
      • dulwich.am.AmConflict - Raised when a patch fails to apply during am.
    • dulwich.bundle_uri.BundleURIError - Error related to bundle URI operations.
    • dulwich.cli.CommitMessageError - Raised when there's an issue with the commit message.
    • dulwich.client.HTTPProxyUnauthorized - Raised when proxy authentication fails.
    • dulwich.client.HTTPUnauthorized - Raised when authentication fails.
    • dulwich.client.InvalidWants - Invalid wants.
    • dulwich.client.StrangeHostname - Refusing to connect to strange SSH hostname.
    • dulwich.errors.ApplyDeltaError - Indicates that applying a delta failed.
    • dulwich.errors.ChecksumMismatch - A checksum didn't match the expected contents.
    • dulwich.errors.CommitError - An error occurred while performing a commit.
    • dulwich.errors.FileFormatException - Base class for exceptions relating to reading git file formats.
      • dulwich.errors.ObjectFormatException - Indicates an error parsing an object.
      • dulwich.errors.PackedRefsException - Indicates an error parsing a packed-refs file.
      • dulwich.objects.EmptyFileException - An unexpectedly empty file was encountered.
    • dulwich.errors.GitProtocolError - Git protocol exception.
      • dulwich.errors.HangupException - Hangup exception.
      • dulwich.errors.SendPackError - An error occurred during send_pack.
      • dulwich.errors.UnexpectedCommandError - Unexpected command received in a proto line.
    • dulwich.errors.HookError - An error occurred while executing a hook.
    • dulwich.errors.MissingCommitError - Indicates that a commit was not found in the repository.
    • dulwich.errors.NoIndexPresent - No index is present.
    • dulwich.errors.NotGitRepository - Indicates that no Git repository was found.
    • dulwich.errors.ObjectMissing - Indicates that a requested object is missing.
    • dulwich.errors.RefFormatError - Indicates an invalid ref name.
    • dulwich.errors.WorkingTreeModifiedError - Indicates that the working tree has modifications that would be overwritten.
    • dulwich.errors.WrongObjectException - Baseclass for all the _ is not a _ exceptions on objects.
      • dulwich.errors.NotBlobError - Indicates that the sha requested does not point to a blob.
      • dulwich.errors.NotCommitError - Indicates that the sha requested does not point to a commit.
      • dulwich.errors.NotTagError - Indicates that the sha requested does not point to a tag.
      • dulwich.errors.NotTreeError - Indicates that the sha requested does not point to a tree.
    • dulwich.file.FileLocked - File is already locked.
    • dulwich.filters.FilterError - Exception raised when filter operations fail.
    • dulwich.index.UnmergedEntries - Unmerged entries exist in the index.
    • dulwich.index.UnsupportedIndexFormat - An unsupported index format was encountered.
    • dulwich.lfs.LFSError - LFS-specific error.
    • dulwich.merge.MergeConflict - Raised when a merge conflict occurs.
    • dulwich.objects.SubmoduleEncountered - A submodule was encountered while resolving a path.
    • dulwich.objectspec.AmbiguousShortId - The short id is ambiguous.
    • dulwich.pack.PackFileDisappeared - Raised when a pack file unexpectedly disappears.
    • dulwich.pack.UnresolvedDeltas - Delta objects could not be resolved.
    • dulwich.patch.DiffAlgorithmNotAvailable - Raised when a requested diff algorithm is not available.
    • dulwich.patch.PatchApplicationFailure - Raised when a patch does not apply cleanly.
    • dulwich.porcelain.Error - Porcelain-based error.
      • dulwich.porcelain.CheckoutError - Indicates that a checkout cannot be performed.
      • dulwich.porcelain.DivergedBranches - Branches have diverged and fast-forward is not possible.
      • dulwich.porcelain.RemoteExists - Raised when the remote already exists.
      • dulwich.porcelain.TimezoneFormatError - Raised when the timezone cannot be determined from a given string.
    • dulwich.rebase.RebaseError - Base class for rebase errors.
      • dulwich.rebase.RebaseAbort - Raised when rebase is aborted.
      • dulwich.rebase.RebaseConflict - Raised when a rebase conflict occurs.
    • dulwich.refs.SymrefLoop - There is a loop between one or more symrefs.
    • dulwich.repo.DefaultIdentityNotFound - Default identity could not be determined.
    • dulwich.repo.InvalidUserIdentity - User identity is not of the format 'user <email>'.
    • dulwich.repo.UnsupportedExtension - Unsupported repository extension.
    • dulwich.repo.UnsupportedVersion - Unsupported repository version.
    • dulwich.signature.SignatureVerificationError - Base exception for signature verification failures.
      • dulwich.signature.BadSignature - Exception raised when a signature is invalid or cannot be verified.
      • dulwich.signature.UntrustedSignature - Exception raised when a signature is not from a trusted key.
    • dulwich.sparse_patterns.BlobNotFoundError - Raised when a requested blob is not found in the repository's object store.
    • dulwich.sparse_patterns.SparseCheckoutConflictError - Raised when local modifications would be overwritten by a sparse checkout operation.
  • fastimport.processor.ImportProcessor
    • dulwich.fastexport.GitImportProcessor - An import processor that imports into a Git repository using Dulwich.
  • http.server.BaseHTTPRequestHandler
    • dulwich.lfs_server.LFSRequestHandler - HTTP request handler for LFS operations.
  • http.server.HTTPServer
    • dulwich.lfs_server.LFSServer - Simple LFS server for testing.
  • io.RawIOBase
    • dulwich.porcelain.NoneStream - Fallback if stdout or stderr are unavailable, does nothing.
  • logging.Handler
    • dulwich.log_utils._NullHandler - No-op logging handler to avoid unexpected logging warnings.
  • PermissionError
    • dulwich.index.WindowsSymlinkPermissionError - Windows-specific error for symlink creation failures.
  • socketserver.StreamRequestHandler
    • dulwich.server.TCPGitRequestHandler - TCP request handler for git protocol.
  • socketserver.TCPServer
    • dulwich.server.TCPGitServer - TCP server for git protocol.
  • str
    • dulwich.maintenance.MaintenanceSchedule - Maintenance schedule types.
  • typing.BinaryIO
    • dulwich.cli.PagerBuffer - Binary buffer wrapper for Pager to mimic sys.stdout.buffer.
    • dulwich.diff.ColorizedDiffStream - Stream wrapper that colorizes diff output line by line using Rich.
    • dulwich.pack.HashWriter - Wrapper for file-like object that computes hash of its data.
    • dulwich.pack.SHA1Reader - Wrapper for file-like object that remembers the SHA1 of its data.
    • dulwich.pack.SHA1Writer - Wrapper for file-like object that remembers the SHA1 of its data.
  • typing.Generic
    • dulwich.config.CaseInsensitiveOrderedMultiDict - A case-insensitive ordered dictionary that can store multiple values per key.
    • dulwich.graph.WorkList - Priority queue for commit processing using a min-heap.
    • dulwich.lru_cache._LRUNode - This maintains the linked-list which is the lru internals.
    • dulwich.lru_cache.LRUCache - A class which manages a cache of entries, removing unused ones.
      • dulwich.lru_cache.LRUSizeCache - An LRUCache that removes things based on the size of the values.
    • dulwich.pack.DeltaChainIterator - Abstract iterator over pack data based on delta chains.
      • dulwich.pack.PackIndexer - Delta chain iterator that yields index entries.
      • dulwich.pack.PackInflater - Delta chain iterator that yields ShaFile objects.
      • dulwich.pack.UnpackedObjectIterator - Delta chain iterator that yield unpacked objects.
  • typing.IO
    • dulwich.file._GitFile - File that follows the git locking protocol for writes.
  • typing.NamedTuple
    • dulwich.diff_tree.TreeChange - Named tuple a single change between two trees.
    • dulwich.objects.TreeEntry - Named tuple encapsulating a single tree entry.
  • typing.Protocol
    • dulwich.bundle.PackDataLike - Protocol for objects that behave like PackData.
    • dulwich.client.DetermineWantsFunc - Protocol for determine_wants functions.
    • dulwich.client.GeneratePackDataFunc - Protocol for generate_pack_data functions.
    • dulwich.client.HTTPResponse - Protocol for HTTP response objects (matches urllib3.response.HTTPResponse).
    • dulwich.filters.FilterDriver - Protocol for filter drivers.
      • dulwich.line_ending.LineEndingFilter - Filter driver for line ending conversion.
    • dulwich.merge_drivers.MergeDriver - Protocol for merge drivers.
    • dulwich.object_store.GraphWalker - Protocol for graph walker objects.
    • dulwich.object_store.ObjectIterator - Interface for iterating over objects.
    • dulwich.object_store.ObjectReachabilityProvider - Protocol for computing object reachability queries.
    • dulwich.object_store.PackContainer - Protocol for containers that can accept pack files.
    • dulwich.pack.ObjectContainer - Protocol for objects that can contain git objects.
      • dulwich.pack.PackedObjectContainer - Container for objects packed in a pack file.
        • dulwich.object_store.PackBasedObjectStore - Object store that uses pack files for storage.
          • dulwich.object_store.BucketBasedObjectStore - Object store implementation that uses a bucket store like S3 as backend.
            • dulwich.cloud.gcs.GcsObjectStore - Object store implementation using Google Cloud Storage.
          • dulwich.object_store.DiskObjectStore - Git-style object store that exists on disk.
        • dulwich.object_store.PackCapableObjectStore - Object store that supports pack operations.
          • dulwich.object_store.MemoryObjectStore - Object store that keeps all objects in memory.
          • dulwich.object_store.PackBasedObjectStore - Object store that uses pack files for storage.
            • dulwich.object_store.BucketBasedObjectStore - Object store implementation that uses a bucket store like S3 as backend.
              • dulwich.cloud.gcs.GcsObjectStore - Object store implementation using Google Cloud Storage.
            • dulwich.object_store.DiskObjectStore - Git-style object store that exists on disk.
    • dulwich.rebase.RebaseStateManager - Protocol for managing rebase state.
    • dulwich.server.BackendRepo - Repository abstraction used by the Git server.
    • dulwich.web.HandlerConstructor - Protocol for handler constructors.
  • typing.TextIO
    • dulwich.cli.Pager - File-like object that pages output through external pager programs.
  • typing.TypedDict
    • dulwich.filter_branch.CommitData - TypedDict for commit data fields.
    • dulwich.porcelain.TransportKwargs - Keyword arguments accepted by get_transport_and_path.
    • dulwich.rebase.RebaseState - Type definition for rebase state.
    • dulwich.stash.CommitKwargs - Keyword arguments for do_commit.
    • dulwich.subtree.SubtreeMetadata - Metadata stored in commit trailers for subtree operations.
  • unittest.TestCase
    • dulwich.tests.test_object_store.FindShallowTests - Tests for finding shallow commits.
    • dulwich.tests.test_object_store.IterCommitContentsTests - Tests for iter_commit_contents.
  • wsgiref.simple_server.ServerHandler
    • dulwich.web.ServerHandlerLogger - ServerHandler that uses dulwich's logger for logging exceptions.
  • wsgiref.simple_server.WSGIRequestHandler
    • dulwich.web.WSGIRequestHandlerLogger - WSGIRequestHandler that uses dulwich's logger for logging exceptions.
  • wsgiref.simple_server.WSGIServer
    • dulwich.web.WSGIServerLogger - WSGIServer that uses dulwich's logger for error handling.
API Documentation for dulwich, generated by pydoctor 25.10.1 at 2026-05-04 22:31:33.