Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adjust dependency version specification #68

Merged
merged 2 commits into from
Dec 6, 2022
Merged

Conversation

riley-harper
Copy link
Contributor

@riley-harper riley-harper commented Dec 6, 2022

Closes #58 by loosening and adjusting dependency specifications.
Closes #61 by upgrading Spark from 3.3.0 to 3.3.1.
Closes #23 by strictly pinning the version of Sphinx in the development dependencies.

This pull request adjusts how we specify dependency versions in setup.py. Instead of pinning to an exact version for production dependencies, we now specify a major and minor version and allow the patch version to vary. So dependencies may be silently upgraded from version 1.1.0 -> 1.1.3, for example. Updates to minor or major versions will still require a manual update. This uses the ~= "compatible version" syntax for Python packaging.

The development dependencies are pinned on a more case-by-case basis. We want to keep Sphinx pinned to a particular version because the version is output in the documentation, so using different versions can cause the documentation to update unexpectedly. black and flake8 can vary more widely. They are both pretty stable, and I don't think we'll run into many issues with the current version specifications. Similarly for twine and pre-commit.

This also updates the Dockerfile, specifying the image as python:3.10 instead of python:3.10.4. This pulls in the latest version of Python 3.10 instead of 3.10.4. The latest version at the moment is 3.10.8.

This pins production dependencies to a minor version instead of a patch
version. These dependencies can now silently be upgraded from 1.1.0 -> 1.1.3,
for example. Upgrades that increment the minor or major version will still
require manual changes. These packages are all fairly stable, and so we
don't expect these bug fix patches to affect hlink's behavior significantly.
This has the side effect of upgrading Spark to 3.3.1 and completing #61.

Development dependencies are pinned on a more ad-hoc basis. Some like black
and pre-commit can be pinned quite loosely. Others like Sphinx and pytest we
would like to keep more strictly pinned. This commit also completes #23 by
pinning Sphinx.
This avoids pinning Python to a particular bug fix / patch version and instead
allows testing on any Python 3.10.X release.
@jacwellington jacwellington merged commit f6c329e into main Dec 6, 2022
@jacwellington jacwellington deleted the dependency_versions branch December 6, 2022 19:39
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.

Upgrade to Spark 3.3.1 Loosen dependency versions Pin the Sphinx version in setup.py
2 participants