[PR #392] Katoolin Python3 update + modern code base #382

Open
opened 2026-02-26 04:31:15 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/LionSec/katoolin/pull/392
Author: @0xGuigui
Created: 1/14/2026
Status: 🔄 Open

Base: masterHead: master


📝 Commits (10+)

  • 2fa368b [+] - Changed repository
  • 089d89a [~] - Updated .gitignore
  • 62cae38 Update README.md
  • 63593d9 Update .gitignore and enhance katoolin3.py functionality
  • 480ed01 Refactor code structure for improved readability and maintainability
  • f3dd877 Enhance functionality of katoolin3.py with improved command execution and output handling
  • 4956d6d Remove unnecessary .DS_Store file from the repository
  • c0f65b6 Implement initial structure for code changes
  • 6d56594 Add app.py with repository management functionality
  • 0f09dda feat(categories): add category menus and install commands

📊 Changes

19 files changed (+2324 additions, -1673 deletions)

View changed files

📝 .gitignore (+6 -0)
Changelog.txt (+0 -7)
📝 README.md (+65 -36)
core/__init__.py (+0 -0)
core/categories.py (+0 -91)
core/gear.py (+0 -237)
katoolin.py (+0 -1302)
katoolin3.py (+12 -0)
src/app.py (+195 -0)
src/categories.py (+185 -0)
src/commands.py (+134 -0)
src/logger.py (+19 -0)
src/menus.py (+47 -0)
src/repo.py (+92 -0)
src/style.py (+229 -0)
src/tools.json (+1256 -0)
src/update.py (+64 -0)
src/version.py (+2 -0)
todo.md (+18 -0)

📄 Description

This pull request is a modernization and refactor of the Katoolin project, transitioning it to Katoolin3

The changes replace the legacy Python 2 codebase with a new, modular Python 3 structure, update documentation, and improve usability, maintainability, and compatibility with modern Debian/Ubuntu systems

Project Modernization and Refactor:

  • Migrated the main entry point to Python 3 (katoolin3.py), which now imports and runs the new main function from the src/app.py module
  • Completely rewrote the application logic in src/app.py using modern Python practices (type hints, modular imports, structured error handling, logging, and improved menu navigation), this includes new features such as mass uninstall, improved repository management, and better user prompts.

Legacy Code Removal:

  • Removed outdated Python 2 code from core/categories.py and core/gear.py, eliminating the old menu, category, and tool installation logic in favor of the new modular design.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/LionSec/katoolin/pull/392 **Author:** [@0xGuigui](https://github.com/0xGuigui) **Created:** 1/14/2026 **Status:** 🔄 Open **Base:** `master` ← **Head:** `master` --- ### 📝 Commits (10+) - [`2fa368b`](https://github.com/LionSec/katoolin/commit/2fa368b38b6b35595b49d1d4ebd62c2168c0ada2) [+] - Changed repository - [`089d89a`](https://github.com/LionSec/katoolin/commit/089d89aab1a6fb0f8cff2871ddb1706bc9b5a3a1) [~] - Updated .gitignore - [`62cae38`](https://github.com/LionSec/katoolin/commit/62cae3848c02cd5022342b2af0aaf1724c7effda) Update README.md - [`63593d9`](https://github.com/LionSec/katoolin/commit/63593d9b56076ee1df6625035ea7307edb960458) Update .gitignore and enhance katoolin3.py functionality - [`480ed01`](https://github.com/LionSec/katoolin/commit/480ed01c4a2cf8355b4fdce84e826bc9a36909b3) Refactor code structure for improved readability and maintainability - [`f3dd877`](https://github.com/LionSec/katoolin/commit/f3dd877ebc1b093c34a1c0abff4916bc997e1d4f) Enhance functionality of katoolin3.py with improved command execution and output handling - [`4956d6d`](https://github.com/LionSec/katoolin/commit/4956d6d19df5558ac87a0441e0e6e80ad9c0a3df) Remove unnecessary .DS_Store file from the repository - [`c0f65b6`](https://github.com/LionSec/katoolin/commit/c0f65b66586402fd07d6e7843b1a15f01da555ce) Implement initial structure for code changes - [`6d56594`](https://github.com/LionSec/katoolin/commit/6d56594385c5203f4a17403effc81c66c10569fd) Add app.py with repository management functionality - [`0f09dda`](https://github.com/LionSec/katoolin/commit/0f09dda349ac278491d76cd9631a96ca7f41595c) feat(categories): add category menus and install commands ### 📊 Changes **19 files changed** (+2324 additions, -1673 deletions) <details> <summary>View changed files</summary> 📝 `.gitignore` (+6 -0) ➖ `Changelog.txt` (+0 -7) 📝 `README.md` (+65 -36) ➖ `core/__init__.py` (+0 -0) ➖ `core/categories.py` (+0 -91) ➖ `core/gear.py` (+0 -237) ➖ `katoolin.py` (+0 -1302) ➕ `katoolin3.py` (+12 -0) ➕ `src/app.py` (+195 -0) ➕ `src/categories.py` (+185 -0) ➕ `src/commands.py` (+134 -0) ➕ `src/logger.py` (+19 -0) ➕ `src/menus.py` (+47 -0) ➕ `src/repo.py` (+92 -0) ➕ `src/style.py` (+229 -0) ➕ `src/tools.json` (+1256 -0) ➕ `src/update.py` (+64 -0) ➕ `src/version.py` (+2 -0) ➕ `todo.md` (+18 -0) </details> ### 📄 Description This pull request is a modernization and refactor of the Katoolin project, transitioning it to Katoolin3 The changes replace the legacy Python 2 codebase with a new, modular Python 3 structure, update documentation, and improve usability, maintainability, and compatibility with modern Debian/Ubuntu systems Project Modernization and Refactor: * Migrated the main entry point to Python 3 (`katoolin3.py`), which now imports and runs the new `main` function from the `src/app.py` module * Completely rewrote the application logic in `src/app.py` using modern Python practices (type hints, modular imports, structured error handling, logging, and improved menu navigation), _this includes new features such as mass uninstall, improved repository management, and better user prompts._ Legacy Code Removal: * Removed outdated Python 2 code from `core/categories.py` and `core/gear.py`, eliminating the old menu, category, and tool installation logic in favor of the new modular design. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/katoolin-LionSec#382
No description provided.