Skip to content

Drop pathlib2, scandir and typing from the dependency pins - #2358

Open
jorgeecardona wants to merge 1 commit into
Guake:masterfrom
jorgeecardona:remove-dead-pins
Open

jorgeecardona wants to merge 1 commit into
Guake:masterfrom
jorgeecardona:remove-dead-pins

Conversation

@jorgeecardona

Copy link
Copy Markdown
Collaborator
  • pathlib2, scandir and typing are backports for Python <3.8 / <3.5; nothing in guake/ imports them and nothing in the lock depends on them.
  • They have been pinned unconditionally in [packages] since df19099 (a freeze dump that lost the markers), so scandir, which has no Linux wheels, is compiled from sdist on every CI job.
  • Lock edited by hand: the three entries removed and the hash recomputed with pipenv 2024.4.0, the version CI installs; pipenv verify passes. requirements*.txt trimmed, not regenerated, to keep unrelated version bumps out.

CI on my fork: https://github.com/jorgeecardona/guake/actions/runs/38173687060

These are backports for Python < 3.5 (scandir, typing) and < 3.8
(pathlib2). Guake supports 3.8+ (setup.cfg classifiers, CI matrix) and
nothing under guake/ imports any of them; the only typing import is the
stdlib module. No other package in Pipfile.lock depends on them.

They were marker-guarded in [dev-packages], but df19099 replaced
[packages] with an unconditional freeze that lost the markers. As a
result scandir, which has no Linux wheels, is compiled from sdist on
every CI job for every Python version.

Pipfile.lock is edited by hand: only the three entries are removed and
_meta.hash is the one pipenv 2024.4.0 (the version pinned in
scripts/bootstrap-dev-pip.sh) computes for the new Pipfile; verified
with `pipenv verify`. The generated requirements*.txt are trimmed by
hand rather than regenerated to keep unrelated version bumps out of
this change.
Copilot AI balanced review requested due to automatic review settings October 11, 2026 20:51

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The lock file is valid, references are consistent, and CI passes across all supported Python versions.

0 open findings

What changed in this PR

Removes obsolete Python backport pins to avoid unnecessary dependency installation and scandir compilation.

Changes:

  • Removes pathlib2, scandir, and typing pins.
  • Updates the lock hash and generated requirements files.
  • Preserves remaining dependency versions.
File Description
Pipfile Removes obsolete backport declarations.
Pipfile.lock Removes corresponding locked packages and updates metadata.
requirements.txt Removes the typing backport.
requirements-dev.txt Removes all three backport pins.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants