Settings

class pygit2.Settings

Library-wide settings interface.

cache_max_size(value: int) None

Set the maximum total data size that will be cached in memory across all repositories before libgit2 starts evicting objects from the cache. This is a soft limit, in that the library might briefly exceed it, but will start aggressively evicting objects from cache when that happens. The default cache size is 256MB.

cache_object_limit(object_type: ObjectType, value: int) None

Set the maximum data size for the given type of object to be considered eligible for caching in memory. Setting to value to zero means that that type of object will not be cached. Defaults to 0 for enums.ObjectType.BLOB (i.e. won’t cache blobs) and 4k for COMMIT, TREE, and TAG.

property cached_memory: tuple[int, int]

Get the current bytes in cache and the maximum that would be allowed in the cache.

disable_pack_keep_file_checks(value: bool = True) None

This will cause .keep file existence checks to be skipped when accessing packfiles, which can help performance with remote filesystems.

enable_caching(value: bool = True) None

Enable or disable caching completely.

Because caches are repository-specific, disabling the cache cannot immediately clear all cached objects, but each cache will be cleared on the next attempt to update anything in it.

enable_fsync_gitdir(value: bool = True) None

Enable or disable fsync for git directory operations

enable_http_expect_continue(value: bool = True) None

Enable or disable HTTP Expect/Continue for large pushes

enable_ofs_delta(value: bool = True) None

Enable or disable offset delta encoding

enable_strict_hash_verification(value: bool = True) None

Enable or disable strict hash verification

enable_strict_object_creation(value: bool = True) None

Enable or disable strict object creation validation

enable_strict_symbolic_ref_creation(value: bool = True) None

Enable or disable strict symbolic reference creation validation

enable_unsaved_index_safety(value: bool = True) None

Enable or disable unsaved index safety checks

property extensions: list[str]

Get the list of enabled extensions

property homedir: str | None

Get or set the home directory

property mwindow_file_limit: int

Get or set the maximum number of files to be mapped at any time

property mwindow_mapped_limit: int

Get or set the maximum memory that will be mapped in total by the library

property mwindow_size: int

Get or set the maximum mmap window size

property owner_validation: bool

Get or set repository directory ownership validation

property pack_max_objects: int

Get or set the maximum number of objects in a pack

property search_path: SearchPathList

Configuration file search path.

This behaves like an array whose indices correspond to ConfigLevel values. The local search path cannot be changed.

property server_connect_timeout: int

Get or set the server connection timeout in milliseconds

property server_timeout: int

Get or set the server timeout in milliseconds

set_extensions(extensions: list[str]) None

Set the list of enabled extensions

set_odb_loose_priority(priority: int) None

Set the priority for loose ODB backend (default 2)

set_odb_packed_priority(priority: int) None

Set the priority for packed ODB backend (default 1)

set_ssl_cert_locations(cert_file: str | bytes | None, cert_dir: str | bytes) None
set_ssl_cert_locations(cert_file: str | bytes, cert_dir: str | bytes | None) None

Set the SSL certificate-authority locations.

  • cert_file is the location of a file containing several certificates concatenated together.

  • cert_dir is the location of a directory holding several certificates, one per file.

Either parameter may be NULL, but not both.

set_ssl_ciphers(ciphers: str | bytes) None

Set the SSL ciphers to use for HTTPS connections

property ssl_cert_dir: str | bytes | None

TLS certificates lookup directory path.

property ssl_cert_file: str | bytes | None

TLS certificate file path.

property template_path: str | None

Get or set the default template path for new repositories

property user_agent: str | None

Get or set the user agent string for network operations

property user_agent_product: str | None

Get or set the user agent product name

property windows_sharemode: int

Get or set the Windows share mode for opening files