Is it time for latest release of populse in pypi? #16
Replies: 19 comments 1 reply
-
We could, indeed, but I am completely under water these days and cannot find time for it at the moment. Either if you can manage it on your side, it's good, or we'll have to wait for a few weeks for me... |
Beta Was this translation helpful? Give feedback.
-
No problem, I can do it. Let's say we set a deadline of the end of 2024. So next releases will be: I'll manage version changes in info and tags. |
Beta Was this translation helpful? Give feedback.
-
I haven't forgotten this deployment for Populse at all. A big work is being done on Mia. When it's finished, we'll also have to adapt mia_processes. This is a very time-consuming job. When everything is finished, the version change for populse_mia and mia_processes will be major (V3). We'll then have a chance to discuss the rest of populse (due for completion in the spring). |
Beta Was this translation helpful? Give feedback.
-
Populse_mia is now compatible with the populse_db 3.0 branch. The transition to populse_db v3 took longer than expected, mainly because I took the opportunity to thoroughly review the populse_mia codebase. In the end, this refactoring was the most time-consuming part. A few modules still need further improvements, after which I will restart the unit tests and verify compatibility with mia_processes. Speaking of mia_processes, I think a major cleanup —similar to what was done for populse_mia— would be beneficial. However, given the time required for populse_mia, I suggest postponing it until the right moment. Several bugs, typos, and issues introduced by the recent code changes in Mia have already been fixed, but further testing is necessary before deployment. This naturally brings us to the topic of rolling out populse_mia. Deployment Plan As a reminder, we had planned to deploy the next release by the end of 2024, and I had offered to handle the process. However, due to the extensive refactoring, the timeline has slipped slightly. Given the progress so far, I propose rolling out this update now, keeping in mind the upcoming full transition to populse_db v3. Current versions on PyPI:
For populse-db, populse-mia, and mia-processes, the changes aren't major, so we could consider:
For soma-workflow, capsul, and soma-base, I don’t anticipate major changes either. Could @denisri and/or @sapetnioc suggest appropriate new versions for these three packages? Merging Development Branches Once ongoing work is completed, we can merge the development branches:
For populse_db, the 3.0 branch has diverged significantly from master, so a simple merge may not be sufficient. What’s the plan for soma-base and soma-workflow? Next Deployment
Outstanding Issue There’s an open ticket in populse_db. It looks like a write=True should likely be changed to False — this should be reviewed. |
Beta Was this translation helpful? Give feedback.
-
Hi, I'm not sure what you suggest exactly: doing a first "intermediate" release with bugfixes (populse_db 2.6, populse_mia 2.6, mia_processes 2.7) then merge populse_db3 branches and do another release ? For me I think I'm OK with the "intermediate" release at least. |
Beta Was this translation helpful? Give feedback.
-
Good job for Mia adaptation to populse_db v3. We barely use PyPI since we started to use Pixi (i.e. Conda packages). Therefore we did not plan the releases for soma-base, capsul and soma-workflow. The relealse you propose are ok for me. For the next deployment, we must discuss to see how to take into account the change we made in Conda package organization. populse_db is still independent and called "populse-db" (people tend not to use underscore in package names). soma-base and soma-workflow are now included in the "soma-python" package (with other Python only projects) ; soma-python depends on populse-db. All other base libraries that are not only in Python are in the "soma" package (that depends on soma-python). There is an "anatomist" package (depending on soma) and one package per toolbox (such as morphologist that depends on anatomist and soma). |
Beta Was this translation helpful? Give feedback.
-
My idea in a nutshell: 1- As the last version of populse is over a year old, I propose to publish on pypi the current master branches (without taking into account the latest changes linked to populse_db V3) in order to make a final 2.x version (for Mia, populse_db and mia_processes) 2- Then, in a few weeks' time (I've still got some work to do on Mia and mia_proceses, as I'm embarking on a complete rewrite of Mia at the same time as adapting it to populse_db V3): merge the db_v3 branches with the populse_mia and mia_processes masters. But in this case, we'll also have to merge the populsedb3 branch from capsul to master and the 3.0 branch to master for populse_db. For populse_db, given the differences between master and 3,0, I don't think a simple merge will be enough, we'll have to be a bit more aggressive .... 3- Then do a release of all that (for Mia we'll be at V3 because it's a major change, the old v2 databases won't work any more). This will be an opportunity to discuss abandoning pypi. I've only followed the work on Pixi from a distance, reading the various emails on the subject. I'd be happy to receive more information on the subject. Points 2 and 3 will come later. What I propose is to start by dealing with point 1: -> deploy populse masters on pypi : populse-db → 2.6.0 populse-mia → 2.6.0 mia-processes → 2.7.0 soma-workflow -> 3.3.0 capsul -> 2.6.0 soma-base -> 5.3.0 Are you ok with this ? |
Beta Was this translation helpful? Give feedback.
-
OK, I'm running out of time, but I promise to sort out the first point by the end of next week at the latest! |
Beta Was this translation helpful? Give feedback.
-
Ok. Capsul 2 is supposed to be ready for Populse_db 3 (in a specific branch). Therefore, once Mia is ready, the 3.0 branch will become the main branch (not a merge, a branch renaming). |
Beta Was this translation helpful? Give feedback.
-
Point 1 is now complete. We now have PyPi : |
Beta Was this translation helpful? Give feedback.
-
Great ! Thanks ! |
Beta Was this translation helpful? Give feedback.
-
It's time to move on to step 2. I can take care of that. 1- soma_workflow and soma_base: nothing to do. |
Beta Was this translation helpful? Give feedback.
-
I let @sapetnioc answer because I haven't followed the populse_db v3 very thoroughly, but from my point of view I think it's OK. |
Beta Was this translation helpful? Give feedback.
-
So if I understand correctly, for capsul and populse_db, we merge the branches into master then delete the branches (3.0 for populse_db and for populsedb3 capsul) and that's it? |
Beta Was this translation helpful? Give feedback.
-
If there is a tag corresponding to the latest state of the branches (for instance a tag created during the release on PiPy) yes. If such a tag doesn't exist we should keep a 2.0 branch, just in case. |
Beta Was this translation helpful? Give feedback.
-
Point 2 is now complete. We may need to take a look at the unit tests and other small details. |
Beta Was this translation helpful? Give feedback.
-
Unit tests for all populse now work correctly. |
Beta Was this translation helpful? Give feedback.
-
Point 2 is now (correctly) completed. |
Beta Was this translation helpful? Give feedback.
-
Nipype has just released its latest version (1.9.0) on pypi.
The latest versions, in pypi, of the populse libraries will soon be 1 year old. There have been no extraordinary changes in the master branches of these libraries. However, I think it would be a good idea to publish the latest versions of all the libraries.
As a reminder, currently in pipy :
populse-db 2.5.1
populse-mia 2.5.2
mia-processes 2.6.0
capsul 2.5.0
soma-base 5.2.0
soma-workflow 3.2.2
For Mia, there have been some bug fixes since the last release, so I think we can move to populse-mia 2.6.0. For mia-processes, new bricks and pipelines have been introduced, which implies more than a micro change, so 2.7.0 will be fine. For the other libraries, it seems to me that a micro change could be envisaged. This would result in :
populse-db 2.5.2
populse-mia 2.6.0
mia-processes 2.7.0
capsul 2.5.1
soma-base 5.2.1
soma-workflow 3.2.3
I can handle this job.
What do you think?
Beta Was this translation helpful? Give feedback.
All reactions