jaraco / jaraco/keyring

[feature] provide pyinstaller hook as entry_point

Open
#471 2 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement help wanted
Dominant language
Python
Stars
1.5k
Forks
196
PR merge metrics
No merged PRs in 30d

Description

After longstanding issues with out-of-date or missing pyinstaller hooks, PyInstaller 4.0 allows packages to provide hooks as an entry point pyinstaller40. This is explained quite well in their documentation.

One of the main issues with PyInstaller is the lack of package metadata and therefore the inability to discover entry points, as described in #324. AFAIK, this is a deliberate choice by PyInstaller, possibly to reduce app sizes, and if a package relies on metadata to be available at runtime it should be explicitly provided with a hook using PyInstaller.utils.hooks.copy_metadata.

What do you think of providing such a hook with keyring as an entry_point? It will then be discovered and used by PyInstaller automatically. If you think that this is a good idea, I am happy to submit a PR.

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 PyInstaller documentation on providing hooks through the pyinstaller40 entry point and review issue #324 for the metadata-discovery context. Confirm what keyring must expose so PyInstaller discovers the hook automatically, and consider copy_metadata where runtime package metadata is needed. Done means the hook is available through the proposed entry point and works with PyInstaller.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
tooling
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.