Metadata-Version: 2.1
Name: pycubes
Version: 0.4.1
Summary: Library for creating servers and clients for Minecraft Java Edition
Home-page: https://github.com/DavisDmitry/pyCubes
License: MIT
Author: Dmitry Davis
Author-email: dmitrydavis@protonmail.com
Requires-Python: >=3.10,<4.0
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 :: 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
Provides-Extra: docs
Requires-Dist: anyio (>=3.4.0,<4.0.0)
Requires-Dist: mkdocs-material (>=8.0.5,<9.0.0); extra == "docs"
Requires-Dist: mkdocs-static-i18n (>=0.22,<0.23); extra == "docs"
Requires-Dist: nbtlib (==2.0.4)
Requires-Dist: pydantic (>=1.8.2,<2.0.0)
Requires-Dist: pymdown-extensions (>=9.1,<10.0); extra == "docs"
Project-URL: Documentation, https://pycubes.dmitrydavis.xyz
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"></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"></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 (1.14+).

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

## Installation

```bash
pip install pyCubes
```

## Features

* Serializers for [Data types](https://wiki.vg/Data_types) (missing Chat, use String instead)
* 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] Serializer for all packets Data types
* [ ] Packets descriptor
* [ ] 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

