-
Notifications
You must be signed in to change notification settings - Fork 11
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
test: [Automatic] Constraints upgrades: imagecodecs
, imageio
, ipykernel
, ipython
, numpy
, oiffile
, pandas
, psygnal
, pyinstaller
, qtconsole
, qtpy
, sentry-sdk
, simpleitk
, superqt
, tifffile
, xlsxwriter
#1020
Conversation
Preview page for your plugin is ready here: |
imagecodecs
, imageio
, ipython
, oiffile
, pandas
, pyinstaller
, qtconsole
, qtpy
, sentry-sdk
, superqt
, tifffile
imagecodecs
, imageio
, ipykernel
, ipython
, oiffile
, pandas
, pyinstaller
, qtconsole
, qtpy
, sentry-sdk
, superqt
, tifffile
, xlsxwriter
1178850
to
d668120
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## develop #1020 +/- ##
========================================
Coverage 92.26% 92.26%
========================================
Files 206 206
Lines 32318 32318
========================================
Hits 29819 29819
Misses 2499 2499 ☔ View full report in Codecov by Sentry. |
imagecodecs
, imageio
, ipykernel
, ipython
, oiffile
, pandas
, pyinstaller
, qtconsole
, qtpy
, sentry-sdk
, superqt
, tifffile
, xlsxwriter
imagecodecs
, imageio
, ipykernel
, ipython
, numpy
, oiffile
, pandas
, pyinstaller
, qtconsole
, qtpy
, sentry-sdk
, simpleitk
, superqt
, tifffile
, xlsxwriter
d668120
to
4b470cb
Compare
WalkthroughThis pull request introduces a variety of changes, including updates to various Python package versions across different Python environments, modifications to error handling in the segmentation algorithm, and adjustments to the build process. It also includes changes to URLs for data downloads and additions to GitHub Actions workflows. Changes
TipsChat with CodeRabbit Bot (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 1
Files selected for processing (5)
- package/PartSegCore/segmentation/segmentation_algorithm.py (1 hunks)
- requirements/constraints_py3.10.txt (22 hunks)
- requirements/constraints_py3.11.txt (22 hunks)
- requirements/constraints_py3.8.txt (20 hunks)
- requirements/constraints_py3.9.txt (22 hunks)
Files skipped from review due to trivial changes (3)
- requirements/constraints_py3.10.txt
- requirements/constraints_py3.11.txt
- requirements/constraints_py3.9.txt
Additional comments (Suppressed): 23
package/PartSegCore/segmentation/segmentation_algorithm.py (1)
- 238-242: The new try-except block is a good addition to handle potential
RuntimeError
during the creation of a mask. However, it's important to note that this change might affect the output of the segmentation algorithm in cases where the initial pixel type fails and the code falls back to using the pixel type from another source. This could potentially lead to different segmentation results compared to the previous version of the code. Therefore, it would be beneficial to verify if these changes have been tested thoroughly to ensure they don't introduce unexpected behavior or degrade the performance of the segmentation algorithm.requirements/constraints_py3.8.txt (22)
11-11: The version of
app-model
has been updated from0.2.0
to0.2.1
. Ensure that this new version is compatible with the rest of your project and doesn't introduce any breaking changes.18-18: The version of
asttokens
has been updated from2.2.1
to2.4.0
. Verify that this new version doesn't introduce any breaking changes.28-28: The version of
build
has been updated from0.10.0
to1.0.3
. Make sure that this new version is compatible with the rest of your project.47-47: The version of
coverage
has been updated from7.3.0
to7.3.1
. Ensure that this new version is compatible with the rest of your project and doesn't introduce any breaking changes.53-53: The version of
debugpy
has been updated from1.6.7.post1
to1.8.0
. Verify that this new version doesn't introduce any breaking changes.73-73: The version of
fsspec
has been updated from2023.6.0
to2023.9.1
. Make sure that this new version is compatible with the rest of your project.79-79: The version of
hsluv
has been updated from5.0.3
to5.0.4
. Ensure that this new version is compatible with the rest of your project and doesn't introduce any breaking changes.85-85: The version of
imageio
has been updated from2.31.2
to2.31.3
. Verify that this new version doesn't introduce any breaking changes.108-108: The version of
ipykernel
has been updated from6.25.1
to6.25.2
. Make sure that this new version is compatible with the rest of your project.130-130: The version of
jupyter-client
has been updated from8.3.0
to8.3.1
. Ensure that this new version is compatible with the rest of your project and doesn't introduce any breaking changes.184-184: The version of
nest-asyncio
has been updated from1.5.7
to1.5.8
. Verify that this new version doesn't introduce any breaking changes.250-250: The version of
pillow
has been updated from10.0.0
to10.0.1
. Make sure that this new version is compatible with the rest of your project.300-300: The version of
pyinstaller
has been updated from5.13.1
to5.13.2
. Ensure that this new version is compatible with the rest of your project and doesn't introduce any breaking changes.302-302: The version of
pyinstaller-hooks-contrib
has been updated from2023.7
to2023.8
. Verify that this new version doesn't introduce any breaking changes.340-340: The version of
pytest
has been updated from7.4.0
to7.4.2
. Make sure that this new version is compatible with the rest of your project.356-356: The version of
pytz
has been updated from2023.3
to2023.3.post1
. Ensure that this new version is compatible with the rest of your project and doesn't introduce any breaking changes.374-374: The version of
qtconsole
has been updated from5.4.3
to5.4.4
. Verify that this new version doesn't introduce any breaking changes.378-378: The version of
qtpy
has been updated from2.3.1
to2.4.0
. Make sure that this new version is compatible with the rest of your project.396-396: The version of
rich
has been updated from13.5.2
to13.5.3
. Ensure that this new version is compatible with the rest of your project and doesn't introduce any breaking changes.398-398: The version of
rpds-py
has been updated from0.9.2
to0.10.3
. Verify that this new version doesn't introduce any breaking changes.411-411: The version of
sentry-sdk
has been updated from1.29.2
to1.31.0
. Make sure that this new version is compatible with the rest of your project.422-422: The version of
simpleitk
has been updated from2.2.1
to2.3.0
. Ensure that this new version is compatible with the rest of your project and doesn't introduce any breaking changes.
[VERIFY
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Rate Limit ExceededYou have exceeded the limit for the number of files or commits that can be reviewed per hour. Please wait 29 minutes and 59 seconds before requesting another review. To re-trigger a review, convert this PR to a draft and then mark it as ready for review again. Alternatively, you can push a new commit to this PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 0
Files selected for processing (1)
- package/PartSegCore/segmentation/segmentation_algorithm.py (1 hunks)
Additional comments (Suppressed): 1
package/PartSegCore/segmentation/segmentation_algorithm.py (1)
- 235-239: The new hunk introduces a try-except block to handle potential
RuntimeError
when casting theseg_image
to a specific pixel type (sitk.sitkUInt8
). If aRuntimeError
occurs, it falls back to using the original pixel type from the watershed segmentation result (ws.GetPixelID()
). This change seems to be a response to different versions of the SimpleITK library that may behave differently. However, this could potentially impact the results of the segmentation algorithm if the pixel types differ significantly. Please verify that this fallback behavior is acceptable in all use cases.- return sitk.GetArrayFromImage(sitk.RelabelComponent(sitk.Mask(ws, sitk.Cast(seg_image, ws.GetPixelID())), 20)) + try: + mask = sitk.Mask(ws, sitk.Cast(seg_image, sitk.sitkUInt8)) + except RuntimeError: + mask = sitk.Mask(ws, sitk.Cast(seg_image, ws.GetPixelID())) + return sitk.GetArrayFromImage(sitk.RelabelComponent(mask, 20))
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 0
Files selected for processing (1)
- build_utils/download_data.sh (1 hunks)
Additional comments (Suppressed): 1
build_utils/download_data.sh (1)
- 3-3: The download URL has been changed from
https://4dnucleome.cent.uw.edu.pl/PartSeg/Downloads/test_data.tbz2
tohttp://bokota.pl/test_data.tbz2
. Please verify that the new URL is correct and the downloaded data is as expected. Also, note that the new URL uses HTTP instead of HTTPS which might have security implications.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 0
Files ignored due to filter (1)
- tox.ini
Files selected for processing (2)
- .github/workflows/base_test_workflow.yml (1 hunks)
- MANIFEST.in (1 hunks)
Files skipped from review due to trivial changes (1)
- MANIFEST.in
Additional comments (Suppressed): 1
.github/workflows/base_test_workflow.yml (1)
- 91-92: The addition of
SETUPTOOLS_SCM_DEBUG: 1
will enable debug logging for setuptools_scm, a library that manages your Python package versions from SCM metadata. This could be useful for debugging issues related to versioning, but it might also clutter the logs with unnecessary information if not needed. Ensure this change is intentional and beneficial.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 0
Files ignored due to filter (1)
- pyproject.toml
Files selected for processing (1)
- tutorials/tutorial_neuron_types/Neuron_types_example.ipynb (2 hunks)
Files skipped from review due to trivial changes (1)
- tutorials/tutorial_neuron_types/Neuron_types_example.ipynb
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 1
Files selected for processing (1)
- .github/workflows/tests.yml (1 hunks)
Additional comments (Suppressed): 2
.github/workflows/tests.yml (2)
185-217: The new job
build_package
is introduced to build the Python package using Python 3.11 and upload it as an artifact. This job will help in testing the package building process with the latest Python version, which is a good practice for ensuring compatibility with future Python versions. However, please verify that all dependencies of your project are compatible with Python 3.11.208-208: The
SETUPTOOL_SCM_DEBUG
environment variable is set to true during the package building process. This will provide detailed debug information if there are any issues related to setuptools_scm during the build process. This is a good practice for troubleshooting potential issues.
.github/workflows/tests.yml
Outdated
build_package: | ||
name: Build package | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 0 | ||
- name: Set up Python 3.11 | ||
uses: actions/setup-python@v4 | ||
with: | ||
python-version: 3.11 | ||
|
||
- name: Install dependencies | ||
run: | | ||
pip install -U build | ||
|
||
- name: Build package | ||
run: | | ||
python -m build --sdist --wheel . | ||
env: | ||
SETUPTOOL_SCM_DEBUG: true | ||
|
||
- name: Upload package | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: package22 | ||
path: dist | ||
retention-days: 5 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The build_package
job uses the actions/setup-python@v4
action to set up Python 3.11. It then installs the build
package and builds the source distribution and wheel file of the project. The built packages are then uploaded as an artifact named package22
. Please ensure that this name is unique and descriptive enough to identify the artifact easily.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 1
Files selected for processing (1)
- .github/workflows/tests.yml (1 hunks)
Additional comments (Suppressed): 1
.github/workflows/tests.yml (1)
- 185-188: The
hynek/build-and-inspect-python-package@v1
action is used without any arguments. Ensure that this is the intended usage and that no additional configuration is required.
.github/workflows/tests.yml
Outdated
build_package: | ||
name: Build package | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 1 | ||
- name: Set up Python 3.11 | ||
uses: actions/setup-python@v4 | ||
with: | ||
python-version: 3.11 | ||
|
||
- name: Install dependencies | ||
run: | | ||
pip install -U build | ||
|
||
- name: Build package | ||
run: | | ||
python -m build --sdist --wheel . | ||
env: | ||
SETUPTOOL_SCM_DEBUG: true | ||
|
||
- name: Upload package | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: package22 | ||
path: dist | ||
retention-days: 5 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A new job "build_package" has been added to the workflow. This job sets up Python 3.11, installs the build
package, builds a source distribution and wheel for the project, and uploads the built packages as an artifact named "package22". The retention period for the artifact is set to 5 days.
This job runs on every push event and uses the latest version of Ubuntu available in GitHub Actions. It's a good practice to build and test your package with the latest Python version to ensure compatibility.
However, there's a potential issue with the environment variable SETUPTOOL_SCM_DEBUG
set in line 210. This variable is misspelled and should be SETUPTOOLS_SCM_DEBUG
. This environment variable is used by setuptools_scm to print detailed diagnostic output. If it's not necessary for your build process, consider removing it.
- SETUPTOOL_SCM_DEBUG: true
+ SETUPTOOLS_SCM_DEBUG: true
Rate Limit ExceededYou have exceeded the limit for the number of files or commits that can be reviewed per hour. Please wait 20 minutes and 33 seconds before requesting another review. To re-trigger a review, convert this PR to a draft and then mark it as ready for review again. Alternatively, you can push a new commit to this PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 2
Files ignored due to filter (1)
- pyproject.toml
Files selected for processing (1)
- .github/workflows/tests.yml (1 hunks)
Additional comments (Suppressed): 4
.github/workflows/tests.yml (4)
185-188: The
hynek/build-and-inspect-python-package@v1
action is used without any arguments. Ensure that this usage is correct and doesn't require any additional parameters or configurations.190-217: A new job "build_package" has been added to the workflow. This job sets up Python 3.11, installs the
build
package, builds a source distribution and wheel for the project, and uploads the built packages as an artifact. The artifact is retained for 5 days. This seems like a good addition for continuous integration, allowing for regular building and inspection of the package.197-200: Python 3.11 is being set up for the build process. Ensure that all dependencies and the codebase are compatible with this version of Python.
204-205: The
build
package is installed for building the Python package. Make sure that this package is suitable for your project's needs and that it supports all required features and configurations.
.github/workflows/tests.yml
Outdated
python -m build --sdist --wheel . | ||
env: | ||
SETUPTOOLS_SCM_DEBUG: true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The environment variable SETUPTOOLS_SCM_DEBUG
is set to true during the build process. This will output detailed information about the setuptools_scm configuration and usage. If this level of detail is not necessary, consider removing this environment variable to reduce log verbosity.
.github/workflows/tests.yml
Outdated
uses: actions/upload-artifact@v3 | ||
with: | ||
name: package22 | ||
path: dist | ||
retention-days: 5 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The built package is uploaded as an artifact named "package22". Consider using a more descriptive name for the artifact to make it easier to identify in the GitHub Actions UI.
- name: package22
+ name: PartSeg_Package
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 0
Files selected for processing (1)
- setup.py (1 hunks)
Additional comments (Suppressed): 1
setup.py (1)
- 44-47: The
use_scm_version=True
argument has been removed from thesetup()
function. This means that the package version will no longer be automatically determined based on version control tags. Ensure that the package version is now being manually specified elsewhere in a reliable and maintainable manner.
imagecodecs
, imageio
, ipykernel
, ipython
, numpy
, oiffile
, pandas
, pyinstaller
, qtconsole
, qtpy
, sentry-sdk
, simpleitk
, superqt
, tifffile
, xlsxwriter
imagecodecs
, imageio
, ipykernel
, ipython
, numpy
, oiffile
, pandas
, psygnal
, pyinstaller
, qtconsole
, qtpy
, sentry-sdk
, simpleitk
, superqt
, tifffile
, xlsxwriter
e83a8db
to
cbcb135
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 0
Files selected for processing (4)
- requirements/constraints_py3.10.txt (24 hunks)
- requirements/constraints_py3.11.txt (24 hunks)
- requirements/constraints_py3.8.txt (22 hunks)
- requirements/constraints_py3.9.txt (24 hunks)
Files skipped from review due to trivial changes (3)
- requirements/constraints_py3.10.txt
- requirements/constraints_py3.11.txt
- requirements/constraints_py3.8.txt
Additional comments (Suppressed): 19
requirements/constraints_py3.9.txt (19)
11-11: The version of
app-model
has been updated from0.2.0
to0.2.1
. Ensure that this new version is compatible with the rest of your codebase and does not introduce any breaking changes.28-28: The version of
build
has been updated from0.10.0
to1.0.3
. Verify that this new version is compatible with the rest of your codebase and does not introduce any breaking changes.47-47: The version of
coverage
has been updated from7.3.0
to7.3.1
. Make sure that this new version is compatible with the rest of your codebase and does not introduce any breaking changes.53-53: The version of
debugpy
has been updated from1.6.7.post1
to1.8.0
. Ensure that this new version is compatible with the rest of your codebase and does not introduce any breaking changes.75-75: The version of
fsspec
has been updated from2023.6.0
to2023.9.2
. Verify that this new version is compatible with the rest of your codebase and does not introduce any breaking changes.81-81: The version of
hsluv
has been updated from5.0.3
to5.0.4
. Ensure that this new version is compatible with the rest of your codebase and does not introduce any breaking changes.85-85: The version of
imagecodecs
has been updated from2023.8.12
to2023.9.18
. Verify that this new version is compatible with the rest of your codebase and does not introduce any breaking changes.87-87: The version of
imageio
has been updated from2.31.2
to2.31.4
. Ensure that this new version is compatible with the rest of your codebase and does not introduce any breaking changes.107-107: The version of
ipykernel
has been updated from6.25.1
to6.25.2
. Verify that this new version is compatible with the rest of your codebase and does not introduce any breaking changes.112-112: The version of
ipython
has been updated from8.14.0
to8.15.0
. Ensure that this new version is compatible with the rest of your codebase and does not introduce any breaking changes.125-125: The version of
jsonschema
has been updated from4.19.0
to4.19.1
. Make sure that this new version is compatible with the rest of your codebase and does not introduce any breaking changes.129-129: The version of
jupyter-client
has been updated from8.3.0
to8.3.1
. Verify that this new version is compatible with the rest of your codebase and does not introduce any breaking changes.183-183: The version of
nest-asyncio
has been updated from1.5.7
to1.5.8
. Ensure that this new version is compatible with the rest of your codebase and does not introduce any breaking changes.193-193: The version of
numpy
has been updated from1.25.2
to1.26.0
. Verify that this new version is compatible with the rest of your codebase and does not introduce any breaking changes.214-214: The version of
oiffile
has been updated from2022.9.29
to2023.8.30
. Ensure that this new version is compatible with the rest of your codebase and does not introduce any breaking changes.234-234: The version of
pandas
has been updated from2.0.3
to2.1.1
. Make sure that this new version is compatible with the rest of your codebase and does not introduce any breaking changes.250-250: The version of
pillow
has been updated from10.0.0
to10.0.1
. Verify that this new version is compatible with the rest of your codebase and does not introduce any breaking changes.271-271: The version of
psygnal
has been updated from0.9.3
to0.9.4
. Ensure that this new version is compatible with the rest of your codebase and does not introduce any breaking changes.298-298: The version of
pyinstaller
has been updated from5.13.1
to6.0.0
. Verify that this new version is compatible with the rest of your codebase and does not introduce any breaking
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 0
Files ignored due to filter (1)
- pyproject.toml
Files selected for processing (1)
- setup.py (1 hunks)
Additional comments (Suppressed): 1
setup.py (1)
- 44-47: The automatic version determination based on Git tags (
use_scm_version=True
) has been removed from thesetup()
function. Ensure that this change is intentional and that a new versioning strategy has been implemented to replace it.
Kudos, SonarCloud Quality Gate passed! 0 Bugs No Coverage information |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 0
Files selected for processing (1)
- package/PartSegCore/segmentation/segmentation_algorithm.py (1 hunks)
Files skipped from review due to trivial changes (1)
- package/PartSegCore/segmentation/segmentation_algorithm.py
This PR is automatically created and updated by PartSeg GitHub
action cron to keep bundle dependencies modules up to date.
The updated packages are:
Summary by CodeRabbit
use_scm_version=True
fromsetup()
function call, indicating a change in versioning strategy.