Metadata-Version: 2.1
Name: pyCubes
Version: 0.4.2
Summary: Library for creating servers and clients for Minecraft Java Edition
Home-page: https://github.com/DavisDmitry/pyCubes
Author-Email: DmitryDavis <dmitrydavis@protonmail.com>, Dmitry Davis <dmitrydavis@protonmail.com>
License: MIT
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Internet
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Project-URL: Homepage, https://github.com/DavisDmitry/pyCubes
Project-URL: Documentation, https://pycubes.dmitrydavis.xyz
Requires-Python: <4.0,>=3.10
Requires-Dist: anyio>=4.3.0
Requires-Dist: nbtlib>=2.0.4
Description-Content-Type: text/markdown

<h1 align="center">pyCubes</h1>

<p align="center">
<a href="https://pypi.org/project/pycubes"><img alt="PyPI" src="https://img.shields.io/pypi/v/pycubes"></a>
<a href="https://pypi.org/project/pycubes"><img alt="PyPI - Python Version" src="https://img.shields.io/pypi/pyversions/pycubes"></a>
<a href="https://pypi.org/project/pycubes"><img alt="PyPI - License" src="https://img.shields.io/pypi/l/pyCubes"></a>
<a href="https://pepy.tech/project/pycubes"><img alt="Downloads" src="https://pepy.tech/badge/pycubes/month"></a>
</p>
<p align="center">
<a href="https://github.com/DavisDmitry/pyCubes/actions/workflows/test.yml"><img alt="Test" src="https://github.com/DavisDmitry/pyCubes/actions/workflows/test.yml/badge.svg?branch=master"></a>
<a href="https://github.com/DavisDmitry/pyCubes/actions/workflows/lint.yml"><img alt="Lint" src="https://github.com/DavisDmitry/pyCubes/actions/workflows/lint.yml/badge.svg?branch=master"></a>
<a href="https://codecov.io/gh/DavisDmitry/pyCubes"><img alt="codecov" src="https://codecov.io/gh/DavisDmitry/pyCubes/branch/master/graph/badge.svg?token=Y18ZNYT4YS"></a>
</p>
<p align="center">
<a href="https://github.com/psf/black"><img alt="Code style: black" src="https://img.shields.io/badge/code%20style-black-000000.svg"></a>
<a href="https://pycqa.github.io/isort"><img alt="Imports: isort" src="https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336"></a>
</p>

---

<p align="center">
<a href="https://pycubes.dmitrydavis.xyz">Documentation</a> | 
<a href="https://github.com/DavisDmitry/pyCubes/tree/master/examples">Examples</a> | 
<a href="https://wiki.vg/Protocol">Protocol Specification</a>
</p>

---

pyCubes is a library for creating servers and clients for Minecraft Java Edition.

**❗ 0.x versions are not stable. The library API is subject to change.**

## Installation

```bash
pip install pyCubes
```

## Features

- Serializers for some [Data types](https://wiki.vg/Data_types)
- Connection
- Low level server
- NBT module (wrapper over the [nbtlib](https://github.com/vberlier/nbtlib))
- `generate_uuid` utility (generates UUID by player_name for using in offline mode)
- [AnyIO](https://github.com/agronholm/anyio) support (an asynchronous networking and concurrency library)

## TODO

- [x] Serializers for Data types
- [ ] Network packets
- [ ] Implement compression
- [ ] High level server application with event driven API
- [ ] High level client application with event driven API
- [ ] High level proxy application with event driven API
- [ ] Chat API (chat messages constructor)
- [ ] Commands API
- [ ] Add API Reference to docs
