indygreg / indygreg/PyOxidizer

Easy-mode production of executable from sdist

Open
#280 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Rust
Stars
6.2k
Forks
256
PR merge metrics
No merged PRs in 30d

Description

It would be nice to have a command like pyoxidizer --build-executable-easy-mode my_module_sdist.tar.gz that "does the right thing" and produces a single-file executable from the given .tar.gz. Taking this representative sdist as an example, the sdist contains a representative/__main__.py, so when installed in a Python environment it would be runnable as python -m representative, so it makes sense to just build an executable named representative for it. There are lot of rich features available when writing a pyoxidizer.bzl, but... let me offer the hypotheses that learning to write a pyoxidizer.bzl oughtn't strictly be necessary to the simplest use cases and that there's also a lot of value to be found in just transforming sdists to executables.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the pyoxidizer --build-executable-easy-mode command and the representative sdist containing representative/__main__.py; compare this proposed flow with the existing pyoxidizer.bzl workflow. Done means the supplied .tar.gz can be transformed into a single-file executable named representative without requiring a pyoxidizer.bzl.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, rust
Domain
build-system, cli, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.