-
-
Notifications
You must be signed in to change notification settings - Fork 664
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
Transition remote modules configuration from setup.py
to the modern pyproject.toml
#4748
Comments
@jhlegarreta thank you for your help with this! 💯 🥇
I think we should bump the major version. Experience has shown that the packages are not binary compatible across In the process of updating these, we could consider also changing the default branch from |
I am not bumping to newer ITK versions when transitioning to
Can do that right after the PRs are merged. |
Yes, please. |
OK, done. The script does update to Edit: leaving bumping version of |
This is an example of a realistic, more complex scikit-build-core SWIG project, historically sparked the origin of scikit-build. There are also many additional examples referenced here: InsightSoftwareConsortium/ITK#4748
This is an example of a realistic, more complex scikit-build-core SWIG project that also sparked the origin of scikit-build. There are also many additional examples referenced here: InsightSoftwareConsortium/ITK#4748
This is an example of a realistic, more complex scikit-build-core SWIG project that also sparked the origin of scikit-build. Point to the itk-webassemblyinterface ITK Remote module configuration. (the main `itk` package has a configured pyproject.toml in the [ITKPythonPackage](https://github.com/InsightSoftwareConsortium/ITKPythonPackage) repository which does not support the docs extraction assumptions). There are also many additional examples referenced here: InsightSoftwareConsortium/ITK#4748
This is an example of a realistic, more complex scikit-build-core SWIG project that also sparked the origin of scikit-build. Point to the main `itk` package pyproject.toml configuration and many adition ITK Remote Module extension packages configured here many additional examples referenced here: InsightSoftwareConsortium/ITK#4748
This is an example of a realistic, more complex scikit-build-core SWIG project that also sparked the origin of scikit-build. Point to the main `itk` package pyproject.toml configuration and many adition ITK Remote Module extension packages configured here many additional examples referenced here: InsightSoftwareConsortium/ITK#4748
This is an example of a realistic, more complex scikit-build-core SWIG project that also sparked the origin of scikit-build. There are also many additional examples referenced here: InsightSoftwareConsortium/ITK#4748
Description
Transition remote modules configuration from
setup.py
to the modernpyproject.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:
pyproject.toml
ITKAnalyzeObjectMap#30pyproject.toml
ITKAnisotropicDiffusionLBR#55pyproject.toml
ITKArrayFire#6pyproject.toml
ITKBioCell#28pyproject.toml
ITKBoneEnhancement#41pyproject.toml
ITKBoneMorphometry#56pyproject.toml
ITKBSplineGradient#34pyproject.toml
ITKColorNormalization#43pyproject.toml
ITKEntropyBasedIntensityCorrection#1pyproject.toml
ITKFastBilateral#5pyproject.toml
ITKFixedPointInverseDisplacementField#29pyproject.toml
ITKGenericLabelInterpolator#37pyproject.toml
ITKGrowCut#25pyproject.toml
ITKIOFDF#41pyproject.toml
ITKIOOpenSlide#30pyproject.toml
ITKIOMeshSTL#49pyproject.toml
ITKIOMeshSWC#3pyproject.toml
ITKIOTransformDCMTK#13pyproject.toml
ITKIsotropicWavelets#159pyproject.toml
ITKLabelErodeDilate#39pyproject.toml
ITKMeshNoise#31pyproject.toml
ITKMGHImageIO#41pyproject.toml
ITKMinimalPathExtraction#105pyproject.toml
ITKNDReg#24pyproject.toml
ITKNeuralNetworks#15pyproject.toml
ITKOptimizationMonitor#6pyproject.toml
ITKPolarTransform#26pyproject.toml
ITKPrincipalComponentsAnalysis#37pyproject.toml
ITKRingArtifact#10pyproject.toml
ITKSkullStrip#26pyproject.toml
ITKSmoothingRecursiveYvvGaussian#32pyproject.toml
ITKSplitComponents#78pyproject.toml
ITKSubdivisionQuadEdgeMeshFilter#41pyproject.toml
ITKTextureFeatures#101pyproject.toml
ITKThickness3D#51pyproject.toml
ITKThinShellDemons#22pyproject.toml
ITKTotalVariation#50pyproject.toml
ITKTrimmedPointSetRegistration#2pyproject.toml
ITKTubeTK#162pyproject.toml
ITKTwoProjectionRegistration#29pyproject.toml
ITKVkFFTBackend#67pyproject.toml
ITKVtkGlue#41pyproject.toml
LesionSizingToolkit#45pyproject.toml
KitwareMedical/ITKIOScanco#85pyproject.toml
KitwareMedical/ITKStrain#70Notes:
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.The text was updated successfully, but these errors were encountered: