semvec/pypi-packages huggingface dataset:
di4injector 0.0.2
DI for injector

# di4injector
DI for Injector

## How to use

```shell
pip install di4injector
```

```python
# at example.py

import abc
from di import DIContainer, DI


class GreetingService(abc.ABC):
    @abc.abstractmethod
    def greeting(self) -> str:
        pass

    
class EnglishGreetingService(GreetingService):
    def greeting(self) -> str:
        return 'Hello'


class JapaneseGreetingService(GreetingService):
    def greeting(self) -> str:
        return 'こんにちは'


di = DI.of(
    GreetingService,  # Abstract class 
    {  # inject
        "JP": JapaneseGreetingService,  # DI_PROFILE_ACTIVES=JP,...  
        "EN": EnglishGreetingService    # DI_PROFILE_ACTIVES=EN,...
    }, 
    EnglishGreetingService  # Default
)

DIContainer.instance().register(di)

greeting_service = DIContainer.instance().resolve(GreetingService)
greeting_service.greeting()
```

## For Developer

<details><summary>run test</summary>

```shell
pytest -v ./tests
```
</details>
PyEmailHandler 0.1.3a0
A simplified tool for mailing services
Requires Python: >=3.7
Keywords: python, sockets, networking, communication

# PyEmailHandler

Receive and Send emails at ease. 

Intended for quick and easy projects that does not require specific function other than to receive, send and reply to emails.

**Supports:**
* IMAP4
* SMTP

## Basic Usage: 

### Send a simple Email
```py
from PyEmailHandler import EmailSMTP
email = EmailSMTP(
        username="smtp_username",
        password="smtp_password",
        sender_mail="sender@example.com",
        sender_name="WeSend",
        smtp_server="smtp.example.com",
        port = 587,
        protocol = "starttls"
    )
email.start_connection()
email.send(
    receiver="recipient@mailaddress.com",
    subject="Subject of the e-mail",
    body="Content of the e-mail, can be as long as you want"
)
```

### Send a comprehensive Email
```py
from PyEmailHandler import EmailSMTP
email = EmailSMTP(
        username="smtp_username",
        password="smtp_password",
        sender_mail="sender@example.com",
        sender_name="WeSend",
        smtp_server="smtp.example.com",
        port = 587,
        protocol = "starttls"
    )
email.start_connection()
message = MIMEText(html_text, 'html')
message['Subject'] = "Main subject"
message['To'] = "Recipient Name <recipient@mailaddress.com>"
message['From'] = "WeSend <sender@example.com>"
email.send_raw(
    receiver="recipient@mailaddress.com",
    mime=message
)
```

### Receive Inbox
```py
from PyEmailHandler import EmailIMAP
inbox = EmailIMAP(
        username="imap_username",
        password="imap_password",
        imap_server="imap.example.com",
        port=993,
        protocol="ssl"      
    )
inbox.start_connection()
mails = inbox.get_mails()
for mail in mails:
    print(mail)
```

### Reply to an inbox
By combining Both IMAP and SMTP functionalities
```py
from PyEmailHandler import EmailIMAP, EmailSMTP
from PyEmailHandler.tools import reply_mail
inbox = EmailIMAP(
        username="imap_username",
        password="imap_password",
        imap_server="imap.example.com",
        port=993,
        protocol="ssl"      
    )
inbox.start_connection()
smtp = EmailSMTP(
        username="smtp_username",
        password="smtp_password",
        sender_mail="sender@example.com",
        sender_name="WeSend",
        smtp_server="smtp.example.com",
        port = 587,
        protocol = "starttls"
    )
smtp.start_connection()

mails = inbox.get_mails()
for mail in mails:
    if mail == "Some Criteria here":
        message = MIMEText("Body of Message goes here", "plain")
        #Other headers are handled automatically only the body of the message is required.
        #Some headers are not automatically handled such as the Reply-To header which might be important
        reply_mail(smtp, mail, message)
```

PROTOCOLS:
```py
ssl
starttls
none #This is unsecure mode, use it at your own discretion
```
jmvbd 2.0.1
Jellyfin Movie Video Backdrop Downloader

# **JMVDB**
# HOLY FUCK IT FINALLY WORKS
_Jellyfin Movie Video Backdrop Downloader_

A Python script in order to automate the downloading and conversion (if you so choose) of backdrops for movies using the TMDB api, Python, ffmpeg and yt-dlp

# LOOKING FOR HELP WITH MAKING A GUI IF YOU KNOW ANYTHING SEND A PULL REQUEST

## REQUIREMENTS
1. Python 3.11
2. ffmpeg (if you plan on using the conversion element)
3. TMDB API Key


### Usage:

Steps:
1. Either clone the repository, download the individual files from this repo, or install with pip! ```pip install jmvbd```
2. Run ```pip install -r ./requirements.txt``` from within the same directory as your requirements.txt file 
3. Copy the file `jmvbd.py` to the top of whichever movie directory you are looking to download backdrop videos for or into a folder in your path to be able to run it from anywhere
4. Open a command prompt window in the directory where you copied the files and run:
For in folder install:
```cmd
py -3.11 ./jmvbd.py
```

For path install:
```cmd
py -3.11 jmvbd.py
```

5. You will be prompted for your TMDB API key, if you have not already provided it, [which you can get here](https://developer.themoviedb.org/v4/reference/intro/authentication) it will be saved in either your appdata folder or config folder, depending on your os, in a file named apikey.txt encoded in Base64

![image](https://github.com/user-attachments/assets/decbe685-6d56-455c-b530-bdffa55238ac)

5. Let the script run and you will be prompted if you want to convert to x265 NVENC MKV with no audio
  
6. Congrats! (**BE SURE TO GO TO JELLYFIN, GO TO USER SETTINGS AND ENABLE THEME VIDEOS OTHERWISE THIS WON'T SHOW ANYTHING**)