question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Wheelhouse Generation

See original GitHub issue
  • I have searched the issues of this repo and believe that this is not a duplicate.
  • I have searched the documentation and believe that my question is not covered.

Feature Request

Hey Poetry Crew,

Given an enterprise python context, most devs are using private pypi registries to house/distribute their artifacts. In general, downloading artifacts from a custom registry requires a network configuration (VPN) and login credentials. While some companies have integrated their build/deploy pipelines with their custom registries, others are relying on the wheelhouse deployment approach (generate all the wheels locally and upload) to send their applications to the cloud.

Pip does support this with the pip wheel -i command. Poetry could wrap around pips functionality to ensure hashes that are stored in the lock file are used while generating a wheelhouse for deployment. I made this SO post describing ONE potential scenario where this feature would be very useful.

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Reactions:1
  • Comments:12 (4 by maintainers)

github_iconTop GitHub Comments

4reactions
sontekcommented, Jan 24, 2021

This is how I’m currently solving it, but it means not using poetry for my actual final production install. I just use it in development and to track the locking:

RUN poetry export -f requirements.txt -o requirements.txt --without-hashes
RUN pip wheel -w wheelhouse -r requirements.txt
4reactions
abncommented, Aug 31, 2020

@cpvandehey I am not entirely sure if this falls within the scope for poetry. If I am understanding you correct, you want all project dependencies downloaded into a local directory.

Wouldn’t something like this be sufficient?

$ cat pyproject.toml 
[tool.poetry]
name = "foobar"
version = "0.1.0"
description = ""
authors = ["Some User <some.user@somewhere.com>"]

[tool.poetry.dependencies]
python = "^3.8"
pycowsay = "*"

[tool.poetry.dev-dependencies]

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
$ poetry build -f wheel
Building foobar (0.1.0)
 - Building wheel
 - Built foobar-0.1.0-py3-none-any.whl
$ mkdir wheelhouse
$ cd wheelhouse/
$ pip download ../dist/foobar-0.1.0-py3-none-any.whl
Processing /tmp/foobar/dist/foobar-0.1.0-py3-none-any.whl
  Saved ./foobar-0.1.0-py3-none-any.whl
Collecting pycowsay
  Using cached pycowsay-0.0.0.1-py3-none-any.whl (3.3 kB)
  Saved ./pycowsay-0.0.0.1-py3-none-any.whl
Successfully downloaded foobar pycowsay
$ ls
foobar-0.1.0-py3-none-any.whl  pycowsay-0.0.0.1-py3-none-any.whl

Additional note, it might also make more sense to maybe support zipapp builds.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Business Software Reviews at Wheelhouse | 2022
Find the #1 Software Solution of 2022 that Fits Your Business Goals, SMB to Enterprise. Compare the Best Software Solutions, and Schedule Demos...
Read more >
Wheelhouse DMG: Data-Driven Performance Marketing
Wheelhouse DMG is a performance-driven digital marketing agency. We harness strategy, SEO, PPC, CRO and analytics to drive meaningful value for our clients....
Read more >
Wheelhouse Digital: Double Your Traffic with SEO
Showing up on Google has felt hard for too long. It's easier than ever, and it's as simple as answering questions your customers...
Read more >
Generac WheelHouse 5500 HD Generator (Aprox $650 ...
Description/condition: Generac WheelHouse 5500, model 01646-0, serial #7473612 120/240 volt gas powered generator.This is a 120/240 volt gas powered heavy ...
Read more >
Fast and Easy Fix for Your Generac Wheelhouse 5500 ...
My Generac Wheelhouse 5500 / 5550 generator (made by Briggs and Stratton) was sitting in my shed for years without seeing much action....
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found