-
-
Notifications
You must be signed in to change notification settings - Fork 702
Description
Description
Transition remote modules configuration from setup.py
to the modern pyproject.toml
.
Impact analysis
pyproject.toml
is the modern way to package projects using Python code:
https://packaging.python.org/en/latest/guides/writing-pyproject-toml/
https://packaging.python.org/en/latest/guides/modernize-setup-py-project/#modernize-setup-py-project
Expected behavior
Transition all remote module's project configuration to a pyproject.toml
file.
Actual behavior
Almost all remote module's project configuration dwells in a setup.py
file.
Versions
N/A.
Environment
N/A.
Additional Information
Matt has contributed with a script that would help in the transition:
InsightSoftwareConsortium/ITKModuleTemplate#161
Also, there is this tool Matt has used to update the remote module CI config to ITK 5.4:
https://github.com/asottile/all-repos
Ongoing work:
thewtex@9e9d513
Remotes and PRs:
TODO:
- https://github.com/SCIInstitute/ITKCleaver: chore: Convert from setup.py to pyproject.toml SCIInstitute/ITKCleaver#56
- https://github.com/InsightSoftwareConsortium/scifio-imageio : Forked from scifio, the latter being ahead: needs to be managed
DONE:
- https://github.com/KitwareMedical/ITKHigherOrderAccurateGradient: Duplicate of ISC, the latter forked from KitwareMedical and being ahead; needs to be managed - Deleted 2025-02-03
- https://github.com/KitwareMedical/ITKContourInterpolation: PR ENH: Update setup.py to pyproject.toml KitwareMedical/ITKContourInterpolation#122
- https://github.com/KitwareMedical/ITKUltrasound PR chore: Convert from setup.py to pyproject.toml KitwareMedical/ITKUltrasound#239
- https://github.com/KitwareMedical/MultipleImageIterator: No Python packaging
- https://github.com/KitwareMedical/ITKIOScanco: ENH: Transition project configuration to
pyproject.toml
ITKIOScanco#85 - https://github.com/InsightSoftwareConsortium/ITKLabelErodeDilate: ENH: Transition project configuration to
pyproject.toml
ITKLabelErodeDilate#39 - https://github.com/InsightSoftwareConsortium/ITKMGHImageIO: PR ENH: Transition project configuration to
pyproject.toml
ITKMGHImageIO#41 - https://github.com/InsightSoftwareConsortium/ITKNDReg:
- https://github.com/InsightSoftwareConsortium/ITKOptimizationMonitor: ENH: Transition project configuration to
pyproject.toml
ITKOptimizationMonitor#6 - https://github.com/InsightSoftwareConsortium/ITKPolarTransform: PR ENH: Transition project configuration to
pyproject.toml
ITKPolarTransform#26 - https://github.com/InsightSoftwareConsortium/ITKPrincipalComponentsAnalysis: PR ENH: Transition project configuration to
pyproject.toml
ITKPrincipalComponentsAnalysis#37 - https://github.com/InsightSoftwareConsortium/ITKSimpleITKFilters PR chore: Convert from setup.py to pyproject.toml ITKSimpleITKFilters#22
- https://github.com/InsightSoftwareConsortium/ITKSkullStrip: PR ENH: Transition project configuration to
pyproject.toml
ITKSkullStrip#26 - https://github.com/InsightSoftwareConsortium/itkAnalyzeObjectMap: PR ENH: Transition project configuration to
pyproject.toml
ITKAnalyzeObjectMap#30 - https://github.com/InsightSoftwareConsortium/ITKAnisotropicDiffusionLBR: PR ENH: Transition project configuration to
pyproject.toml
ITKAnisotropicDiffusionLBR#55 - https://github.com/InsightSoftwareConsortium/ITKArrayFire: ENH: Transition project configuration to
pyproject.toml
ITKArrayFire#6 - https://github.com/InsightSoftwareConsortium/ITKBioCell: PR ENH: Transition project configuration to
pyproject.toml
ITKBioCell#28 - https://github.com/InsightSoftwareConsortium/ITKBoneEnhancement: PR ENH: Transition project configuration to
pyproject.toml
ITKBoneEnhancement#41 - https://github.com/InsightSoftwareConsortium/ITKBoneMorphometry: PR ENH: Transition project configuration to
pyproject.toml
ITKBoneMorphometry#56 - https://github.com/InsightSoftwareConsortium/ITKBSplineGradient: ENH: Transition project configuration to
pyproject.toml
ITKBSplineGradient#34 - https://github.com/InsightSoftwareConsortium/ITKColorNormalization: ENH: Transition project configuration to
pyproject.toml
ITKColorNormalization#43 - https://github.com/InsightSoftwareConsortium/ITKCuberille
- https://github.com/InsightSoftwareConsortium/ITKEntropyBasedIntensityCorrection: ENH: Transition project configuration to
pyproject.toml
ITKEntropyBasedIntensityCorrection#1 - https://github.com/InsightSoftwareConsortium/ITKFastBilateral: PR ENH: Transition project configuration to
pyproject.toml
ITKFastBilateral#5 - https://github.com/InsightSoftwareConsortium/ITKFixedPointInverseDisplacementField: PR ENH: Transition project configuration to
pyproject.toml
ITKFixedPointInverseDisplacementField#29 - https://github.com/InsightSoftwareConsortium/ITKFPFH
- https://github.com/InsightSoftwareConsortium/ITKGenericLabelInterpolator: PR ENH: Transition project configuration to
pyproject.toml
ITKGenericLabelInterpolator#37 - https://github.com/InsightSoftwareConsortium/ITKGrowCut: PR ENH: Transition project configuration to
pyproject.toml
ITKGrowCut#25 - https://github.com/InsightSoftwareConsortium/ITKHigherOrderAccurateGradient
- https://github.com/InsightSoftwareConsortium/ITKIOFDF: PR ENH: Transition project configuration to
pyproject.toml
ITKIOFDF#41 - https://github.com/InsightSoftwareConsortium/ITKIOOpenJPH
- https://github.com/InsightSoftwareConsortium/ITKIOOMEZarrNGFF
- https://github.com/InsightSoftwareConsortium/ITKIOOpenSlide: PR ENH: Transition project configuration to
pyproject.toml
ITKIOOpenSlide#30 - https://github.com/InsightSoftwareConsortium/ITKIOMeshSTL: PR ENH: Transition project configuration to
pyproject.toml
ITKIOMeshSTL#49 - https://github.com/InsightSoftwareConsortium/ITKIOMeshSWC: ENH: Transition project configuration to
pyproject.toml
ITKIOMeshSWC#3 - https://github.com/InsightSoftwareConsortium/ITKIOMeshMZ3
- https://github.com/InsightSoftwareConsortium/ITKIOTransformDCMTK: ENH: Transition project configuration to
pyproject.toml
ITKIOTransformDCMTK#13 - https://github.com/InsightSoftwareConsortium/ITKIsotropicWavelets: PR ENH: Transition project configuration to
pyproject.toml
ITKIsotropicWavelets#159 - https://github.com/InsightSoftwareConsortium/ITKMeshNoise: PR ENH: Transition project configuration to
pyproject.toml
ITKMeshNoise#31 - https://github.com/InsightSoftwareConsortium/ITKMeshToPolyData
- https://github.com/InsightSoftwareConsortium/ITKMinimalPathExtraction: PR ENH: Transition project configuration to
pyproject.toml
ITKMinimalPathExtraction#105 - https://github.com/InsightSoftwareConsortium/ITKMontage
ENH: Transition project configuration topyproject.toml
ITKNDReg#24 - https://github.com/InsightSoftwareConsortium/ITKNeuralNetworks: ENH: Transition project configuration to
pyproject.toml
ITKNeuralNetworks#15 - https://github.com/InsightSoftwareConsortium/ITKParabolicMorphology
- https://github.com/InsightSoftwareConsortium/ITKPyTorch chore: Convert from setup.py to pyproject.toml ITKPyTorch#22
- https://github.com/InsightSoftwareConsortium/ITKRANSAC
- https://github.com/InsightSoftwareConsortium/ITKRingArtifact: PR ENH: Transition project configuration to
pyproject.toml
ITKRingArtifact#10 - https://github.com/InsightSoftwareConsortium/ITKRobustPredicate
- https://github.com/InsightSoftwareConsortium/ITKSmoothingRecursiveYvvGaussianFilter: ENH: Transition project configuration to
pyproject.toml
ITKSmoothingRecursiveYvvGaussian#32 - https://github.com/InsightSoftwareConsortium/ITKSplitComponents: PR ENH: Transition project configuration to
pyproject.toml
ITKSplitComponents#78 - https://github.com/InsightSoftwareConsortium/ITKSubdivisionQuadEdgeMeshFilter: PR ENH: Transition project configuration to
pyproject.toml
ITKSubdivisionQuadEdgeMeshFilter#41 - https://github.com/InsightSoftwareConsortium/ITKTextureFeatures: ENH: Transition project configuration to
pyproject.toml
ITKTextureFeatures#101 - https://github.com/InsightSoftwareConsortium/ITKThickness3D: ENH: Transition project configuration to
pyproject.toml
ITKThickness3D#51 - https://github.com/InsightSoftwareConsortium/ITKThinShellDemons: PR ENH: Transition project configuration to
pyproject.toml
ITKThinShellDemons#22 - https://github.com/InsightSoftwareConsortium/ITKTotalVariation: PR ENH: Transition project configuration to
pyproject.toml
ITKTotalVariation#50 - https://github.com/InsightSoftwareConsortium/ITKTrimmedPointSetRegistration: ENH: Transition project configuration to
pyproject.toml
ITKTrimmedPointSetRegistration#2 - https://github.com/InsightSoftwareConsortium/ITKTubeTK: PR ENH: Transition project configuration to
pyproject.toml
ITKTubeTK#162 - https://github.com/InsightSoftwareConsortium/ITKTwoProjectionRegistration: PR ENH: Transition project configuration to
pyproject.toml
ITKTwoProjectionRegistration#29 - https://github.com/InsightSoftwareConsortium/ITKVariationalRegistration
- https://github.com/InsightSoftwareConsortium/ITKVkFFTBackend: PR ENH: Transition project configuration to
pyproject.toml
ITKVkFFTBackend#67 - https://github.com/InsightSoftwareConsortium/ITKVtkGlue: PR ENH: Transition project configuration to
pyproject.toml
ITKVtkGlue#41 - https://github.com/InsightSoftwareConsortium/ITKWavelet
- https://github.com/InsightSoftwareConsortium/LesionSizingToolkit: ENH: Transition project configuration to
pyproject.toml
LesionSizingToolkit#45 - https://github.com/KitwareMedical/HASI chore: Convert from setup.py to pyproject.toml KitwareMedical/HASI#85
- https://github.com/KitwareMedical/ITKDICOM
- https://github.com/KitwareMedical/ITKHalideFilters
- https://github.com/KitwareMedical/ITKPhaseSymmetry
- https://github.com/KitwareMedical/ITKRLEImage
- https://github.com/KitwareMedical/ITKStrain: PR ENH: Transition project configuration to
pyproject.toml
KitwareMedical/ITKStrain#70 - https://github.com/RTKConsortium/RTK
- https://github.com/scifio/scifio-imageio: No Python packaging
- https://github.com/slicersalt/ITKShape: PR chore: Convert from setup.py to pyproject.toml slicersalt/ITKShape#30
- https://github.com/blowekamp/itkBinShrink: No Python packaging
- https://github.com/blowekamp/itkOBBLabelMap: No Python packaging
- https://github.com/blowekamp/itkScaleSpace: No Python packaging
- https://github.com/blowekamp/itkStreamingSinc: No Python packaging
- https://github.com/blowekamp/itkSuperPixel (integrated into ITK/tree/master/Modules/Segmentation/SuperPixel at ITK v5)
- https://github.com/blowekamp/itkTextureAnalysis: No Python packaging
- https://github.com/ntustison/ITKAdaptiveDenoising: PR chore: Convert from setup.py to pyproject.toml ntustison/ITKAdaptiveDenoising#18
- https://github.com/anmaithien/Retinal-Images-Mosaicking : MATLAB code
- https://github.com/argaja10/Liver-tumor-segmentation: No Python packaging (Python, Jupyter code)
- https://github.com/dyollb/ITKDissolve
- https://github.com/dyollb/ITKLabelPointSet
- https://github.com/dyollb/ITKTopologyControl
Notes:
- I did not bump the versions for the remotes while opening the PRs. @thewtex let me know your thoughts. Major, minor, patch, none?
- May of the remotes used all-capitals
ITK
as a keyword, as well asInsightToolkit
, and capitalized the first letter of other keywords. The module template containsitk
all lowercase: https://github.com/InsightSoftwareConsortium/ITKModuleTemplate/blob/main/%7B%7Bcookiecutter.project_name%7D%7D/pyproject.toml#L15 Can be a good moment to make these consistent.