Skip to main content

Impermagit

Impermagit makes it easier to test python programs that use / integrate with git. For example:

from impermagit import fleeting_repo

with fleeting_repo() as repo:
    # there is not a git repo created in a temporary dir
    # somewhere, allowing you to do things like:

    # add some files with some contents and commit them
    repo.commit([('test.txt', 'test contents\n'),
                 ('subdir/test2.txt', 'other contents\n')])

    # update contents
    repo.commit([('test.txt', 'new test contents\n')])

    # git rm files by passing None as contents
    repo.commit([('subdir/test.txt', None)])

    # run arbitrary git cmds in the repo when you don't care
    # about the output (will raise a GitExeException if it
    # fails)
    repo.do_git(["rm", "some-other-file.txt"])

    # run arbitrary git cmds in the repo and get back
    # stdout / stderr.
    with repo.yield_git(["log"]) as (out, err):
        print out.read()
        print err.read()

 # and here, the repo is gone and the temporary dir deleted.

You can also create a Repo object directly, if you’d prefer to control the lifecycle more closely:

from imperagit import Repo

repo = Repo('/some/dir/you/manage')

By default, Imperagit uses “/usr/bin/env git” as the git executable, but this can be overridden with the git_exe arg to both fleeting_repo and Repo.

You can see more detailed docs with the interactive help:

>>> import impermagit
>>> help(impermagit)

Impermagit requires Python 2.6+, and has not been tested with Python 3.

Release files for impermagit 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for impermagit 1.0.0
File Size Uploaded
impermagit-1.0.0.tar.gz 6.9 kB Details

Release files / impermagit-1.0.0.tar.gz

Download URL impermagit-1.0.0.tar.gz
Size 6.9 kB
Tags Source
SHA-256 checksum
How to use checksums
70558f150c2e3cd92bf65f9cb1dedf2a9c6bc1599a8cbf1c17d56ed009bafb36
BLAKE2b-256 checksum
How to use checksums
b966afe652c2deceef84b2937e45c3ab6bef8baed475b37e0a7263b505b148e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.0.0 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page