indygreg / indygreg/PyOxidizer

Packaging with Poetry and other PEP-517 based packages

Open
#201 5 comments 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

I am attempting to package the pypi library [`pymedphys`](https://pypi.org/project/pymedphys/):

```toml
[[packaging_rule]]
type="pip-install-simple"
package="pymedphys"
```

When I run `pyoxidizer build`

This fails in the following way:
```
LookupError: https://files.pythonhosted.org/packages/20/e9/bae28bcfcb9942600b1e206d013499c291367ee8ddf9f455ff54729bc6e4/tomlkit-0.5.8.tar.gz#sha256=32c10cc16ded7e4101c79f269910658cc2a0be5913f1252121c3cd603051c269 (from https://pypi.org/simple/tomlkit/)
```

Out of interest when I try to build tomlkit I get the following:

```
LookupError: https://files.pythonhosted.org/packages/9d/6b/ad69758a595b6e0be4583d8ab298e43c4c0680278beceaa4a5e308f09a3c/clikit-0.4.0.tar.gz#sha256=6819a5b2a78523be485ea9e1ef380ae8d02da4bffed540f7881fdaafbff41390 (from https://pypi.org/simple/clikit/) (requires-python:>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*) is already being built: clikit<0.5.0,>=0.4.0 from https://files.pythonhosted.org/packages/9d/6b/ad69758a595b6e0be4583d8ab298e43c4c0680278beceaa4a5e308f09a3c/clikit-0.4.0.tar.gz#sha256=6819a5b2a78523be485ea9e1ef380ae8d02da4bffed540f7881fdaafbff41390 (from poetry>=0.12a3)
```

[pymedphys](https://github.com/pymedphys/pymedphys/blob/master/pyproject.toml#L166) and [tomlkit](https://github.com/sdispater/tomlkit/blob/master/pyproject.toml#L56) both use [Poetry](https://poetry.eustace.io/docs/pyproject/#poetry-and-pep-517) with its [PEP-517](https://www.python.org/dev/peps/pep-0517/) based build system. Is that potentially what is causing this issue?

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 by reproducing the shown packaging_rule for pymedphys and running `pyoxidizer build`. Inspect how PyOxidizer handles the Poetry and PEP-517 pyproject.toml files in pymedphys and tomlkit, then compare the dependency-resolution failures for tomlkit and clikit. Done means the affected packages build successfully or the unsupported packaging limitation is clearly identified.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, rust
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.