semvec/pypi-packages huggingface dataset:
chess4x4 0.1.3
A 4x4 Chess library (King + Rook vs King) with move validation and win/draw detection
License: MIT
Requires Python: >=3.7

Here’s your updated documentation in Markdown, including the intro you provided at the top:

````markdown
# Chess4x4

A **4x4 Chess Library** written in Python.  
Currently supports the classic endgame scenario **White King + Rook vs Black King** on a 4x4 chessboard.  

---

## ✨ Features
- 4x4 chessboard
- Custom starting positions
- Supports **King** and **Rook**
- Generate all possible moves
- Make legal moves
- Detect **win** (capturing opponent King)
- Detect **draw** (only two Kings left)
- Turn-based play (White starts)

---

## 📦 Installation

```bash
pip install chess4x4
````

---

## 🚀 Quick Start

```python
from chess4x4 import Chess4x4, King, Rook

# Initialize game
game = Chess4x4()

# Print the board
print(game.board)

# Generate moves for White King
moves = game.board.get_piece_moves((0, 0))
print("White King moves:", moves)

# Make a move
game.make_move((0, 0), (1, 0))

# Check status
print("Game over:", game.is_game_over())
```

---

## 📖 API Documentation

### Classes

#### `Chess4x4`

* `make_move(start: tuple[int, int], end: tuple[int, int]) -> bool`
  Make a move if legal. Returns `True` if successful.
* `is_game_over() -> bool`
  Returns `True` if the game has ended.
* `winner() -> str | None`
  Returns `"White"`, `"Black"`, or `None`.

#### `Board`

* `get_piece_moves(position: tuple[int, int]) -> list[tuple[int, int]]`
  Generate all legal moves for a piece.
* `move_piece(start, end) -> bool`
  Move a piece if valid.

#### Pieces

* `King(color: str, position: tuple[int, int])`
* `Rook(color: str, position: tuple[int, int])`

---

## 🧪 Testing

Run tests with:

```bash
pytest tests/
```

---

## 🤝 Contributing

We welcome contributions!

1. Fork the repo
2. Create a new branch

   ```bash
   git checkout -b feature-name
   ```
3. Commit your changes

   ```bash
   git commit -m "Added feature X"
   ```
4. Push to your branch

   ```bash
   git push origin feature-name
   ```
5. Create a Pull Request 🎉

Please make sure:

* Code is well-documented
* All tests pass
* Follow the existing coding style

---

## 📜 License

This project is licensed under the MIT License.

```

Do you want me to also create a **separate `CONTRIBUTING.md` file** with contribution guidelines, or keep it inside the main documentation only?
```
web3-multi-provider 2.2.2
Web3py provider that makes it easy to switch between different blockchain nodes to make sure application will be be online if main blockchain node will be unavailable.
License: MIT
Requires Python: <4,>=3.12

# <img src="https://docs.lido.fi/img/logo.svg" alt="Lido" width="46"/> Web3 Multi Provider

[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

Provider that accepts multiple endpoints.

## Install

```bash
$ pip install web3-multi-provider
```
or
```bash
$ poetry add web3-multi-provider
```
or with metrics:
```bash
$ poetry add web3-multi-provider[metrics]
```

## Usage

```py
from web3 import Web3
from web3_multi_provider import MultiProvider
from web3_multi_provider import FallbackProvider

w3 = Web3(MultiProvider([  # RPC endpoints list
    'http://127.0.0.1:8000/',
    'https://mainnet.infura.io/v3/...',
]))

# or

w3 = Web3(FallbackProvider([  # RPC endpoints list
    'http://127.0.0.1:8000/',
    'https://mainnet.infura.io/v3/...',
]))

last_block = w3.eth.get_block('latest')
```

### `MultiProvider`

This provider keeps track of the current endpoint and switches to the next one if an error occurs.
It fails if no endpoints are available.

### `FallbackProvider`

This provider sends requests to the all endpoints in the sequence until response received or endpoints list exhausted.

### `AsyncMultiProvider` and `AsyncFallbackProvider`

These providers are async versions of `MultiProvider` and `FallbackProvider` respectively. They may
be used with instances of `AsyncWeb3`.

```py
from web3 import AsyncWeb3
from web3_multi_provider import AsyncMultiProvider

w3 = AsyncWeb3(AsyncMultiProvider([  # RPC endpoints list
    'http://127.0.0.1:8000/',
    'https://mainnet.infura.io/v3/...',
]))
```

### Metrics

Library has in-built prometheus metrics, to enable them run `metrics.init_metrics()`.

## For developers

1. `poetry install` - to install deps
2. `pre-commit install` - to install pre-commit hooks

## Tests

```bash
poetry run pytest tests
```