A Python 3/GTK3 text editor with syntax highlighting, file browser, and integrated tools.
- Syntax Highlighting - Powered by GtkSourceView 4
- File Browser - Built-in file browser with directory navigation
- Regex Toolkit - Test and debug regular expressions
- Code Navigation - Python source code tree viewer
- XML Viewer - Visualize XML document structure
- Find/Replace - Advanced search and replace functionality
- Go to Line - Quick line navigation
- Word Count - Document statistics
- Paster Widget - Upload code snippets to 0x0.st or save locally
- Python 3.8+
- GTK 3.0+
- GObject Introspection
- GtkSourceView 4
- (Optional) VTE 2.91 for integrated terminal
sudo apt-get install python3-gi python3-gi-cairo gir1.2-gtk-3.0 \
gir1.2-gtksource-4 gir1.2-vte-2.91 \
libgirepository1.0-devOr use the Makefile:
make setup # Ubuntu/Debian
# or
make setup-fedora # Fedora# Full setup
make venv install run
# Step by step
make venv
make install
make runpip3 install --user -r requirements.txt
python3 src/hello.py# Run the editor
make run
# Open a specific file
make run FILE=/path/to/file.py# Setup development environment
make install-dev
# Run tests
make test
# Check code formatting
make format-check
# Format code
make format
# Run linters
make linthelloed/
├── src/ # Source code
│ ├── hello.py # Main entry point
│ ├── widgets.py # Custom GTK widgets
│ ├── pyconsole.py # Interactive Python console
│ ├── terminal.py # VTE terminal widget
│ ├── gregextoolkitdialog.py # Regex toolkit
│ ├── regextoolkitlib.py # Regex utilities
│ ├── myhappymapper.py # XML/HTML parser
│ └── ui/ # Glade UI files
├── tests/ # Test suite
├── docs/ # Documentation
├── .github/workflows/ # CI/CD configuration
├── Makefile # Build automation
├── requirements.txt # Python dependencies
├── pyproject.toml # Project metadata
├── README.md # This file
├── CONTRIBUTING.md # Contribution guidelines
├── CODE_OF_CONDUCT.md # Community standards
├── CHANGELOG.md # Version history
└── LICENSE # GPL v2 license
Please read CONTRIBUTING.md for guidelines on how to contribute to this project.
This project adheres to a Code of Conduct. By participating, you are expected to uphold this code.
See CHANGELOG.md for a history of changes.
This project is licensed under the GPL-2.0-or-later License - see the LICENSE file for details.
- Original author: Ahmed Youssef (xmonader@gmail.com)
- Thanks to all contributors
Note: This project was originally written for Python 2/PyGTK and has been modernized to Python 3/GTK3.
