[all] Review dependencies without update for long time
Hello, I recently spent some time reviewing the packages currently in the requirements repo and found some packages which haven't been updated for multiple years. This is a good indication that we have to review the features dependent on these packages to determine if the features should be re-implemented by a different package or dropped. Keeping such features with unmaintained library may likely cause problems in future maintenance (Python 3.12 support is a good example). Ideally we should have done this during 2024.1 cycle because of SLURP, but the sooner is always the better. I'd suggest that all projects spend some time to review the packages which haven't get updated for long time. I quickly grepped the packages which haven't get any bump in 202X and got the list which shows number of libraries. $ git blame -e upper-constraints.txt | grep -e '201[0-9]-' | sed -e 's/.* 201/201/' | sort 2015-06-08 22:09:46 +1200 500) simplegeneric===0.8.1 2016-05-19 06:30:24 +0000 169) extras===1.0.0 2016-11-14 17:07:49 +0000 69) XStatic-Font-Awesome===4.7.0.0 2016-12-18 07:20:50 +0000 583) xvfbwrapper===0.2.9 2017-02-21 14:05:54 -0600 118) pyinotify===0.9.6 2017-02-21 14:05:54 -0600 146) jsonpath-rw===1.4.0 2017-02-21 14:05:54 -0600 150) traceback2===1.4.0 2017-02-21 14:05:54 -0600 163) XStatic-roboto-fontface===0.5.0.0 2017-02-21 14:05:54 -0600 208) unittest2===1.1.0 2017-02-21 14:05:54 -0600 226) XStatic-objectpath===1.2.1.0 2017-02-21 14:05:54 -0600 256) dib-utils===0.0.11 2017-02-21 14:05:54 -0600 283) XStatic-Angular-Schema-Form===0.8.13.0 2017-02-21 14:05:54 -0600 287) XStatic-bootswatch===3.3.7.0 2017-02-21 14:05:54 -0600 290) XStatic-term.js===0.0.7.0 2017-02-21 14:05:54 -0600 317) pydotplus===2.0.2 2017-02-21 14:05:54 -0600 332) murano-pkg-check===0.3.0 2017-02-21 14:05:54 -0600 347) testscenarios===0.5.0 2017-02-21 14:05:54 -0600 354) nose-exclude===0.5.0 2017-02-21 14:05:54 -0600 357) elasticsearch===2.4.1 2017-02-21 14:05:54 -0600 366) XStatic-tv4===1.2.7.0 2017-02-21 14:05:54 -0600 367) XStatic-JSEncrypt===2.3.1.1 2017-02-21 14:05:54 -0600 380) linecache2===1.0.0 2017-02-21 14:05:54 -0600 390) openstack.nose-plugin===0.11 2017-02-21 14:05:54 -0600 403) testrepository===0.0.20 2017-02-21 14:05:54 -0600 41) requests-aws===0.1.8 2017-02-21 14:05:54 -0600 420) zake===0.2.2 2017-02-21 14:05:54 -0600 448) proboscis===1.2.6.0 2017-02-21 14:05:54 -0600 465) XStatic-smart-table===1.4.13.2 2017-02-21 14:05:54 -0600 487) testresources===2.0.1 2017-02-21 14:05:54 -0600 60) pysendfile===2.0.1 2017-02-21 14:05:54 -0600 613) XStatic-D3===3.5.17.0 2017-02-21 14:05:54 -0600 70) nose===1.3.7 2017-02-21 14:05:54 -0600 88) nosexcover===1.0.11 2017-02-21 14:05:54 -0600 96) Tempita===0.5.2 2017-06-28 10:13:14 +0000 576) logutils===0.3.5 2017-09-10 10:31:03 +0000 514) repoze.lru===0.7 2017-11-22 13:05:07 +0000 184) whereto===0.4.0 2017-11-24 06:19:46 +0000 501) python-pcre===0.7 2018-01-08 14:19:08 +0000 203) oslosphinx===4.18.0 2018-01-30 00:00:05 +0000 486) requestsexceptions===1.4.0 2018-03-01 06:25:09 +0000 537) CouchDB===1.2 2018-03-01 06:25:09 +0000 540) ws4py===0.5.1 2018-03-01 06:25:09 +0000 97) ply===3.11 2018-03-28 06:24:01 +0000 349) sadisplay===0.4.9 2018-05-11 06:33:27 +0000 236) threadloop===1.0.2 2018-05-13 06:27:38 +0000 289) XStatic-JS-Yaml===3.8.1.0 2018-05-13 06:27:38 +0000 309) XStatic-Angular-UUID===0.0.4.0 2018-05-13 06:27:38 +0000 524) XStatic-Json2yaml===0.1.1.0 2018-05-13 06:27:38 +0000 579) XStatic-Angular-Vis===4.16.0.0 2018-05-13 06:27:38 +0000 64) XStatic-FileSaver===1.3.2.0 2018-06-02 06:29:39 +0000 262) lockfile===0.12.2 2018-07-09 06:36:15 +0000 408) python-consul===1.1.0 2018-07-14 06:36:14 +0000 525) boto===2.49.0 2018-09-11 06:22:11 +0000 381) oauth2client===4.1.3 2019-01-01 06:10:54 +0000 471) cotyledon===1.7.3 2019-02-14 06:49:02 +0000 299) XStatic-mdi===1.6.50.2 2019-02-14 06:51:11 +0000 113) XStatic-Jasmine===2.4.1.2 2019-04-15 06:20:25 +0000 362) pysmi===0.3.4 2019-04-23 13:47:12 +0100 572) sphinx-testing===1.0.1 2019-05-12 12:14:16 +0000 343) os-service-types===1.7.0 2019-05-14 06:11:31 +0000 275) retryz===0.1.9 2019-05-14 06:11:31 +0000 400) bitmath===1.3.3.1 2019-05-14 06:11:31 +0000 535) cachez===0.1.2 2019-05-26 06:27:47 +0000 195) URLObject===2.4.3 2019-05-26 06:27:47 +0000 215) pact===1.12.0 2019-05-26 06:27:47 +0000 30) vintage===0.4.1 2019-05-26 06:27:47 +0000 313) capacity===1.3.14 2019-05-26 06:27:47 +0000 365) infi.dtypes.iqn===0.4.0 2019-05-26 06:27:47 +0000 422) flux===1.3.5 2019-05-26 06:27:47 +0000 442) api-object-schema===2.0.0 2019-05-26 06:27:47 +0000 46) waiting===1.4.1 2019-05-26 06:27:47 +0000 481) sentinels===1.0.0 2019-05-26 06:27:47 +0000 609) confetti===2.5.3 2019-05-26 06:27:47 +0000 84) infi.dtypes.wwn===0.1.1 2019-07-13 06:50:09 +0000 53) jsonpath-rw-ext===1.2.2 2019-08-15 06:36:56 +0000 528) mitba===1.1.1 2019-09-05 07:13:47 +0000 293) gossip===2.4.0 2019-10-07 06:11:48 +0000 112) rsd-lib===1.2.0 2019-10-07 06:11:48 +0000 74) pysnmp===4.4.12 2019-10-22 21:19:25 +0000 336) sqlalchemy-migrate===0.13.0 2019-11-01 17:20:28 +0200 71) nosehtmloutput===0.0.7 2019-11-30 06:10:48 +0000 513) ndg-httpsclient===0.5.1 -- Takashi Kajinami irc: tkajinam github: https://github.com/kajinamit launchpad: https://launchpad.net/~kajinamit
Hi, Thank you for starting this, it's a good exercise to do. While some libraries may simply be feature complete, there are definitely cases which we may consider removing. Things like traceback2, linecache2, simplegeneric, extras and unittest2 are essentially backports of Python 3 features to Python 2 and earlier Python 3. There is little reason for us to use them, although older projects may bring these dependencies with them. Things like testscenarios and testrepository are, as far as I remember, related to the old ways we ran unit tests. I think I managed to get rid of them on all projects I'm on without any loss. Nose is not maintained any more apparently. I haven't looked into the others, but these seem to be candidates for removal. Dmitry On 4/5/24 11:17, Takashi Kajinami wrote:
Hello,
I recently spent some time reviewing the packages currently in the requirements repo and found some packages which haven't been updated for multiple years. This is a good indication that we have to review the features dependent on these packages to determine if the features should be re-implemented by a different package or dropped. Keeping such features with unmaintained library may likely cause problems in future maintenance (Python 3.12 support is a good example).
Ideally we should have done this during 2024.1 cycle because of SLURP, but the sooner is always the better. I'd suggest that all projects spend some time to review the packages which haven't get updated for long time.
I quickly grepped the packages which haven't get any bump in 202X and got the list which shows number of libraries.
$ git blame -e upper-constraints.txt | grep -e '201[0-9]-' | sed -e 's/.* 201/201/' | sort 2015-06-08 22:09:46 +1200 500) simplegeneric===0.8.1 2016-05-19 06:30:24 +0000 169) extras===1.0.0 2016-11-14 17:07:49 +0000 69) XStatic-Font-Awesome===4.7.0.0 2016-12-18 07:20:50 +0000 583) xvfbwrapper===0.2.9 2017-02-21 14:05:54 -0600 118) pyinotify===0.9.6 2017-02-21 14:05:54 -0600 146) jsonpath-rw===1.4.0 2017-02-21 14:05:54 -0600 150) traceback2===1.4.0 2017-02-21 14:05:54 -0600 163) XStatic-roboto-fontface===0.5.0.0 2017-02-21 14:05:54 -0600 208) unittest2===1.1.0 2017-02-21 14:05:54 -0600 226) XStatic-objectpath===1.2.1.0 2017-02-21 14:05:54 -0600 256) dib-utils===0.0.11 2017-02-21 14:05:54 -0600 283) XStatic-Angular-Schema-Form===0.8.13.0 2017-02-21 14:05:54 -0600 287) XStatic-bootswatch===3.3.7.0 2017-02-21 14:05:54 -0600 290) XStatic-term.js===0.0.7.0 2017-02-21 14:05:54 -0600 317) pydotplus===2.0.2 2017-02-21 14:05:54 -0600 332) murano-pkg-check===0.3.0 2017-02-21 14:05:54 -0600 347) testscenarios===0.5.0 2017-02-21 14:05:54 -0600 354) nose-exclude===0.5.0 2017-02-21 14:05:54 -0600 357) elasticsearch===2.4.1 2017-02-21 14:05:54 -0600 366) XStatic-tv4===1.2.7.0 2017-02-21 14:05:54 -0600 367) XStatic-JSEncrypt===2.3.1.1 2017-02-21 14:05:54 -0600 380) linecache2===1.0.0 2017-02-21 14:05:54 -0600 390) openstack.nose-plugin===0.11 2017-02-21 14:05:54 -0600 403) testrepository===0.0.20 2017-02-21 14:05:54 -0600 41) requests-aws===0.1.8 2017-02-21 14:05:54 -0600 420) zake===0.2.2 2017-02-21 14:05:54 -0600 448) proboscis===1.2.6.0 2017-02-21 14:05:54 -0600 465) XStatic-smart-table===1.4.13.2 2017-02-21 14:05:54 -0600 487) testresources===2.0.1 2017-02-21 14:05:54 -0600 60) pysendfile===2.0.1 2017-02-21 14:05:54 -0600 613) XStatic-D3===3.5.17.0 2017-02-21 14:05:54 -0600 70) nose===1.3.7 2017-02-21 14:05:54 -0600 88) nosexcover===1.0.11 2017-02-21 14:05:54 -0600 96) Tempita===0.5.2 2017-06-28 10:13:14 +0000 576) logutils===0.3.5 2017-09-10 10:31:03 +0000 514) repoze.lru===0.7 2017-11-22 13:05:07 +0000 184) whereto===0.4.0 2017-11-24 06:19:46 +0000 501) python-pcre===0.7 2018-01-08 14:19:08 +0000 203) oslosphinx===4.18.0 2018-01-30 00:00:05 +0000 486) requestsexceptions===1.4.0 2018-03-01 06:25:09 +0000 537) CouchDB===1.2 2018-03-01 06:25:09 +0000 540) ws4py===0.5.1 2018-03-01 06:25:09 +0000 97) ply===3.11 2018-03-28 06:24:01 +0000 349) sadisplay===0.4.9 2018-05-11 06:33:27 +0000 236) threadloop===1.0.2 2018-05-13 06:27:38 +0000 289) XStatic-JS-Yaml===3.8.1.0 2018-05-13 06:27:38 +0000 309) XStatic-Angular-UUID===0.0.4.0 2018-05-13 06:27:38 +0000 524) XStatic-Json2yaml===0.1.1.0 2018-05-13 06:27:38 +0000 579) XStatic-Angular-Vis===4.16.0.0 2018-05-13 06:27:38 +0000 64) XStatic-FileSaver===1.3.2.0 2018-06-02 06:29:39 +0000 262) lockfile===0.12.2 2018-07-09 06:36:15 +0000 408) python-consul===1.1.0 2018-07-14 06:36:14 +0000 525) boto===2.49.0 2018-09-11 06:22:11 +0000 381) oauth2client===4.1.3 2019-01-01 06:10:54 +0000 471) cotyledon===1.7.3 2019-02-14 06:49:02 +0000 299) XStatic-mdi===1.6.50.2 2019-02-14 06:51:11 +0000 113) XStatic-Jasmine===2.4.1.2 2019-04-15 06:20:25 +0000 362) pysmi===0.3.4 2019-04-23 13:47:12 +0100 572) sphinx-testing===1.0.1 2019-05-12 12:14:16 +0000 343) os-service-types===1.7.0 2019-05-14 06:11:31 +0000 275) retryz===0.1.9 2019-05-14 06:11:31 +0000 400) bitmath===1.3.3.1 2019-05-14 06:11:31 +0000 535) cachez===0.1.2 2019-05-26 06:27:47 +0000 195) URLObject===2.4.3 2019-05-26 06:27:47 +0000 215) pact===1.12.0 2019-05-26 06:27:47 +0000 30) vintage===0.4.1 2019-05-26 06:27:47 +0000 313) capacity===1.3.14 2019-05-26 06:27:47 +0000 365) infi.dtypes.iqn===0.4.0 2019-05-26 06:27:47 +0000 422) flux===1.3.5 2019-05-26 06:27:47 +0000 442) api-object-schema===2.0.0 2019-05-26 06:27:47 +0000 46) waiting===1.4.1 2019-05-26 06:27:47 +0000 481) sentinels===1.0.0 2019-05-26 06:27:47 +0000 609) confetti===2.5.3 2019-05-26 06:27:47 +0000 84) infi.dtypes.wwn===0.1.1 2019-07-13 06:50:09 +0000 53) jsonpath-rw-ext===1.2.2 2019-08-15 06:36:56 +0000 528) mitba===1.1.1 2019-09-05 07:13:47 +0000 293) gossip===2.4.0 2019-10-07 06:11:48 +0000 112) rsd-lib===1.2.0 2019-10-07 06:11:48 +0000 74) pysnmp===4.4.12 2019-10-22 21:19:25 +0000 336) sqlalchemy-migrate===0.13.0 2019-11-01 17:20:28 +0200 71) nosehtmloutput===0.0.7 2019-11-30 06:10:48 +0000 513) ndg-httpsclient===0.5.1
-- Takashi Kajinami irc: tkajinam github: https://github.com/kajinamit launchpad: https://launchpad.net/~kajinamit
We could have to sort the grain from the chaff, but globally I agree with You and Dimitry.I think that some of these libraries are stable enough and we shouldn't waits for intense activity on them. I think by example to jmespath which apparently is not listed there but also not updated since ~ 2 years. Le ven. 5 avr. 2024 à 13:11, Dmitry Tantsur <dtantsur@protonmail.com> a écrit :
Hi,
Thank you for starting this, it's a good exercise to do.
While some libraries may simply be feature complete, there are definitely cases which we may consider removing.
Things like traceback2, linecache2, simplegeneric, extras and unittest2 are essentially backports of Python 3 features to Python 2 and earlier Python 3. There is little reason for us to use them, although older projects may bring these dependencies with them.
Things like testscenarios and testrepository are, as far as I remember, related to the old ways we ran unit tests. I think I managed to get rid of them on all projects I'm on without any loss.
Nose is not maintained any more apparently.
I haven't looked into the others, but these seem to be candidates for removal.
Dmitry
Hello,
I recently spent some time reviewing the packages currently in the requirements repo and found some packages which haven't been updated for multiple years. This is a good indication that we have to review the features dependent on these
if the features should be re-implemented by a different package or dropped. Keeping such features with unmaintained library may likely cause problems in future
On 4/5/24 11:17, Takashi Kajinami wrote: packages to determine maintenance
(Python 3.12 support is a good example).
Ideally we should have done this during 2024.1 cycle because of SLURP, but the sooner is always the better. I'd suggest that all projects spend some time to review the packages which haven't get updated for long time.
I quickly grepped the packages which haven't get any bump in 202X and got the list which shows number of libraries.
$ git blame -e upper-constraints.txt | grep -e '201[0-9]-' | sed -e 's/.* 201/201/' | sort 2015-06-08 22:09:46 +1200 500) simplegeneric===0.8.1 2016-05-19 06:30:24 +0000 169) extras===1.0.0 2016-11-14 17:07:49 +0000 69) XStatic-Font-Awesome===4.7.0.0 2016-12-18 07:20:50 +0000 583) xvfbwrapper===0.2.9 2017-02-21 14:05:54 -0600 118) pyinotify===0.9.6 2017-02-21 14:05:54 -0600 146) jsonpath-rw===1.4.0 2017-02-21 14:05:54 -0600 150) traceback2===1.4.0 2017-02-21 14:05:54 -0600 163) XStatic-roboto-fontface===0.5.0.0 2017-02-21 14:05:54 -0600 208) unittest2===1.1.0 2017-02-21 14:05:54 -0600 226) XStatic-objectpath===1.2.1.0 2017-02-21 14:05:54 -0600 256) dib-utils===0.0.11 2017-02-21 14:05:54 -0600 283) XStatic-Angular-Schema-Form===0.8.13.0 2017-02-21 14:05:54 -0600 287) XStatic-bootswatch===3.3.7.0 2017-02-21 14:05:54 -0600 290) XStatic-term.js===0.0.7.0 2017-02-21 14:05:54 -0600 317) pydotplus===2.0.2 2017-02-21 14:05:54 -0600 332) murano-pkg-check===0.3.0 2017-02-21 14:05:54 -0600 347) testscenarios===0.5.0 2017-02-21 14:05:54 -0600 354) nose-exclude===0.5.0 2017-02-21 14:05:54 -0600 357) elasticsearch===2.4.1 2017-02-21 14:05:54 -0600 366) XStatic-tv4===1.2.7.0 2017-02-21 14:05:54 -0600 367) XStatic-JSEncrypt===2.3.1.1 2017-02-21 14:05:54 -0600 380) linecache2===1.0.0 2017-02-21 14:05:54 -0600 390) openstack.nose-plugin===0.11 2017-02-21 14:05:54 -0600 403) testrepository===0.0.20 2017-02-21 14:05:54 -0600 41) requests-aws===0.1.8 2017-02-21 14:05:54 -0600 420) zake===0.2.2 2017-02-21 14:05:54 -0600 448) proboscis===1.2.6.0 2017-02-21 14:05:54 -0600 465) XStatic-smart-table===1.4.13.2 2017-02-21 14:05:54 -0600 487) testresources===2.0.1 2017-02-21 14:05:54 -0600 60) pysendfile===2.0.1 2017-02-21 14:05:54 -0600 613) XStatic-D3===3.5.17.0 2017-02-21 14:05:54 -0600 70) nose===1.3.7 2017-02-21 14:05:54 -0600 88) nosexcover===1.0.11 2017-02-21 14:05:54 -0600 96) Tempita===0.5.2 2017-06-28 10:13:14 +0000 576) logutils===0.3.5 2017-09-10 10:31:03 +0000 514) repoze.lru===0.7 2017-11-22 13:05:07 +0000 184) whereto===0.4.0 2017-11-24 06:19:46 +0000 501) python-pcre===0.7 2018-01-08 14:19:08 +0000 203) oslosphinx===4.18.0 2018-01-30 00:00:05 +0000 486) requestsexceptions===1.4.0 2018-03-01 06:25:09 +0000 537) CouchDB===1.2 2018-03-01 06:25:09 +0000 540) ws4py===0.5.1 2018-03-01 06:25:09 +0000 97) ply===3.11 2018-03-28 06:24:01 +0000 349) sadisplay===0.4.9 2018-05-11 06:33:27 +0000 236) threadloop===1.0.2 2018-05-13 06:27:38 +0000 289) XStatic-JS-Yaml===3.8.1.0 2018-05-13 06:27:38 +0000 309) XStatic-Angular-UUID===0.0.4.0 2018-05-13 06:27:38 +0000 524) XStatic-Json2yaml===0.1.1.0 2018-05-13 06:27:38 +0000 579) XStatic-Angular-Vis===4.16.0.0 2018-05-13 06:27:38 +0000 64) XStatic-FileSaver===1.3.2.0 2018-06-02 06:29:39 +0000 262) lockfile===0.12.2 2018-07-09 06:36:15 +0000 408) python-consul===1.1.0 2018-07-14 06:36:14 +0000 525) boto===2.49.0 2018-09-11 06:22:11 +0000 381) oauth2client===4.1.3 2019-01-01 06:10:54 +0000 471) cotyledon===1.7.3 2019-02-14 06:49:02 +0000 299) XStatic-mdi===1.6.50.2 2019-02-14 06:51:11 +0000 113) XStatic-Jasmine===2.4.1.2 2019-04-15 06:20:25 +0000 362) pysmi===0.3.4 2019-04-23 13:47:12 +0100 572) sphinx-testing===1.0.1 2019-05-12 12:14:16 +0000 343) os-service-types===1.7.0 2019-05-14 06:11:31 +0000 275) retryz===0.1.9 2019-05-14 06:11:31 +0000 400) bitmath===1.3.3.1 2019-05-14 06:11:31 +0000 535) cachez===0.1.2 2019-05-26 06:27:47 +0000 195) URLObject===2.4.3 2019-05-26 06:27:47 +0000 215) pact===1.12.0 2019-05-26 06:27:47 +0000 30) vintage===0.4.1 2019-05-26 06:27:47 +0000 313) capacity===1.3.14 2019-05-26 06:27:47 +0000 365) infi.dtypes.iqn===0.4.0 2019-05-26 06:27:47 +0000 422) flux===1.3.5 2019-05-26 06:27:47 +0000 442) api-object-schema===2.0.0 2019-05-26 06:27:47 +0000 46) waiting===1.4.1 2019-05-26 06:27:47 +0000 481) sentinels===1.0.0 2019-05-26 06:27:47 +0000 609) confetti===2.5.3 2019-05-26 06:27:47 +0000 84) infi.dtypes.wwn===0.1.1 2019-07-13 06:50:09 +0000 53) jsonpath-rw-ext===1.2.2 2019-08-15 06:36:56 +0000 528) mitba===1.1.1 2019-09-05 07:13:47 +0000 293) gossip===2.4.0 2019-10-07 06:11:48 +0000 112) rsd-lib===1.2.0 2019-10-07 06:11:48 +0000 74) pysnmp===4.4.12 2019-10-22 21:19:25 +0000 336) sqlalchemy-migrate===0.13.0 2019-11-01 17:20:28 +0200 71) nosehtmloutput===0.0.7 2019-11-30 06:10:48 +0000 513) ndg-httpsclient===0.5.1
-- Takashi Kajinami irc: tkajinam github: https://github.com/kajinamit launchpad: https://launchpad.net/~kajinamit
-- Hervé Beraud Senior Software Engineer at Red Hat irc: hberaud https://github.com/4383/
I agree some of these can be just feature complete so might not be in very critical situations or subject for immediate removal. However, as we have seen more and more problems triggered by python version bump or dependency bump (mainly because of some deprecated implementations being removed), we have to make sure that the library is in maintain-able state so that we can work on fixing these when the breakage happens. We can de-prioritize these libraries but it's still better if we are aware of the risks at least, so that we are not confused too much later. I understand this may need large effort while it does not give us very immediate functional gain, but if more people can spare some time to give some thoughts to this topic, that would be really nice and helpful. On 4/5/24 21:03, Herve Beraud wrote:
We could have to sort the grain from the chaff, but globally I agree with You and Dimitry.I think that some of these libraries are stable enough and we shouldn't waits for intense activity on them. I think by example to jmespath which apparently is not listed there but also not updated since ~ 2 years.
Le ven. 5 avr. 2024 à 13:11, Dmitry Tantsur <dtantsur@protonmail.com <mailto:dtantsur@protonmail.com>> a écrit :
Hi,
Thank you for starting this, it's a good exercise to do.
While some libraries may simply be feature complete, there are definitely cases which we may consider removing.
Things like traceback2, linecache2, simplegeneric, extras and unittest2 are essentially backports of Python 3 features to Python 2 and earlier Python 3. There is little reason for us to use them, although older projects may bring these dependencies with them.
Things like testscenarios and testrepository are, as far as I remember, related to the old ways we ran unit tests. I think I managed to get rid of them on all projects I'm on without any loss.
Nose is not maintained any more apparently.
I haven't looked into the others, but these seem to be candidates for removal.
Dmitry
On 4/5/24 11:17, Takashi Kajinami wrote: > Hello, > > > I recently spent some time reviewing the packages currently in the requirements repo > and found some packages which haven't been updated for multiple years. This is a good > indication that we have to review the features dependent on these packages to determine > if the features should be re-implemented by a different package or dropped. Keeping such > features with unmaintained library may likely cause problems in future maintenance > (Python 3.12 support is a good example). > > Ideally we should have done this during 2024.1 cycle because of SLURP, but the sooner is > always the better. I'd suggest that all projects spend some time to review the packages > which haven't get updated for long time. > > I quickly grepped the packages which haven't get any bump in 202X and got the list which > shows number of libraries. > > $ git blame -e upper-constraints.txt | grep -e '201[0-9]-' | sed -e 's/.* 201/201/' | sort > 2015-06-08 22:09:46 +1200 500) simplegeneric===0.8.1 > 2016-05-19 06:30:24 +0000 169) extras===1.0.0 > 2016-11-14 17:07:49 +0000 69) XStatic-Font-Awesome===4.7.0.0 > 2016-12-18 07:20:50 +0000 583) xvfbwrapper===0.2.9 > 2017-02-21 14:05:54 -0600 118) pyinotify===0.9.6 > 2017-02-21 14:05:54 -0600 146) jsonpath-rw===1.4.0 > 2017-02-21 14:05:54 -0600 150) traceback2===1.4.0 > 2017-02-21 14:05:54 -0600 163) XStatic-roboto-fontface===0.5.0.0 > 2017-02-21 14:05:54 -0600 208) unittest2===1.1.0 > 2017-02-21 14:05:54 -0600 226) XStatic-objectpath===1.2.1.0 > 2017-02-21 14:05:54 -0600 256) dib-utils===0.0.11 > 2017-02-21 14:05:54 -0600 283) XStatic-Angular-Schema-Form===0.8.13.0 > 2017-02-21 14:05:54 -0600 287) XStatic-bootswatch===3.3.7.0 > 2017-02-21 14:05:54 -0600 290) XStatic-term.js===0.0.7.0 > 2017-02-21 14:05:54 -0600 317) pydotplus===2.0.2 > 2017-02-21 14:05:54 -0600 332) murano-pkg-check===0.3.0 > 2017-02-21 14:05:54 -0600 347) testscenarios===0.5.0 > 2017-02-21 14:05:54 -0600 354) nose-exclude===0.5.0 > 2017-02-21 14:05:54 -0600 357) elasticsearch===2.4.1 > 2017-02-21 14:05:54 -0600 366) XStatic-tv4===1.2.7.0 > 2017-02-21 14:05:54 -0600 367) XStatic-JSEncrypt===2.3.1.1 > 2017-02-21 14:05:54 -0600 380) linecache2===1.0.0 > 2017-02-21 14:05:54 -0600 390) openstack.nose-plugin===0.11 > 2017-02-21 14:05:54 -0600 403) testrepository===0.0.20 > 2017-02-21 14:05:54 -0600 41) requests-aws===0.1.8 > 2017-02-21 14:05:54 -0600 420) zake===0.2.2 > 2017-02-21 14:05:54 -0600 448) proboscis===1.2.6.0 > 2017-02-21 14:05:54 -0600 465) XStatic-smart-table===1.4.13.2 > 2017-02-21 14:05:54 -0600 487) testresources===2.0.1 > 2017-02-21 14:05:54 -0600 60) pysendfile===2.0.1 > 2017-02-21 14:05:54 -0600 613) XStatic-D3===3.5.17.0 > 2017-02-21 14:05:54 -0600 70) nose===1.3.7 > 2017-02-21 14:05:54 -0600 88) nosexcover===1.0.11 > 2017-02-21 14:05:54 -0600 96) Tempita===0.5.2 > 2017-06-28 10:13:14 +0000 576) logutils===0.3.5 > 2017-09-10 10:31:03 +0000 514) repoze.lru===0.7 > 2017-11-22 13:05:07 +0000 184) whereto===0.4.0 > 2017-11-24 06:19:46 +0000 501) python-pcre===0.7 > 2018-01-08 14:19:08 +0000 203) oslosphinx===4.18.0 > 2018-01-30 00:00:05 +0000 486) requestsexceptions===1.4.0 > 2018-03-01 06:25:09 +0000 537) CouchDB===1.2 > 2018-03-01 06:25:09 +0000 540) ws4py===0.5.1 > 2018-03-01 06:25:09 +0000 97) ply===3.11 > 2018-03-28 06:24:01 +0000 349) sadisplay===0.4.9 > 2018-05-11 06:33:27 +0000 236) threadloop===1.0.2 > 2018-05-13 06:27:38 +0000 289) XStatic-JS-Yaml===3.8.1.0 > 2018-05-13 06:27:38 +0000 309) XStatic-Angular-UUID===0.0.4.0 > 2018-05-13 06:27:38 +0000 524) XStatic-Json2yaml===0.1.1.0 > 2018-05-13 06:27:38 +0000 579) XStatic-Angular-Vis===4.16.0.0 > 2018-05-13 06:27:38 +0000 64) XStatic-FileSaver===1.3.2.0 > 2018-06-02 06:29:39 +0000 262) lockfile===0.12.2 > 2018-07-09 06:36:15 +0000 408) python-consul===1.1.0 > 2018-07-14 06:36:14 +0000 525) boto===2.49.0 > 2018-09-11 06:22:11 +0000 381) oauth2client===4.1.3 > 2019-01-01 06:10:54 +0000 471) cotyledon===1.7.3 > 2019-02-14 06:49:02 +0000 299) XStatic-mdi===1.6.50.2 > 2019-02-14 06:51:11 +0000 113) XStatic-Jasmine===2.4.1.2 > 2019-04-15 06:20:25 +0000 362) pysmi===0.3.4 > 2019-04-23 13:47:12 +0100 572) sphinx-testing===1.0.1 > 2019-05-12 12:14:16 +0000 343) os-service-types===1.7.0 > 2019-05-14 06:11:31 +0000 275) retryz===0.1.9 > 2019-05-14 06:11:31 +0000 400) bitmath===1.3.3.1 > 2019-05-14 06:11:31 +0000 535) cachez===0.1.2 > 2019-05-26 06:27:47 +0000 195) URLObject===2.4.3 > 2019-05-26 06:27:47 +0000 215) pact===1.12.0 > 2019-05-26 06:27:47 +0000 30) vintage===0.4.1 > 2019-05-26 06:27:47 +0000 313) capacity===1.3.14 > 2019-05-26 06:27:47 +0000 365) infi.dtypes.iqn===0.4.0 > 2019-05-26 06:27:47 +0000 422) flux===1.3.5 > 2019-05-26 06:27:47 +0000 442) api-object-schema===2.0.0 > 2019-05-26 06:27:47 +0000 46) waiting===1.4.1 > 2019-05-26 06:27:47 +0000 481) sentinels===1.0.0 > 2019-05-26 06:27:47 +0000 609) confetti===2.5.3 > 2019-05-26 06:27:47 +0000 84) infi.dtypes.wwn===0.1.1 > 2019-07-13 06:50:09 +0000 53) jsonpath-rw-ext===1.2.2 > 2019-08-15 06:36:56 +0000 528) mitba===1.1.1 > 2019-09-05 07:13:47 +0000 293) gossip===2.4.0 > 2019-10-07 06:11:48 +0000 112) rsd-lib===1.2.0 > 2019-10-07 06:11:48 +0000 74) pysnmp===4.4.12 > 2019-10-22 21:19:25 +0000 336) sqlalchemy-migrate===0.13.0 > 2019-11-01 17:20:28 +0200 71) nosehtmloutput===0.0.7 > 2019-11-30 06:10:48 +0000 513) ndg-httpsclient===0.5.1 > > > > > -- > Takashi Kajinami > irc: tkajinam > github: https://github.com/kajinamit <https://github.com/kajinamit> > launchpad: https://launchpad.net/~kajinamit <https://launchpad.net/~kajinamit>
-- Hervé Beraud Senior Software Engineer at Red Hat irc: hberaud https://github.com/4383/ <https://github.com/4383/>
participants (3)
-
Dmitry Tantsur
-
Herve Beraud
-
Takashi Kajinami