https://github.com/muhammad-fiaz/cp-dataset-gui
A GUI for managing, visualizing, and analyzing competitive programming datasets with a PyQt6 GUI.
https://github.com/muhammad-fiaz/cp-dataset-gui
cp-dataset-gui dataset dataset-collection dataset-creation dataset-generator dataset-manager datasets datasets-preparation geeksforgeeks gui hackerrank hf-datasets huggingface leetcode leetcode-solutions python uv
Last synced: 2 months ago
JSON representation
A GUI for managing, visualizing, and analyzing competitive programming datasets with a PyQt6 GUI.
- Host: GitHub
- URL: https://github.com/muhammad-fiaz/cp-dataset-gui
- Owner: muhammad-fiaz
- License: apache-2.0
- Created: 2025-08-12T06:46:05.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2025-08-12T08:58:50.000Z (2 months ago)
- Last Synced: 2025-08-12T10:24:16.796Z (2 months ago)
- Topics: cp-dataset-gui, dataset, dataset-collection, dataset-creation, dataset-generator, dataset-manager, datasets, datasets-preparation, geeksforgeeks, gui, hackerrank, hf-datasets, huggingface, leetcode, leetcode-solutions, python, uv
- Language: Python
- Homepage:
- Size: 150 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
![]()
cp-dataset-gui
[](LICENSE)
[](https://www.python.org/downloads/release/python-3120/)
[](https://github.com/muhammad-fiaz/cp-dataset-gui/actions/workflows/github-code-scanning/codeql)
[](https://github.com/psf/black)
[](https://github.com/astral-sh/ruff)
[](https://pre-commit.com/)
[](https://github.com/muhammad-fiaz/cp-dataset-gui/actions/workflows/dependabot/dependabot-updates)
[](https://github.com/muhammad-fiaz/cp-dataset-gui/commits)
[](https://github.com/muhammad-fiaz/cp-dataset-gui/issues)
[](https://github.com/muhammad-fiaz/cp-dataset-gui/pulls)A collection and GUI for managing, visualizing, and analyzing competitive programming datasets with a user-friendly PyQt6-based interface.
## Features
- **Dataset Management**: Add, update, remove, and organize competitive programming datasets.
- **Visualization**: Visualize problem statistics and dataset distributions.
- **Analysis Tools**: Analyze dataset contents for insights and trends.
- **SQLite Integration**: Works with SQLite databases for flexible data storage.
- **Modern GUI**: Built with PyQt6 for a responsive and cross-platform experience.## Installation
### Clone the Repository
First, clone the repository from GitHub:
```sh
git clone https://github.com/muhammad-fiaz/cp-dataset-gui.git
cd cp-dataset-gui
```### Prerequisites
- Python 3.12 or higher
- [pip](https://pip.pypa.io/en/stable/installation/)
- *(Optional but recommended for speed)* [uv](https://github.com/astral-sh/uv) (a fast Python package installer and resolver)### Install dependencies with pip
```sh
pip install -r requirements.txt
```
Or, if using a PEP 621-compliant build system:```sh
pip install .
```### Install dependencies with uv (recommended for speed)
First, install `uv` if you don't have it:
```sh
pip install uv
```
Or use Homebrew (on macOS/Linux):
```sh
brew install uv
```Then, install dependencies:
```sh
uv pip install -r requirements.txt
```
Or, for editable/development mode:
```sh
uv pip install -e .[dev]
```## Usage
Run the app from the root directory:
```sh
python main.py
```## Building Standalone Executables
You can build a standalone executable for your platform (Windows, Linux, or macOS) with one click using the provided build script. The executable will include all required Python dependencies and the `assets` folder (including icons/images).
### Instructions
1. **Ensure your `assets` folder (with all images/icons) and `main.py` are present in the project root.**
2. **Place your app icon at `assets/images/logo.ico` (for Windows) or `assets/images/logo.icns` (for macOS).**
3. **Run the build script for your platform:**```sh
python build.py
```- The script will:
- Clean previous builds
- Install PyInstaller if not already installed
- Bundle all dependencies and assets into a single executable
- Set your application icon (if present)
- Output the final executable in the `dist/` folder4. **Note:**
- You must run the build on the OS you want to target (Windows for `.exe`, Linux for Linux binary, macOS for `.app`/binary).
- Cross-compiling is not supported by PyInstaller.#### Example
For Windows:
```sh
python build.py
```
Your standalone `.exe` will be in the `dist/` folder.For Linux or macOS:
```sh
python build.py
```
Your platform-specific binary will be in the `dist/` folder.## Development
### Install development dependencies
With pip:
```sh
pip install .[dev]
```
With uv:
```sh
uv pip install -e .[dev]
```### Linting
```sh
ruff .
```### Project Structure
```
cp-dataset-gui/
├── main.py
├── cp_dataset.db
├── assets/
│ └── images/
│ ├── logo.png
│ ├── logo.ico
│ └── logo_rounded.png
├── pyproject.toml
├── requirements.txt
├── build.py
├── README.md
└── LICENSE
```## Contributing
Contributions are welcome! Please open an issue or pull request on [GitHub](https://github.com/muhammad-fiaz/cp-dataset-gui).
## License
This project is licensed under the [Apache License 2.0](LICENSE).
## Author
**Muhammad Fiaz**
[Email Me](mailto:contact@muhammadfiaz.com)