A desktop application for downloading and reading technical documentation offline from GitHub repositories.
DevDocs is a Python-based desktop application that allows users to download markdown documentation from public GitHub repositories and read them offline. The application features a three-panel interface with a topic sidebar, document tree view, and markdown reader with syntax highlighting.
- Download markdown documentation from GitHub repositories
- Offline reading after initial download
- Three-panel interface for easy navigation
- Real-time document search
- Syntax highlighting for code blocks
- Track read/unread documents
- SQLite database for persistent storage
- Support for subfolder targeting in repositories
| Component | Technology | Version |
|---|---|---|
| Programming Language | Python | 3.10+ |
| GUI Framework | customTkinter | 5.2.2 |
| Database | SQLite3 | Built-in |
| Markdown Parser | Markdown | 3.10.1 |
| Syntax Highlighting | Pygments | 2.19.2 |
| HTTP Client | Requests | 2.32.5 |
DevDocs/
├── app.py # Application entry point
├── requirements.txt # Python dependencies
├── README.md # Project documentation
├── database/
│ └── db_manager.py # Database operations
├── services/
│ ├── downloader.py # GitHub download functionality
│ ├── markdown_parser.py # Markdown parsing
│ └── file_manager.py # File operations
└── ui/
├── main_window.py # Main application window
├── topic_view.py # Topic sidebar
├── document_view.py # Document tree view
└── reader_view.py # Markdown reader
- Python 3.10 or higher
- pip package manager
- Internet connection (for initial setup and downloads)
-
Clone or download the project:
git clone https://github.com/CarmineAkanabe/DevDocs.git cd DevDocs -
Create a virtual environment:
# Windows python -m venv .venv .venv\Scripts\activate # macOS/Linux python3 -m venv .venv source .venv/bin/activate
-
Install dependencies:
pip install -r requirements.txt
-
Run the application:
python app.py
- Click the "Add Topic" button in the header
- Enter the topic name, GitHub repository URL, and optional subfolder path
- Click "ADD TOPIC" to save
- Select a topic from the sidebar
- Click the "Sync" button in the header
- Wait for the download to complete
- Select a topic from the sidebar
- Browse the document tree in the middle panel
- Click any document to view it in the reader panel
- Use the search box to filter documents
All required packages are listed in requirements.txt:
certifi==2026.1.4
charset-normalizer==3.4.4
customtkinter==5.2.2
darkdetect==0.8.0
idna==3.11
Markdown==3.10.1
packaging==26.0
Pygments==2.19.2
requests==2.32.5
urllib3==2.6.3
This project is licensed under the MIT License - see the LICENSE file for details.
Carmine Akanabe (Serge)
- GitHub: @CarmineAkanabe