Metadata-Version: 2.4
Name: gitpane
Version: 1.0.4
Summary: Lightweight desktop Git client for Windows, Linux and macOS, in the spirit of Git Extensions
Author: Thongvan Alexis
License-Expression: MIT AND OFL-1.1 AND PSF-2.0
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: X11 Applications :: Qt
Classifier: Environment :: MacOS X
Classifier: Environment :: Win32 (MS Windows)
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Operating System :: Microsoft :: Windows :: Windows 10
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Version Control :: Git
Requires-Python: <3.15,>=3.13
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: THIRD_PARTY_NOTICES.md
License-File: src/gitpane/ui/resource/NotoColorEmoji-OFL.txt
License-File: src/gitpane/vendor/DISTLIB-LICENSE.txt
Requires-Dist: PySide6-Essentials<6.12,>=6.11.2
Requires-Dist: Pygments<3,>=2.21
Provides-Extra: dev
Requires-Dist: PySide6-Essentials==6.11.2; extra == "dev"
Requires-Dist: shiboken6==6.11.2; extra == "dev"
Requires-Dist: Pygments==2.21.0; extra == "dev"
Requires-Dist: pip==26.2.1; extra == "dev"
Requires-Dist: setuptools==84.0.0; extra == "dev"
Requires-Dist: pytest==9.1.1; extra == "dev"
Requires-Dist: pytest-qt==4.5.0; extra == "dev"
Requires-Dist: pytest-xdist==3.8.0; extra == "dev"
Requires-Dist: execnet==2.1.2; extra == "dev"
Requires-Dist: ruff==0.16.6; extra == "dev"
Requires-Dist: colorama==0.4.6; sys_platform == "win32" and extra == "dev"
Requires-Dist: iniconfig==2.3.0; extra == "dev"
Requires-Dist: packaging==26.3; extra == "dev"
Requires-Dist: pluggy==1.6.0; extra == "dev"
Requires-Dist: typing_extensions==4.16.0; extra == "dev"
Requires-Dist: build==1.6.1; extra == "dev"
Requires-Dist: pyproject_hooks==1.3.3; extra == "dev"
Dynamic: license-file

# GitPane

GitPane is a Git Extensions clone that runs on Windows, macOS and most Linux distributions. I only reimplemented the features I have used every day for the past 16 years.

GitPane needs Git and Python 3.13 or 3.14 (Python 3.15 is not supported yet).

## Install

Install GitPane with pipx: it creates a private environment for GitPane and puts the `gitpane` command on your PATH. On Linux and macOS, the system Python does not accept new packages, so pipx is the simple way (regular pip into a venv of your own also works).

---
### macOS

```bash
brew install python@3.13 pipx
pipx ensurepath
```

In a **new** terminal:

```bash
pipx install --python python3.13 gitpane
```

Run `gitpane` in any terminal, then click **Settings › Utilities › Create desktop shortcut** to get a launcher on your desktop.

---
### Linux

Fedora:

```bash
sudo dnf install pipx
pipx ensurepath
```

Ubuntu and Debian:

```bash
sudo apt update
sudo apt install pipx libxcb-cursor0 # required for X11 versions of linux
pipx ensurepath
```

In a **new** terminal:

```bash
pipx install gitpane
```

Run `gitpane` in any terminal, then click **Settings › Utilities › Create desktop shortcut** to get a launcher on your desktop.

---
### Windows

Install Python 3.14 from [python.org](https://www.python.org/downloads/windows/), then in PowerShell or Command Prompt:

```powershell
python -m pip install --user pipx
python -m pipx ensurepath
```

pip may warn that `pipx.exe` is not on PATH: `ensurepath` has just fixed that.

In a **new** terminal:

```powershell
pipx install gitpane
```
Run `gitpane` in any terminal, then click **Settings › Utilities › Create desktop shortcut** to get a launcher on your desktop.

## Update

Close GitPane, then:

```bash
pipx upgrade gitpane
```

---
## Command line

- `gitpane` starts GitPane and gives the terminal back. Closing the terminal does not close GitPane.
- `gitpane --attach` keeps GitPane attached to the terminal (Linux and macOS): its output and errors are shown there, and Ctrl+C stops it.
- `gitpane --log` writes a diagnostic log; on Linux and macOS the terminal shows its path.
- `gitpane --version` prints the version (Linux and macOS).

## When gitpane is not found

Run `pipx ensurepath` again (`python -m pipx ensurepath` on Windows), then open a **new** terminal: the PATH change only reaches terminals opened after it.

## License

GitPane is under the MIT license. It ships the Noto Color Emoji font under the SIL Open Font License 1.1 (OFL-1.1) and the Windows launchers of distlib under the Python Software Foundation License 2.0 (PSF-2.0).
