Metadata-Version: 2.4
Name: mindpy
Version: 0.1.2
Summary: A Python AI framework for controlling Minecraft bots
Project-URL: Homepage, https://github.com/AnujaGajaweera/MindPy
Project-URL: Documentation, https://mindpy.readthedocs.io
Project-URL: Repository, https://github.com/AnujaGajaweera/MindPy
Project-URL: Issues, https://github.com/AnujaGajaweera/MindPy/issues
Author: MindPy Contributors
License: MIT
License-File: LICENSE
Keywords: ai,automation,bot,minecraft,mineflayer,pycraft
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Games/Entertainment
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.12
Requires-Dist: aiohttp>=3.9.0
Requires-Dist: loguru>=0.7.2
Requires-Dist: orjson>=3.9.0
Requires-Dist: pydantic-settings>=2.1.0
Requires-Dist: pydantic>=2.5.0
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: pyyaml>=6.0.1
Requires-Dist: rich>=13.7.0
Requires-Dist: typer>=0.9.0
Requires-Dist: typing-extensions>=4.9.0
Requires-Dist: websockets>=12.0
Provides-Extra: all
Requires-Dist: anthropic>=0.8.0; extra == 'all'
Requires-Dist: black>=23.12.0; extra == 'all'
Requires-Dist: coverage>=7.3.0; extra == 'all'
Requires-Dist: fastapi>=0.109.0; extra == 'all'
Requires-Dist: google-generativeai>=0.3.0; extra == 'all'
Requires-Dist: mkdocs-material>=9.5.0; extra == 'all'
Requires-Dist: mkdocs>=1.5.0; extra == 'all'
Requires-Dist: mkdocstrings[python]>=0.24.0; extra == 'all'
Requires-Dist: mypy>=1.8.0; extra == 'all'
Requires-Dist: openai>=1.6.0; extra == 'all'
Requires-Dist: pre-commit>=3.6.0; extra == 'all'
Requires-Dist: pytest-asyncio>=0.21.0; extra == 'all'
Requires-Dist: pytest-cov>=4.1.0; extra == 'all'
Requires-Dist: pytest>=7.4.0; extra == 'all'
Requires-Dist: ruff>=0.1.0; extra == 'all'
Requires-Dist: uvicorn>=0.27.0; extra == 'all'
Provides-Extra: api
Requires-Dist: fastapi>=0.109.0; extra == 'api'
Requires-Dist: uvicorn>=0.27.0; extra == 'api'
Provides-Extra: dev
Requires-Dist: black>=23.12.0; extra == 'dev'
Requires-Dist: coverage>=7.3.0; extra == 'dev'
Requires-Dist: mypy>=1.8.0; extra == 'dev'
Requires-Dist: pre-commit>=3.6.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
Requires-Dist: pytest-cov>=4.1.0; extra == 'dev'
Requires-Dist: pytest>=7.4.0; extra == 'dev'
Requires-Dist: ruff>=0.1.0; extra == 'dev'
Provides-Extra: docs
Requires-Dist: mkdocs-material>=9.5.0; extra == 'docs'
Requires-Dist: mkdocs>=1.5.0; extra == 'docs'
Requires-Dist: mkdocstrings[python]>=0.24.0; extra == 'docs'
Provides-Extra: llm
Requires-Dist: anthropic>=0.8.0; extra == 'llm'
Requires-Dist: google-generativeai>=0.3.0; extra == 'llm'
Requires-Dist: openai>=1.6.0; extra == 'llm'
Description-Content-Type: text/markdown

# MindPy

A Python AI framework for controlling Minecraft bots using PyCraft.

## Vision

MindPy is the definitive Python AI framework for Minecraft, built entirely around PyCraft. It provides a clean, modular, plugin-based, event-driven, and highly extensible architecture for building intelligent Minecraft bots.

## Features

- **Bot Management**: Login, reconnect, disconnect, multi-bot support
- **Navigation**: Walking, jumping, swimming, parkour, pathfinding, waypoints
- **Mining**: Ore detection, tool selection, safety checks, inventory management
- **Crafting**: Recipe lookup, craft planning, execution with multiple machines
- **Inventory**: Equipment, storage, chest interaction, sorting
- **Farming**: Harvesting, planting, animal breeding, fishing
- **Combat**: PvE, PvP, bows, shields, critical attacks
- **World**: Block lookup, biome lookup, chunk management, entities
- **Communication**: Chat, private messages, command parsing
- **AI System**: Perception, memory, planning, decision making, execution
- **Memory System**: Working, short-term, long-term, conversation, world, player, task, knowledge base
- **Goal System**: Hierarchical goal decomposition
- **Task System**: Interruptible, suspendable, serializable, cancelable, restartable
- **Skills**: Reusable high-level behaviors
- **Plugin System**: Automatic discovery, dependencies, metadata, versioning
- **Event Bus**: All communication through events
- **LLM Integration**: OpenAI, Anthropic, Google Gemini, Ollama, LM Studio, OpenRouter
- **Tool Calling**: AI can invoke tools with descriptions and parameters
- **Reflection**: Self-improvement through task evaluation
- **Configuration**: YAML, JSON, TOML, environment variables
- **Logging**: Structured logging with rich console and file logs
- **CLI**: Comprehensive command-line interface
- **API**: REST API and optional WebSocket API

## Installation

```bash
pip install mindpy
```

For development:

```bash
git clone https://github.com/AnujaGajaweera/MindPy.git
cd mindpy
pip install -e ".[dev,llm,docs]"
```

## Quick Start

```python
import asyncio
from mindpy import Bot

async def main():
    bot = Bot(
        host="localhost",
        port=25565,
        username="MyBot"
    )
    
    await bot.connect()
    
    # Your bot logic here
    
    await bot.disconnect()

asyncio.run(main())
```

## Architecture

MindPy follows clean architecture principles:

- **SOLID principles**
- **Dependency Injection**
- **Composition over inheritance**
- **Event Bus architecture**
- **Service-oriented design**
- **Plugin architecture**
- **Domain Driven Design**

No global state. Everything is injectable.

## Documentation

Comprehensive documentation is available at [https://mindpy.readthedocs.io](https://mindpy.readthedocs.io)

## Contributing

Contributions are welcome! Please see [CONTRIBUTING.md](https://github.com/AnujaGajaweera/MindPy/blob/main/CONTRIBUTING.md) for guidelines.

## License

MIT License - see [LICENSE](https://github.com/AnujaGajaweera/MindPy/blob/main/LICENSE) for details.

## Acknowledgments

MindPy is inspired by [Mineflayer](https://github.com/prismarinejs/mineflayer) but is a complete reimplementation in Python with modern architecture and extensibility in mind.
