Skip to content

Conversation

@asaites
Copy link
Contributor

@asaites asaites commented Oct 8, 2025

This updates the dependency specification for pre-1.0 packages that use semantic versioning. It additionally restricts the upper bound on the Python version, since PyQuil isn't currently compatible with Python 3.13, leading to installation errors.

I've set the upper bound to the latest release of the packages in question, and confirmed the unit tests pass with those newest versions, but it's plausible a different specifier would be more appropriate.

Closes: #1840

@asaites asaites requested a review from a team as a code owner October 8, 2025 16:27
Copy link

@windsurf-bot windsurf-bot bot left a comment

Choose a reason for hiding this comment

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

1 file skipped due to size limits:
  • poetry.lock

Looks good to me 🤙

💡 To request another review, post a new comment with "/windsurf-review".

@github-actions
Copy link

github-actions bot commented Oct 8, 2025

🐰 Bencher Report

Branch1840-narrow-dependency-specs
Testbedci-runner-linux

⚠️ WARNING: No Threshold found!

Without a Threshold, no Alerts will ever be generated.

Click here to create a new Threshold
For more information, see the Threshold documentation.
To only post results if a Threshold exists, set the --ci-only-thresholds flag.

Click to view all benchmark results
BenchmarkLatencyseconds (s)
test/benchmarks/test_program.py::test_copy_everything_except_instructions📈 view plot
⚠️ NO THRESHOLD
10.41 s
test/benchmarks/test_program.py::test_instructions📈 view plot
⚠️ NO THRESHOLD
4.05 s
test/benchmarks/test_program.py::test_iteration📈 view plot
⚠️ NO THRESHOLD
4.06 s
🐰 View full continuous benchmarking report in Bencher

@github-actions
Copy link

github-actions bot commented Oct 8, 2025

☂️ Python Coverage

current status: ✅

Overall Coverage

Lines Covered Coverage Threshold Status
7268 6384 88% 87% 🟢

New Files

No new covered files...

Modified Files

No covered modified files...

updated for commit: 4bd6fbd by action🐍

@asaites asaites force-pushed the 1840-narrow-dependency-specs branch from 65cace3 to 1071f2e Compare October 8, 2025 16:45
@asaites asaites changed the title feat: restrict pre-1.0 dependency versions feat: restrict dependency versions Oct 8, 2025
There CI failures running doctest due to a missing transitive dependency.
It appears the root-cause is an outdated version of Poetry,
so this commit updates the version that will be installed.

[tool.poetry.dependencies]
python = "^3.9,<4"
python = "^3.9,<3.13"

Choose a reason for hiding this comment

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

Will we loosen this bound once we've resolved the various breaking changes with PyO3? It may be helpful to link a ticket, perhaps this one, in that case.

Copy link
Collaborator

Choose a reason for hiding this comment

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

I believe this will cause major downstream problems, is this totally necessary.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, definitely -- that's an excellent idea. I'm going to link to this PyQuil one instead.

For future readers: To enable support for Python 3.13+ in PyQuil, we're first adding support in the lower-level quil package. It's about to release a new version, but it has many breaking changes, so we need to ensure new PyQuil installs don't accidentally pull it in -- that's what this PR is for. Once PyQuil is updated to work with the new quil, we'll be able to release a new version compatible with Python 3.13+.

There is a very early draft PR and corresponding wheels that are compatible with the newest quil, but that branch was made to help test quil, so it includes breaking changes that aren't necessarily required for the next PyQuil release. Still, we are moving closer to this goal!

@asaites asaites merged commit 39a4101 into master Oct 8, 2025
20 checks passed
@asaites asaites deleted the 1840-narrow-dependency-specs branch October 8, 2025 21:27
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.

Dependency spec for pre-1.0 packages should be more restrictive

4 participants