Skip to main content

Git operations and utilities (clone, branch, commit, retry, remote helpers) — standalone module from the SciTeX ecosystem

Project description

scitex-git

PyPI Python Tests Install Test Coverage Docs License: AGPL v3

Git operations and utilities extracted from the SciTeX ecosystem as a standalone package.

Install

pip install scitex-git

API

import scitex_git as sxg

# Clone / init
sxg.clone_repo(url, dest_dir)
sxg.git_init(repo_path)

# Add / commit
sxg.git_add_all(repo_path)
sxg.git_commit(repo_path, message="…")

# Branch
sxg.git_checkout_new_branch(repo_path, branch_name)
sxg.git_branch_rename(repo_path, old, new)
sxg.setup_branches(repo_path, template_name)

# Repo init / discovery
sxg.init_git_repo(project_dir, git_strategy="parent")
sxg.find_parent_git(project_dir)
sxg.create_child_git(project_dir)
sxg.remove_child_git(project_dir)

# Remote
sxg.get_remote_url(repo_path)
sxg.is_cloned_from(repo_path, url)
sxg.ls_remote(url)
sxg.get_head_hash(repo_path)

# Retry decorator
@sxg.git_retry(max_attempts=3)
def maybe_flaky_operation(): ...

Status

Standalone fork of scitex.git. scitex.logging.getLogger is replaced by stdlib logging.getLogger; the scitex.sh.sh shell wrapper is replaced by a tiny ~70-LOC _vendor_sh.py that supports just the call-shape used here. The optional scitex.writer.verify_tree_structure validation step in create_child_git is gated behind a try/except ImportError so it only runs when scitex-writer is installed.

The umbrella package's scitex.git import path is preserved via a sys.modules-alias bridge so existing code continues to work.

License

AGPL-3.0-only (see LICENSE).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scitex_git-0.1.2.tar.gz (26.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

scitex_git-0.1.2-py3-none-any.whl (31.5 kB view details)

Uploaded Python 3

File details

Details for the file scitex_git-0.1.2.tar.gz.

File metadata

  • Download URL: scitex_git-0.1.2.tar.gz
  • Upload date:
  • Size: 26.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for scitex_git-0.1.2.tar.gz
Algorithm Hash digest
SHA256 fd4fcaacfeff809fe46a9e2b65368086edf6ee4ffee81deac424e3284993f9b5
MD5 b1523809534cd78d7507e32609cd1736
BLAKE2b-256 73ff45db38aa4181ceba67dd444483817d0137acc9c06e8ae3a57bdb7d35a7c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for scitex_git-0.1.2.tar.gz:

Publisher: publish-pypi.yml on ywatanabe1989/scitex-git

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scitex_git-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: scitex_git-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 31.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for scitex_git-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2133bef99479980769a378bb016fc8e8f3a47a1010b42167116dd046cb1f61a7
MD5 baa5d522f3191e2feda6bc276b253358
BLAKE2b-256 08fe152c156b174f3ab58e10c3ba33824292de0603308e8d6c7ed4b6bb3af68c

See more details on using hashes here.

Provenance

The following attestation bundles were made for scitex_git-0.1.2-py3-none-any.whl:

Publisher: publish-pypi.yml on ywatanabe1989/scitex-git

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page