nessie_client package¶
Subpackages¶
Submodules¶
nessie_client.cli module¶
Console script for nessie_client.
nessie_client.error module¶
Nessie Exceptions.
- exception pynessie.error.NessieCliError(title, msg=None)[source]¶
Bases:
Exception
Base Nessie CLI related errors.
- exception pynessie.error.NessieConflictException(parsed_response, status, url, reason, msg=None)[source]¶
Bases:
pynessie.error.NessieException
Generic Nessie exception for conflict error 409.
- exception pynessie.error.NessieContentNotFoundException(parsed_response, status, url, reason, msg=None)[source]¶
Bases:
pynessie.error.NessieNotFoundException
This exception is thrown when the requested content object is not present in the store.
- exception pynessie.error.NessieException(parsed_response, status, url, reason, msg=None)[source]¶
Bases:
Exception
Base Nessie exception.
- exception pynessie.error.NessieNotFoundException(parsed_response, status, url, reason, msg=None)[source]¶
Bases:
pynessie.error.NessieException
Generic Nessie exception for not found error 404.
- exception pynessie.error.NessiePermissionException(parsed_response, status, url, reason, msg=None)[source]¶
Bases:
pynessie.error.NessieException
Nessie exception for permission error 403.
- exception pynessie.error.NessiePreconidtionFailedException(parsed_response, status, url, reason, msg=None)[source]¶
Bases:
pynessie.error.NessieException
Nessie exception for pre-condition failed error 412.
- exception pynessie.error.NessieReferenceAlreadyExistsException(parsed_response, status, url, reason, msg=None)[source]¶
Bases:
pynessie.error.NessieConflictException
Reference not found.
This exception is thrown when a reference could not be created because another reference with the same name is already present in the store.
- exception pynessie.error.NessieReferenceConflictException(parsed_response, status, url, reason, msg=None)[source]¶
Bases:
pynessie.error.NessieConflictException
Expected hash did not match actual hash on a reference.
This exception is thrown when the hash associated with a named reference does not match with the hash provided by the caller.
- exception pynessie.error.NessieReferenceNotFoundException(parsed_response, status, url, reason, msg=None)[source]¶
Bases:
pynessie.error.NessieNotFoundException
This exception is thrown when a requested reference is not present in the store.
- exception pynessie.error.NessieServerException(parsed_response, status, url, reason, msg=None)[source]¶
Bases:
pynessie.error.NessieException
Nessie exception for server errors 5xx.
- exception pynessie.error.NessieUnauthorizedException(parsed_response, status, url, reason, msg=None)[source]¶
Bases:
pynessie.error.NessieException
Nessie exception for login error 401.
nessie_client.model module¶
Nessie Data objects.
- class pynessie.model.Branch(name, hash_=None, metadata=None)[source]¶
Bases:
pynessie.model.Reference
Dataclass for Nessie Branch.
- hash_: Optional[str]¶
- metadata: Optional[pynessie.model.ReferenceMetadata]¶
- name: str¶
- class pynessie.model.CommitMeta(hash_=None, commitTime=None, authorTime=None, committer=None, author=None, signedOffBy=None, message=None, properties=None)[source]¶
Bases:
object
Dataclass for commit metadata.
- author: str¶
- authorTime: datetime.datetime¶
- commitTime: datetime.datetime¶
- committer: str¶
- hash_: str¶
- message: str¶
- properties: dict¶
- signedOffBy: str¶
- class pynessie.model.ContentKey(elements)[source]¶
Bases:
object
ContentKey.
- elements: List[str]¶
- class pynessie.model.ContentSchema(*, only=None, exclude=(), many=False, context=None, load_only=(), dump_only=(), partial=False, unknown=None)[source]¶
Bases:
marshmallow_oneofschema.one_of_schema.OneOfSchema
Schema for Nessie Content.
- opts: SchemaOpts = <marshmallow.schema.SchemaOpts object>¶
- type_schemas = {'DELTA_LAKE_TABLE': <class 'marshmallow.schema.DeltaLakeTable'>, 'ICEBERG_TABLE': <class 'marshmallow.schema.IcebergTable'>, 'ICEBERG_VIEW': <class 'marshmallow.schema.IcebergView'>}¶
- class pynessie.model.Delete(key)[source]¶
Bases:
pynessie.model.Operation
Delete single key.
- class pynessie.model.DeltaLakeTable(id, last_checkpoint, checkpoint_location_history, metadata_location_history)[source]¶
Bases:
pynessie.model.Content
Dataclass for Nessie Content.
- checkpoint_location_history: List[str]¶
- last_checkpoint: str¶
- metadata_location_history: List[str]¶
- class pynessie.model.Detached(name, hash_=None, metadata=None)[source]¶
Bases:
pynessie.model.Reference
Dataclass for Nessie detached commit id.
- hash_: Optional[str]¶
- metadata: Optional[pynessie.model.ReferenceMetadata]¶
- name: str¶
- class pynessie.model.DiffEntry(content_key, from_content, to_content)[source]¶
Bases:
object
Dataclass for a Diff.
- content_key: pynessie.model.ContentKey¶
- from_content: pynessie.model.Content¶
- to_content: pynessie.model.Content¶
- class pynessie.model.DiffResponse(diffs)[source]¶
Bases:
object
Dataclass for a DiffResponse.
- diffs: List[pynessie.model.DiffEntry]¶
- class pynessie.model.Entries(entries, has_more=False, token=None)[source]¶
Bases:
object
Dataclass for Content Entries.
- entries: List[pynessie.model.Entry]¶
- has_more: bool¶
- token: str¶
- class pynessie.model.Entry(kind, name)[source]¶
Bases:
object
Dataclass for Nessie Entry.
- kind: str¶
- class pynessie.model.EntryName(elements)[source]¶
Bases:
object
Dataclass for Nessie Entry Name.
- elements: List[str]¶
- class pynessie.model.IcebergTable(id, metadata_location, snapshot_id, schema_id, spec_id, sort_order_id)[source]¶
Bases:
pynessie.model.Content
Dataclass for Nessie Content.
- metadata_location: str¶
- static requires_expected_state()[source]¶
Returns True - expected state should be provided for Put operations on Iceberg tables.
- Return type
bool
- schema_id: int¶
- snapshot_id: int¶
- sort_order_id: int¶
- spec_id: int¶
- class pynessie.model.IcebergView(id, metadata_location, version_id, schema_id, dialect, sql_text)[source]¶
Bases:
pynessie.model.Content
Dataclass for Nessie Iceberg View.
- dialect: str¶
- metadata_location: str¶
- schema_id: int¶
- sql_text: str¶
- version_id: int¶
- class pynessie.model.LogEntry(commit_meta, parent_commit_hash=None, operations=None)[source]¶
Bases:
object
Dataclass for commit log entries.
- commit_meta: pynessie.model.CommitMeta¶
- operations: List[pynessie.model.Operation]¶
- parent_commit_hash: str¶
- class pynessie.model.LogResponse(log_entries, has_more=False, token=None)[source]¶
Bases:
object
Dataclass for Log Response.
- has_more: bool¶
- log_entries: List[pynessie.model.LogEntry]¶
- token: str¶
- class pynessie.model.Merge(from_ref_name, from_hash=None)[source]¶
Bases:
object
Dataclass for Merge operation.
- from_hash: str¶
- from_ref_name: str¶
- class pynessie.model.MultiContents(commit_meta, operations)[source]¶
Bases:
object
Contents container for commit.
- commit_meta: pynessie.model.CommitMeta¶
- operations: List[pynessie.model.Operation]¶
- class pynessie.model.OperationsSchema(*, only=None, exclude=(), many=False, context=None, load_only=(), dump_only=(), partial=False, unknown=None)[source]¶
Bases:
marshmallow_oneofschema.one_of_schema.OneOfSchema
Schema for Nessie Operations.
- opts: SchemaOpts = <marshmallow.schema.SchemaOpts object>¶
- type_schemas = {'DELETE': <class 'marshmallow.schema.Delete'>, 'PUT': <class 'marshmallow.schema.Put'>, 'UNCHANGED': <class 'marshmallow.schema.Unchanged'>}¶
- class pynessie.model.Put(key, content, expectedContent=None)[source]¶
Bases:
pynessie.model.Operation
Single Commit Operation.
- content: pynessie.model.Content¶
- expectedContent: Optional[pynessie.model.Content]¶
- class pynessie.model.Reference(name, hash_=None, metadata=None)[source]¶
Bases:
object
Dataclass for Nessie Reference.
- hash_: Optional[str]¶
- metadata: Optional[pynessie.model.ReferenceMetadata]¶
- name: str¶
- class pynessie.model.ReferenceMetadata(commit_meta_of_head, num_commits_ahead=None, num_commits_behind=None, common_ancestor_hash=None, num_total_commits=None)[source]¶
Bases:
object
Dataclass for Nessie ReferenceMetadata.
- commit_meta_of_head: pynessie.model.CommitMeta¶
- common_ancestor_hash: str¶
- num_commits_ahead: int¶
- num_commits_behind: int¶
- num_total_commits: str¶
- class pynessie.model.ReferenceSchema(*, only=None, exclude=(), many=False, context=None, load_only=(), dump_only=(), partial=False, unknown=None)[source]¶
Bases:
marshmallow_oneofschema.one_of_schema.OneOfSchema
Schema for Nessie Reference.
- opts: SchemaOpts = <marshmallow.schema.SchemaOpts object>¶
- type_schemas = {'BRANCH': <class 'marshmallow.schema.Branch'>, 'DETACHED': <class 'marshmallow.schema.Detached'>, 'TAG': <class 'marshmallow.schema.Tag'>}¶
- class pynessie.model.ReferencesResponse(references, has_more=False, token=None)[source]¶
Bases:
object
Dataclass for References.
- has_more: bool¶
- references: List[pynessie.model.Reference]¶
- token: str¶
- class pynessie.model.ReflogEntry(reflog_id, ref_name, ref_type, commit_hash, parent_reflog_id, operation_time, operation, source_hashes)[source]¶
Bases:
object
Dataclass for reflog entries.
- commit_hash: str¶
- operation: str¶
- operation_time: int¶
- parent_reflog_id: str¶
- ref_name: str¶
- ref_type: str¶
- reflog_id: str¶
- source_hashes: List[str]¶
- class pynessie.model.ReflogResponse(log_entries, has_more=False, token=None)[source]¶
Bases:
object
Dataclass for reflog Response.
- has_more: bool¶
- log_entries: List[pynessie.model.ReflogEntry]¶
- token: str¶
- class pynessie.model.Tag(name, hash_=None, metadata=None)[source]¶
Bases:
pynessie.model.Reference
Dataclass for Nessie Tag.
- hash_: Optional[str]¶
- metadata: Optional[pynessie.model.ReferenceMetadata]¶
- name: str¶
- class pynessie.model.Transplant(from_ref_name, hashes_to_transplant)[source]¶
Bases:
object
Dataclass for Transplant operation.
- from_ref_name: str¶
- hashes_to_transplant: List[str]¶
- class pynessie.model.Unchanged(key)[source]¶
Bases:
pynessie.model.Operation
Unchanged single key.
- pynessie.model.is_valid_hash(ref)[source]¶
Checks whether ‘ref’ is a valid commit id/hash.
- Return type
bool
- pynessie.model.is_valid_reference_name(ref)[source]¶
Checks whether ‘ref’ is a valid reference name.
- Return type
bool
- pynessie.model.split_into_reference_and_hash(ref_with_hash)[source]¶
Returns a tuple of reference-name + hash, if the given string represents a ref-name + hash tuple ‘ref_name@commit_id’.
- Return type
Tuple
[str
,Optional
[str
]]
nessie_client.nessie_client module¶
Module contents¶
Top-level package for Python API and CLI for Nessie.
- pynessie.get_config(config_dir=None, args=None)[source]¶
Retrieve a confuse Configuration object.
- Return type
Configuration
- pynessie.init(config_dir=None, config_dict=None)[source]¶
Create a new Nessie client object.
- Parameters
config_dir (
Optional
[str
]) – optional directory to look for config inconfig_dict (
Optional
[dict
]) – dictionary of extra config arguments
- Return type
NessieClient
- Returns
either a simple or rich client
- Example
>>> client = init('/my/config/dir')