Metadata-Version: 2.4
Name: NyxBox
Version: 0.1.0
Summary: Your code runner powered by Textual
Author-email: rainger <losdos2341@gmail.com>
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: textual>=3.2.0
Requires-Dist: rich>=13.7.0
Requires-Dist: tree-sitter>=0.24.0
Requires-Dist: tree-sitter-languages>=1.10.2
Requires-Dist: tree-sitter-cpp>=0.23.4
Requires-Dist: tree-sitter-javascript>=0.23.1
Requires-Dist: tree-sitter-python>=0.23.6
Requires-Dist: tree-sitter-java>=0.23.5
Requires-Dist: typing-extensions>=4.12.2
Dynamic: license-file

# NyxBox

A Textual-based TUI app for all your challenge solving needs supporting Python, JS, Java, C++, and C (not yet...) Also, just who is Nyx?

---

## Features

- **Vend random coding challenges** from a curated set
- **Edit and run solutions** in multiple languages!
- **Hidden tests** for extra challenge (we cant just have you cheating the returns right?)
- **Fun daemon commentary** (depends on your humor) and themed UI
- **Extensible**: add your own challenges in JSON

---

## Getting Started

### 1. Install Requirements
Install nyxbox via pip.
```bash
pip install nyxbox
```
Make sure you have clang++ or g++ installed, or Node.js for JavaScript if planning on using these langs, as NyxBox uses these to run your challenges written in C++ or JS.

### 2. Run the App
```bash
python3 main.py
```
## Adding challenges
Add new challenges in the form of a JSON in the challenges directory. Challenges will not work if they do not follow the style of pre-made challenges.

## Notes
- Python 3.10+ recommended (The dev is running 3.12.1)
- C++, C, and Java runners require system dependencies. If they error out, make sure you have those installed first. (look above dummy)
- Run in a terminal supporting Unicode and colors like [Ghostty](https://ghostty.org), [Alacritty](https://alacritty.org), or others.

## Credits
1. ChatGPT + Copilot for helping me debug
2. Textual for providing the underlying framework for the Tui
3. you! for using it!
