jacebrowning / jacebrowning/gitman
Support pyoxidizer to generate standalone executables
- Dominant language
- Python
- Stars
- 225
- Forks
- 36
- Avg merge
- 15h 47m
- Merged PRs (30d)
- 8
Description
I really like gitman (and dislike submodules), and would like to bundle gitman up as a static exe for those on my team. Unlike pyinstaller which is slow as it unzips python runtime and app. Py-oxidizer can create faster static python executables
Unfortunately, somethign with the project configuration is causing a build error.
Here are the steps to reproduce:
```
cargo install pyoxidizer
pyoxidizer init --pip-install gitman oxi-gitman
cd oxi-gitman
pyoxidizer build
```
This is the error I get:
> LookupError: https://files.pythonhosted.org/packages/2b/7e/372f12f571f8dcb855f3444c3ca463399fa1d76fcb8dd48d476c2cd1a610/tomlkit-0.5.5.tar.gz#sha256=a8d806f3a453c2d292afe97918398354e405b93919e2e68771a3fd0a90e89576 (from https://pypi.org/simple/tomlkit/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*) is already being built: tomlkit<0.6.0,>=0.5.1 from https://files.pythonhosted.org/packages/2b/7e/372f12f571f8dcb855f3444c3ca463399fa1d76fcb8dd48d476c2cd1a610/tomlkit-0.5.5.tar.gz#sha256=a8d806f3a453c2d292afe97918398354e405b93919e2e68771a3fd0a90e89576 (from poetry>=0.12)
I don't imagine this is a high priority, but I think the goal of making gitman more accessible to those not using python would be a good project goal. Personally I'd like to see it built into git.
Contributor guide
Research direction
Start by reproducing the reported `pyoxidizer init --pip-install gitman oxi-gitman` and `pyoxidizer build` commands, then inspect the generated project configuration and the dependency-resolution error involving Poetry and tomlkit. Done means gitman can be bundled into a standalone executable through PyOxidizer without the reported build failure.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system, cli
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100