- Advanced Syntax Highlighting: Rich Python syntax highlighting with support for keywords, strings, comments, and advanced constructs
- Intelligent Auto-Completion: Context-aware suggestions for built-in functions, modules, and custom code
- Multi-Tab Interface: Work with multiple Python files simultaneously in an organized tabbed environment
- Smart Code Navigation: Line numbering with automatic indentation and code folding support
- Find & Replace: Powerful search functionality with regex support and batch replacements
- Code Formatting: Automatic code formatting following Python PEP 8 standards
- Customizable Interface: Themeable UI with font customization and layout preferences
- Integrated Console: Built-in Python console for testing and debugging
- Code Snippets: Expandable snippet library for common Python patterns
- Error Detection: Real-time syntax error highlighting and linting integration
- Voice Coding: Speech recognition for hands-free coding (experimental)
- AI Assistant: Integrated AI-powered code suggestions and documentation
- Python 3.6+ (Python 3.8+ recommended)
- Operating System: Windows 10+, macOS 10.14+, or Linux (Ubuntu 18.04+)
Package | Purpose | Required |
---|---|---|
PyQt6 | GUI Framework | Required |
pyqtconsole | Integrated Console | Required |
markdown | Markdown Rendering | Required |
anthropic | AI Integration | Required |
PyAudio | Voice Features | Required |
SpeechRecognition | Voice Input | Required |
PyInstaller | Executable Building | Build Tool |
- UPX: For executable compression (
sudo apt install upx
) - Virtual Environment: For clean builds (
python -m venv venv
)
Download the latest pre-built executable from the Releases page:
- Windows:
pythonico.exe
- Linux:
pythonico
- macOS:
pythonico.app
No Python installation required!
-
Clone the repository:
git clone https://github.com/machaddr/pythonico.git cd pythonico
-
Install dependencies:
pip install -r requirements.txt
-
Run Pythonico:
python pythonico.py
Install dependencies individually:
pip install PyQt6 anthropic pyaudio SpeechRecognition markdown pyqtconsole pyinstaller
Alternative method to run the Programming Text Editor:
./pythonico.py
Pythonico supports creating standalone executables with all dependencies statically included, allowing distribution without requiring Python installation on target systems.
The comprehensive Makefile provides a cross-platform build system that works on Linux, macOS, and Windows:
# Show all available commands
make help
# Complete build process (clean + deps + build)
make all
# Just build the executable
make build
# Build with maximum optimization
make build-optimized
# Clean everything
make clean
make build
- Standard build using PyInstallermake build-debug
- Build with debug informationmake build-optimized
- Maximum optimization with UPX compressionmake build-spec
- Build using existing spec file
make deps
- Install dependenciesmake deps-dev
- Install development dependenciesmake venv
- Create virtual environmentmake run
- Run application directlymake run-exe
- Run built executable
make lint
- Code linting with flake8make format
- Code formatting with blackmake typecheck
- Type checking with mypymake test
- Run tests with pytest
make clean
- Clean all generated filesmake clean-build
- Clean only build artifactsmake clean-cache
- Clean Python cache filesmake clean-temp
- Clean temporary filesmake clean-venv
- Remove virtual environmentmake clean-all
- Complete cleanup including venvmake reset
- Full reset and reinitialize
make info
- Show detailed project informationmake version
- Show version informationmake upx-check
- Check UPX availability
make install-system
- Install system-wide (requires sudo/admin)make install-user
- Install for current user onlymake uninstall-system
- Remove system installationmake uninstall-user
- Remove user installation
make package
- Create distribution packagemake package-source
- Create source distributionmake check-deps
- Verify all dependencies are installedmake update-deps
- Update dependencies to latest versions
make clean-all # Clean everything
make venv # Create virtual environment
# Activate virtual environment manually
make deps-dev # Install dev dependencies
make format # Format code
make lint # Check code quality
make test # Run tests
make build # Build if tests pass
make clean # Clean previous builds
make upx-check # Verify UPX is available
make build-optimized # Build with maximum optimization
make reset # Complete reset
make deps # Install dependencies
make build-optimized # Build optimized executable
make install-user # Install for testing
The build system creates a single executable file in the dist/
directory that includes:
- Python interpreter - No Python installation required on target
- All required libraries - PyQt6, anthropic, speech recognition, etc.
- Application resources - Icons and assets bundled
- Static linking - No external dependencies needed
--onefile
: Single executable file--windowed
: GUI application (no console window)--strip
: Remove debug symbols for smaller size--optimize=2
: Python bytecode optimization- UPX compression: Additional 30-50% size reduction
- Resource bundling: Icons and assets included
- Module exclusions: Removes unused libraries (tkinter, matplotlib, numpy, pandas)
- Hidden imports: Ensures all dependencies are included
Tool | Ease of Use | File Size | Performance | Compatibility |
---|---|---|---|---|
PyInstaller (Current) | Excellent | Medium | Good | Excellent |
Nuitka | Good | Small-Medium | Excellent | Good |
cx_Freeze | Good | Medium | Good | Good |
auto-py-to-exe | Excellent | Medium | Good | Excellent |
pip install nuitka
python -m nuitka \
--onefile \
--windows-disable-console \
--enable-plugin=pyqt6 \
--include-data-dir=icons=icons \
pythonico.py
pip install cx_freeze
# Create setup.py with build configuration
python setup.py build
pip install auto-py-to-exe
auto-py-to-exe
-
Use Virtual Environment
make venv # Create virtual environment # Activate manually, then: make deps # Install only required dependencies make build # Build with minimal dependencies
-
UPX Compression (additional 30-50% size reduction)
# Install UPX sudo apt install upx # Ubuntu/Debian brew install upx # macOS # Use optimized build (includes UPX) make build-optimized
-
Module Exclusions - Already configured in build system:
- Excludes unused libraries (tkinter, matplotlib, numpy, pandas)
- Includes only required dependencies
- Optimizes Python bytecode
The build system manages these directories:
build_temp/
- Temporary build files (cleaned automatically)dist/
- Final executable outputvenv/
- Virtual environment (optional)__pycache__/
- Python cache (cleaned automatically)
Missing modules: Already handled with --hidden-import
flags
Large file size: Use make build-optimized
and UPX compression
Slow startup: Normal for single-file executables
Missing resources: Resources are bundled with --add-data
Debug build issues:
make build-debug # Build with debug information
make info # Show current configuration
Check build tools:
make upx-check # Verify UPX availability
make version # Show version information
make install-system
make install-user
The built executable is completely self-contained:
- No Python installation required on target system
- No dependency management needed
- Single file distribution
- Cross-platform builds supported
- All libraries statically linked
If you were using the original shell scripts:
Old Command | New Command | Benefits |
---|---|---|
./build.sh |
make build |
Cross-platform compatibility |
build.bat |
make build |
Same command everywhere |
Manual cleanup | make clean |
Comprehensive cleaning |
N/A | make all |
Complete workflow |
N/A | make build-optimized |
Enhanced optimization |
- File Menu: Open, save, and close files
- Edit Menu: Cut, copy, paste, undo, and redo operations
- Help Menu: Get help and information about the text editor
Refer to the documentation for detailed instructions and examples on how to use Pythonico Programming Text Editor effectively.
We welcome contributions from the community! Here's how you can help improve Pythonico:
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/machaddr/pythonico.git
- Create a feature branch:
git checkout -b feature/your-feature-name
- Follow PEP 8 Python style guidelines
- Write clear commit messages
- Add tests for new features
- Update documentation as needed
- Test thoroughly before submitting
- Commit your changes:
git commit -m "Add: your feature description"
- Push to your fork:
git push origin feature/your-feature-name
- Create a Pull Request with a clear description of your changes
This project is licensed under the GNU General Public License v2.0. See the LICENSE file for details.
Pythonico Programming Text Editor is developed and maintained by André Machado.
You can contact me at sedzcat@gmail.com.
Pythonico Programming Text Editor aims to provide a lightweight and efficient text editor specifically designed for Python programming. We welcome your feedback, suggestions, and contributions to improve this Programming Text Editor and make it even more useful for the Python community.