semvec/pypi-packages huggingface dataset:
geysermc 1.1.0
The unofficial Python wrapper for geysermc.org
License: MIT
Requires Python: >=3.6
Keywords: Minecraft, GeyserMC

# geysermc

![Tests](https://github.com/legopitstop/geysermc/actions/workflows/tests.yml/badge.svg)
[![PyPI](https://img.shields.io/pypi/v/geysermc)](https://pypi.org/project/geysermc/)
[![Python](https://img.shields.io/pypi/pyversions/geysermc)](https://www.python.org/downloads//)
![Downloads](https://img.shields.io/pypi/dm/geysermc)
![Status](https://img.shields.io/pypi/status/geysermc)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
[![Issues](https://img.shields.io/github/issues/legopitstop/geysermc)](https://github.com/legopitstop/geysermc/issues)

The unofficial Python wrapper for geysermc.org

## Installation

Install the module with pip:

```bat
pip3 install geysermc
```

Update existing installation: `pip3 install geysermc --upgrade`

## Links

- [Documentation](https://docs.lpsmods.dev/geysermc)
- [Source Code](https://github.com/legopitstop/geysermc)

## Requirements

| Name                                             | Description                                      |
| ------------------------------------------------ | ------------------------------------------------ |
| [`Pillow`](https://pypi.org/project/pillow/)     | Python Imaging Library (Fork)                    |
| [`requests`](https://pypi.org/project/requests/) | Requests is a simple, yet elegant, HTTP library. |
| [`pydantic`](https://pypi.org/project/pydantic/) | Data validation using Python type hints          |

## Features

- Get Microsoft xuid or gamertag.
- Download any geyser project.
- Get bedrock skin.

## Examples

Show bedrock player skin

```Python
from geysermc import GeyserMC

api = GeyserMC()

xuid = api.get_xuid('legopitstop')
skin = api.get_skin(xuid)
image = api.get_raw_texture(skin.texture_id)
image.show()
```

Download Geyser plugin

```Python
from geysermc import GeyserMC

api = GeyserMC()

with open('geyser-spigot.jar', 'wb') as fd:
    data = api.get_download('geyser', 'spigot')
    fd.write(data)
```
starlette-web 0.1.10
Asynchronous web framework, based on Starlette and inspired by Django
License: MIT
Requires Python: >=3.9

## starlette_web

`starlette_web` is a native-asynchronous web-framework, based on [Starlette](https://www.starlette.io/) 
and inspired by [Django](https://www.djangoproject.com/) and its ecosystem.
It aims to provide most of the relevant features of Django in async-all-the-way setting.

Its priorities, from most important to least important, are as follows:

- **Providing a strict ecosystem** - all parts of framework are aimed to work well together and follow same ideas. 
  In a way, this goes against idea of mini-frameworks like Starlette, which favor a lot of contrib plug-ins, 
  written by different authors.
  Developer must follow the conventions of the framework in most cases.
- **Robustness** - `starlette_web` is written with **anyio** and aims to follow principles of structured concurrency.
- **Feature completeness** - while the aim is not to cover all the Django ecosystem 
  (especially, because a lot of it is legacy), many useful libraries are included.
- **Cross-platform support** - most of the features are supported for both POSIX and Windows systems. 
  However, a number of contrib modules aim specifically at certain OS, and obviously it's mostly Linux. 
- **Speed** - while framework is being used in multiple projects without speed issues, speed is not properly benchmarked.
  Probably, the framework is slower than all other async Python frameworks, though not by a large amount.

**SQLAlchemy** is used as framework's database toolkit and ORM.  
**Marshmallow** is used for (de)serialization in API.  
**OpenAPI** documentation (redoc) can be autogenerated with apispec contrib module.

The framework is not well suited for novice users. It assumes prior knowledge of Django and async development in Python.

<u>The framework is in active development stage, so expect some breaking changes.</u>

## Installation, usage and supported features

Installation and deploy instructions are in [docs/howto](./docs/howto/README.md) section.

For supported features, see [docs/README.md](./docs/README.md) section.

See tests for more examples of usage.

## Code borrowing

starlette-web borrows/adopts a lot of code from other open-source Python libraries. 
List of libraries is given in the [docs](./docs/borrowing.md), with links to repositories and licences.