semvec/pypi-packages huggingface dataset:
pyfancylogger 0.3.2
A Fast & Fancy version of logging
Requires Python: >=3.9

# FancyLogger
![Downloads](https://pepy.tech/badge/pyfancylogger)
![Downloads](https://pepy.tech/badge/pyfancylogger/week)
![Downloads](https://pepy.tech/badge/pyfancylogger/month)  
With this library, Log in style!

### This library is still under development, so we appreciate if you help us improve it on the GitHub!

### Having an issue?
You can always find someone on our discord server here:
> https://discord.agmstudio.xyz/

### Wiki
The official wiki of this library is now available at GitHub
> https://git.agmstudio.xyz/FancyLogger/wiki

## How to install
To install just use following command
```shell
pip install PyFancyLogger
```
This library will have dev/beta builds on the GitHub, to install them you can use

```shell
pip install --upgrade git+https://github.com/AGM-Studio/FancyLogger.git
```

# Example
This is based on file below:
> https://github.com/AGM-Studio/FancyLogger/blob/master/test.py
```python
from FancyLogger import FancyLogger, FancyFormatter, Formats

logger = FancyLogger('Test', FancyFormatter(Formats.detailed))

logger.setLevel(0)

if __name__ == '__main__':
    logger.debug('This is a debug')
    logger.info('This is an info')
    logger.warning('This is a warning')

    try:
        int('Not an int')
    except Exception as e:
        logger.error(f'This is an error for {e}')

    try:
        int('Not an int either')
    except Exception as e:
        logger.exception(f'This is an error for {e}')

    logger.critical('IMPORTANT: THIS IS A CRITICAL MESSAGE')

    print('\n----- Testing Sub loggers -----\n')

    logger.sub('Sub 1').info('A sub to the parent')
    logger.sub('Sub 2').info('Another sub logger!')

    logger.sub('Sub 1').info('Previous one is still available!')
    logger.sub('Sub 1').sub('Sub in Sub').critical('EVEN SUBS CAN HAVE SUBS!')
```
![Result](https://raw.githubusercontent.com/AGM-Studio/FancyLogger/master/Example.jpg)

[![Advertisement Banner](https://2captcha.com/referral-banners/2captcha/08.gif)](https://2captcha.com/?from=19092307)

## Extras & Features
...
scratchapi-python 1.0.1
An API for Scratch.
Requires Python: >=3.9

# scratchapi-python

[![PyPI - Version](https://img.shields.io/pypi/v/scratchapi-python)](https://pypi.org/project/scratchapi-python/)
[![GitHub Release](https://img.shields.io/github/v/release/Artcas2/scratchapi-python)](https://github.com/Artcas2/scratchapi-python/releases/latest)
[![GitHub License](https://img.shields.io/github/license/Artcas2/scratchapi-python)](https://github.com/Artcas2/scratchapi-python/blob/main/LICENSE)

A scratch API wrapper for Python, created by [Artcas2](https://scratch.mit.edu/users/Artcas2/).

## Installation

To install the library, run the following command:
```console
pip install -U scratchapi-python
```

## Example

```python
import scratchapi

session = scratchapi.login("username", "password")

user = session.get_current_user()
print("Follower count:", user.get_follower_count())
print("Following count:", user.get_following_count())
print("Project cout:", user.get_project_count())

followers = user.get_followers(limit=1)
print("\nLast follower:")
for follower in followers:
    print(follower)

project = scratchapi.get_project("731849091")
print(f"\nProject stats: {project.loves} loves and {project.favorites} favs.")
```

## Usage

#### Logging in with username and password

```python
import scratchapi

session = scratchapi.login("username", "password")
```

#### Logging in with a session id

```python
import scratchapi

session = scratchapi.Session("username", "session_id")
```

#### Session attributes

```
session.username
session.session_id
session.email
session.xtoken
session.new_scratcher
session.banned
```
waster 0.0.15
A simple microservice to test the behaviour of infrastructures.
Requires Python: >3.10.0

Waster
======

.. |licence| image:: https://img.shields.io/github/license/Leikt/waster
   :alt: GitHub License
.. |pypi-version| image:: https://img.shields.io/pypi/v/waster
   :alt: PyPI - Version
.. |rtd-status| image:: https://img.shields.io/readthedocs/waster
   :alt: Read the Docs
.. |github-ci| image:: https://img.shields.io/github/actions/workflow/status/Leikt/waster/ci.yml?branch=master
   :alt: GitHub Actions Workflow Status

|licence| |pypi-version| |rtd-status| |github-ci|

A simple generic microservice useful to test the behaviour of infrastructures regardless of the hosted applications.

Documentation: https://waster.readthedocs.io/en/latest/
openttd-protocol 1.7.1
OpenTTD network protocol for Python
Requires Python: >=3.8

# openttd-protocol

[![GitHub License](https://img.shields.io/github/license/OpenTTD/py-protocol)](https://github.com/OpenTTD/py-protocol/blob/main/LICENSE)
[![GitHub Tag](https://img.shields.io/github/v/tag/OpenTTD/py-protocol?include_prereleases&label=stable)](https://github.com/OpenTTD/py-protocol/releases)
[![GitHub commits since latest release](https://img.shields.io/github/commits-since/OpenTTD/py-protocol/latest/main)](https://github.com/OpenTTD/py-protocol/commits/main)

[![GitHub Workflow Status (Testing)](https://img.shields.io/github/workflow/status/OpenTTD/py-protocol/Testing/main?label=main)](https://github.com/OpenTTD/py-protocol/actions?query=workflow%3ATesting)
[![GitHub Workflow Status (Release)](https://img.shields.io/github/workflow/status/OpenTTD/py-protocol/Release?label=release)](https://github.com/OpenTTD/py-protocol/actions?query=workflow%3A%22Release%22)

This library implements the OpenTTD network protocol.
It mostly is meant to be used for OpenTTD's backend services, like [BaNaNaS server](https://github.com/OpenTTD/bananas-server) and [master server](https://github.com/OpenTTD/master-server).

# Usage

`pip install openttd-protocol`

Now in your Python code you can import the protocol.
Example:

```python
import asyncio
import logging

from openttd_protocol.protocol.coordinator import CoordinatorProtocol

log = logging.getLogger(__name__)


class Application:
    async def receive_PACKET_COORDINATOR_CLIENT_REGISTER(self, source, protocol_version, game_type, server_port):
        # Your logic goes here
        pass


def main():
    application = Application()

    loop = asyncio.get_event_loop()
    server = loop.run_until_complete(loop.create_server(lambda: CoordinatorProtocol(application), host="127.0.0.1", port=12345, reuse_port=True, start_serving=True))

    try:
        loop.run_until_complete(server.serve_forever())
    except KeyboardInterrupt:
        pass

    log.info("Shutting down game_coordinator ...")
    server.close()

if __name__ == "__main__":
    main()
```