semvec/pypi-packages huggingface dataset:
pyzgit 1.3
Simple terminal tool of Git.
Requires Python: >=3.5

A terminal tool, help you use git more simple.

Just support Linux, MacOs or other UNIX-like.

You can use Pipy install it.

```shell
pip3 install pyzgit --user
```

Then you can use it with `g` , like this:

```shell
[pyzgit]

A terminal tool, help you use git more simple. Support Linux and MacOS.

Usage: g <option> [<args>]
You can use -h and --help to get how to use pyzgit.

```
drf-utils 0.3.0
Reusable utilities for DRF used at Ployst

# DRF Utils

Utilities for Django Rest Framework we use at :ployst, including:

- Fields
- Serializer mixins
- Decorators

DRF Utils only supports Python 3. It has been tested with Python 3.4.

## Development

Run tests with:

    DJANGO_SETTINGS_MODULE=drfutils.tests.settings django-admin test

## Releasing

Circle takes care of releasing to PyPI. Simply create a tag in the form
3.2.1 and circle will build and release as 3.2.1.

To release locally, run `./release.sh <version>`
krbticket 1.0.6
Kerberos Ticket Manager

# Kerberos Ticket Manager

![build status](https://github.com/ksauzz/krbticket/workflows/test/badge.svg)

Simple kinit wrapper to update Kerberos ticket periodically for long running application.

## Getting Started

Periodical kerberos ticket update

```
from krbticket import KrbTicket

ticket = KrbTicket.init("<principal>", "<keytab path>")
ticket.updater_start()
```

If `keytab path` is not specifyed, kinit uses `KRB5_KTNAME` env, or `/etc/krb5.keytab` to find a keytab file. see: kerberos(1) and kinit(1).

### Ticket Updater Strategies

To avoid a credential cache (ccache) corruption by concurrent updates from multiple processes, KrbTicketUpdater has a few update strategies:

- SimpleKrbTicketUpdater: for single updater process, or multiple updaters w/ per process ccache. (default)
- MultiProcessKrbTicketUpdater: for multiple updater processes w/ exclusive file lock
- SingleProcessKrbTicketUpdater: for multiple updater processes w/ exclusive file lock to restrict the number of updater processes to one against the ccache

```
from krbticket import KrbTicket, SingleProcessKrbTicketUpdater

ticket = KrbTicket.init("<principal>", "<keytab path>", updater_class=SingleProcessKrbTicketUpdater)
ticket.updater_start()
```

### Retry

krbticket supports retry feature utilizing [retrying](https://github.com/rholder/retrying) which provides various retry strategy. To change the behavior, pass the options using `retry_options` of KrbConfig. The dafault values are:

- wait_exponential_multiplier = 1000
- wait_exponential_max = 30000
- stop_max_attempt_number = 10

```
from krbticket import KrbTicket

retry_options = {
  'wait_exponential_multiplier': 1000,
  'wait_exponential_max': 10000,
  'stop_max_attempt_number': 5
}
ticket = KrbTicket.init("<principal>", "<keytab path>", retry_options=retry_options)
ticket.updater_start()
```

### Update Interval

TBD

## Test

```
docker run --rm -p 88:88 ksauzz/docker-krb5:0.0.1
pip install -r requirements-test.txt -r requirements.txt
KRB5_CONFIG=tests/conf/krb5.conf.local pytest
```