Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create / publish a Python package #127

Closed
0xDEC0DE opened this issue Jan 21, 2024 · 1 comment · Fixed by #129
Closed

Create / publish a Python package #127

0xDEC0DE opened this issue Jan 21, 2024 · 1 comment · Fixed by #129

Comments

@0xDEC0DE
Copy link
Contributor

0xDEC0DE commented Jan 21, 2024

Python users who get Gilt from PyPI may still want to use the new version; we should give them an "easy" upgrade path via pip and the like.

There is probably some wisdom to be gleaned from pip-binary-factory on how to assemble a Python package containing non-Python files.

@retr0h
Copy link
Owner

retr0h commented Jan 22, 2024

This looks promising!

0xDEC0DE pushed a commit to 0xDEC0DE/gilt that referenced this issue Jan 23, 2024
Adds a `build` sub-target called `build:wheel`, that will assemble
Python wheels for all artifacts built under dist/, according to the
PEP 491 specification.

The script does the absolute bare minimum to generate a package
that will allow `pip install` and `pip uninstall` to place the gilt
binary under bin/, using packages that should be entirely available
via the Python stdlib.  i.e., a minimalist Python runtime should
be able to do the work, with no venv or anything required.

It does not make sdists.

It does not upload to PyPI.

Drive-by: change the name of the Goreleaser `name_template` so that
snapshot builds will make/use version numbers that are compatible
with wheel versions.  Mostly.  Linux still gets grumpy about them,
but installs them anyways.

Fixes: Issue retr0h#127
0xDEC0DE pushed a commit to 0xDEC0DE/gilt that referenced this issue Jan 23, 2024
Adds a `build` sub-target called `build:wheel`, that will assemble
Python wheels for all artifacts built under dist/, according to the
PEP 491 specification.

The script does the absolute bare minimum to generate a package
that will allow `pip install` and `pip uninstall` to place the gilt
binary under bin/, using packages that should be entirely available
via the Python stdlib.  i.e., a minimalist Python runtime should
be able to do the work, with no venv or anything required.

It does not make sdists.

It does not upload to PyPI.

Drive-by: change the name of the Goreleaser `name_template` so that
snapshot builds will make/use version numbers that are compatible
with wheel versions.  Mostly.  Linux still gets grumpy about them,
but installs them anyways.

Fixes: Issue retr0h#127
0xDEC0DE pushed a commit to 0xDEC0DE/gilt that referenced this issue Jan 25, 2024
Adds a `build` sub-target called `build:wheel`, that will assemble
Python wheels for all artifacts built under dist/, according to the
PEP 491 specification.

The script does the absolute bare minimum to generate a package
that will allow `pip install` and `pip uninstall` to place the gilt
binary under bin/, using packages that should be entirely available
via the Python stdlib.  i.e., a minimalist Python runtime should
be able to do the work, with no venv or anything required.

It does not make sdists.

It does not upload to PyPI.

Tested on Debian 12, Alpine 3.16.2, Mac OS X 10.15, and macOS 14.2.1,
all x86_64.  ARM builds were not tested for lack of hardware.

Drive-by: change the name of the Goreleaser `name_template` so that
snapshot builds will make/use version numbers that are compatible
with PEP 440.

Fixes: Issue retr0h#127
0xDEC0DE pushed a commit to 0xDEC0DE/gilt that referenced this issue Jan 25, 2024
Adds a `build` sub-target called `build:wheel`, that will assemble
Python wheels for all artifacts built under dist/, according to the
PEP 491 specification.

The script does the absolute bare minimum to generate a package
that will allow `pip install` and `pip uninstall` to place the gilt
binary under bin/, using packages that should be entirely available
via the Python stdlib.  i.e., a minimalist Python runtime should
be able to do the work, with no venv or anything required.

It does not make sdists.

It does not upload to PyPI.

Tested on Debian 12, Alpine 3.16.2, Mac OS X 10.15, and macOS 14.2.1,
all x86_64.  ARM builds were not tested for lack of hardware.

Drive-by: change the name of the Goreleaser `name_template` so that
snapshot builds will make/use version numbers that are compatible
with PEP 440.

Fixes: Issue retr0h#127
retr0h pushed a commit that referenced this issue Jan 25, 2024
Adds a `build` sub-target called `build:wheel`, that will assemble
Python wheels for all artifacts built under dist/, according to the
PEP 491 specification.

The script does the absolute bare minimum to generate a package
that will allow `pip install` and `pip uninstall` to place the gilt
binary under bin/, using packages that should be entirely available
via the Python stdlib.  i.e., a minimalist Python runtime should
be able to do the work, with no venv or anything required.

It does not make sdists.

It does not upload to PyPI.

Tested on Debian 12, Alpine 3.16.2, Mac OS X 10.15, and macOS 14.2.1,
all x86_64.  ARM builds were not tested for lack of hardware.

Drive-by: change the name of the Goreleaser `name_template` so that
snapshot builds will make/use version numbers that are compatible
with PEP 440.

Fixes: Issue #127
retr0h added a commit that referenced this issue Jan 25, 2024
This PR does not sign or publish to TestPyPI, which we may want
to consider.

Fixes: #127
retr0h added a commit that referenced this issue Jan 25, 2024
This PR does not sign or publish to TestPyPI, which we may want
to consider.

Fixes: #127
retr0h added a commit that referenced this issue Jan 25, 2024
Pushes binaries to testpypi on merge.

Fixes: #127
retr0h added a commit that referenced this issue Jan 25, 2024
Pushes binaries to testpypi on merge.

Fixes: Issue #127
retr0h added a commit that referenced this issue Jan 28, 2024
This PR does not sign or publish to TestPyPI, which we may want
to consider.

Fixes: #127
retr0h added a commit that referenced this issue Jan 30, 2024
This PR does not sign or publish to TestPyPI, which we may want
to consider.

Fixes: #127
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants