Git Credentials
Simple small library to provide an interface around the git credential Git command. No dependencies but git must in the PATH.
Example
from git_credentials import GitCredentials, GitCredentialDescription, GitCredentialError, GitCredentialNotStoredError
def test_creds(user, pw):
...
def ask_for_creds():
...
cred = GitCredentials("/path/to/repo")
try:
response = cred.fill(GitCredentialDescription(
protocol="https",
host="example.com",
path="/"
))
print(f"Request was successful. Host: {response.host}, User: {response.username}, Password: {response.password}")
# Test the credentials
if test_creds(response.username, response.password):
# Tell Git the credentials are good.
cred.approve(response)
else:
# Otherwise tell it to reject them.
cred.reject(response)
except GitCredentialNotStoredError:
print("Did not know the PW :(")
# Ask user for PW. You can store it then (after testing it) using approve:
(user, pw) = ask_for_creds()
if test_creds(user, pw):
# Tell Git the credentials are good.
cred.approve(GitCredentialDescription(
protocol="https",
host="example.com",
path="/",
username=user,
password=pw
))
except GitCredentialError:
# Another misc. error. GitCredentialNotStoredError subclasses this.
raise
Metadata
Release files for git-credentials 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| git_credentials-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Release files / git_credentials-1.0.0-py3-none-any.whl
| Download URL | git_credentials-1.0.0-py3-none-any.whl |
|---|---|
| Size | 4.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
38440ad0e84f53e6b0eacc1c46e3ee84d5e6daff4353ffc8ee0c2e3e770f4891
|
|
BLAKE2b-256 checksum How to use checksums |
13801c84474607459f314fe8f9390e6793f81b1cf7c78b6d9d2aa41befdb19b6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12
|