Draft
Conversation
…tools version, manager comment, polling comment, race detection Co-authored-by: forsyth2 <30700190+forsyth2@users.noreply.github.com>
Collaborator
|
@copilot Can you explain the changes in |
Contributor
Author
Yes, almost entirely indentation. The 400 line "change" in the diff is dominated by the 4 spaces added by wrapping the With
|
Collaborator
|
For reference, with |
Collaborator
|
Using the performance plots of #427, following up on #402 (comment): PR 428 (this one) vs PR #402 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Adds Python 3.14 support via DevOps updates and minimal implementation changes to the parallel extract machinery. Python 3.14 restricts sharing bare
multiprocessingsynchronization objects across spawned processes, requiring manager-backed primitives.Summary
Objectives:
parallel.pyandextract.pyto support Python 3.14Issue resolution:
Select one: This pull request is...
Small Change
Details
setuptools >=65.0.0inconda/dev.ymlparallel.py:PrintMonitortomultiprocessing.Manager-backedValueandLock(Python 3.14 compat — Python 3.14 restricts sharing unpickled synchronization objects across spawned processes)tar → indexmap; raiseRuntimeErrorwith informative message on double-increment (defensive)extract.py:args.hpsswith fallback toconfig.hpssso--hpssis not required when the DB has the valuesqlite3connection (connections are not process-safe)try/finallyto guarantee DB connection cleanup on exception; guardsqlite3.connect()withtry/exceptto close on cursor-creation failurebreakafter assigning a tar to its worker in the greedy loop (each tar belongs to exactly one worker)sleep(0.01)latency trade-off in the main-process drain loopmanager.shutdown()called after all workers exit and the failure queue is fully drained💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.