semvec/pypi-packages huggingface dataset:
wint 0.2.0
Dependency injection with type hints
License: MIT
Requires Python: >=3.6
Keywords: dependency injection,type hinting,wint

Wint - dependency injection with type hints.
============================================

[![Build Status](https://travis-ci.org/asyncee/wint.svg?branch=master)](https://travis-ci.org/asyncee/wint)
[![Coverage Status](https://coveralls.io/repos/github/asyncee/wint/badge.svg?branch=master)](https://coveralls.io/github/asyncee/wint?branch=master)

Intro
-----

Wint is a lightweight library that implements dependency injection via type hinting.

Installation
------------

Just use pip:
```
$ pip install wint
```

How it works
------------

There are a ton of approaches to DI, and this library implements only property injection.

When ``autowired`` decorator is applied then class is inspected for all
annotated properties. If property has no value, then it is replaced with ``DependencyDescriptor``.

Dependency is resolved when attribute is accessed on instantiated class instance.

This behaviour allows to resolve dependencies in lazy manner with the downside of a side effect — instance
receives a descriptor property that was not existed earlier.

Example
-------

```python
from wint import autowired, ContainerProvider


class Printer:
    """Abstract class for printing messages."""

    def print(self, message):
        raise NotImplementedError


class RealPrinter(Printer):
    """Implementation of `Printer` which uses `print` to output messages."""

    def print(self, message):
        print(message)


@autowired()
class PrintService:
    # RealPrinter will be automatically injected on property access.
    printer: Printer

    def run(self, msg):
        self.printer.print(f"{msg}, i'm running!")


if __name__ == "__main__":
    container = ContainerProvider.get()
    # Register RealPrinter as singleton implementation of Printer.
    container.register(Printer, RealPrinter())

    PrintService().run('hey')
```

```bash
$ python example.py
hey, i'm running!
```

Notes
-----
This library is built on [punq](https://github.com/bobthemighty/punq)
(MIT License) and uses it's vendored version.
cupper 0.0.4
Cookie-cutter updater
License: MIT

# Cupper

Cupper allows for the update of services that are created using cookiecutter. When run, it creates a new branch that contains the latest cookiecuttered code, using a JSON file with context that matches the existing service. This file can be created through cookiecutter with the following contents:

`{{ cookiecutter | jsonify }}`

The script takes two arguments: a JSON file containing configuration for cookiecutter, and the name of the branch to create.

`cupper .cookiecutter.json template`

You can then merge these changes into your existing code:

`git merge template`

This code is heavily based on https://github.com/aroig/cookiecutter-latex-paper/blob/master/make/cookiecutter-update.py, with a few very small changes. 

Note that you will need a recent version of git for this to work (it needs --no-checkout on git worktree)
certbot-regru 1.0.2
Reg.ru DNS authenticator plugin for Certbot
License: MIT
Requires Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*

# certbot-regru
Reg.ru DNS authenticator plugin for Certbot

An authenticator plugin for [certbot](https://certbot.eff.org/) to support [Let's Encrypt](https://letsencrypt.org/) 
DNS challenges (dns-01) for domains managed by the nameservers of [Reg.ru](https://www.reg.ru).

## Requirements
* certbot (>=0.21.1)

For older Ubuntu distributions check out this PPA: 
[ppa:certbot/certbot](https://launchpad.net/~certbot/+archive/ubuntu/certbot)

## Installation
1. First install the plugin:
   ```
   sudo pip install certbot-regru
   ```

2. Configure it with your Reg.ru Credentials:
   ```
   sudo vim /etc/letsencrypt/regru.ini
   ```

3. Make sure the file is only readable by root! Otherwise all your domains might be in danger:
   ```
   sudo chmod 0600 /etc/letsencrypt/regru.ini
   ```

## Usage
Request new certificates via a certbot invocation like this:

    sudo certbot certonly -a certbot-regru:dns -d sub.domain.tld -d *.wildcard.tld

Renewals will automatically be performed using the same authenticator and credentials by certbot.

## Command Line Options
```
 --certbot-regru:dns-propagation-seconds PROPAGATION_SECONDS
                        The number of seconds to wait for DNS to propagate
                        before asking the ACME server to verify the DNS record. 
                        (default: 120)
 --certbot-regru:dns-credentials PATH_TO_CREDENTIALS
                        Path to Reg.ru account credentials INI file 
                        (default: /etc/letsencrypt/regru.ini)

```

See also `certbot --help certbot-regru:dns` for further information.

## Removal
   ```
   sudo pip uninstall certbot-regru
   ```