![](https://secure.gravatar.com/avatar/7e5162d83842a9ddeda459f4aae52ad9.jpg?s=120&d=mm&r=g)
Hello everyone, I'm used to work with python and contribute to open-source projects. And now, many projects need to run with dependancies. So I wondering, if it could be a good idea to integrate a sniffer into Python to detecte if project's dependancies are up to date. And each time Python project is run developer will be aware if dependancies are up to date. I think isn't the first time that this idea is submitted. So I am looking forward your feedbacks ! Mathieu Tortuyaux
![](https://secure.gravatar.com/avatar/5615a372d9866f203a22b2c437527bbb.jpg?s=120&d=mm&r=g)
On Sun, Jan 15, 2017 at 12:24:29AM -0500, Mathieu TORTUYAUX wrote:
Hello everyone,
I'm used to work with python and contribute to open-source projects. And now, many projects need to run with dependancies. So I wondering, if it could be a good idea to integrate a sniffer into Python to detecte if project's dependancies are up to date.
I think such a sniffer would be an excellent third-party project. When you say "up to date", do you mean that the dependencies are all up to date from your operating system's repositories? (yum, or apt-get, or similar.) The last thing I want is some program complaining that I'm not using version 2.9 of a library when my OS package management only supports 2.6.
And each time Python project is run developer will be aware if dependancies are up to date.
That would be awful. It would be pure noise. If I'm running an old version of something, its because I want, or need, to run an old version. Or because I just don't care -- why should I run the latest version just because it is the latest version? A sniffer that I can run when I want to run it would be useful. A sniffer that runs automatically would be a PITA. -- Steve
![](https://secure.gravatar.com/avatar/e6c3fb2d67a884dcb7c870d739d8b01d.jpg?s=120&d=mm&r=g)
On 1/15/17, Steven D'Aprano <steve@pearwood.info> wrote:
On Sun, Jan 15, 2017 at 12:24:29AM -0500, Mathieu TORTUYAUX wrote:
And each time Python project is run developer will be aware if dependancies are up to date.
That would be awful. It would be pure noise. If I'm running an old version of something, its because I want, or need, to run an old version. Or because I just don't care -- why should I run the latest version just because it is the latest version?
Maybe because security updates?
A sniffer that I can run when I want to run it would be useful. A sniffer that runs automatically would be a PITA.
It depends. I think OS level update (for example: apt-get dist-upgrade) could be fine. (if you like to stay on old version you could freeze it manually - but you are risk incompatibilities) virtual environment (for example: conda update --all) could be fine too. Next one I personally could not propose outside of test virtual environment: pip install yolk3k yolk --upgrade # this upgrade all packages ( I checked yolk -U on my anaconda environment and it found one beta and one release candidate version as upgradeable targets: ipywidgets 5.2.2 (6.0.0.beta6) statsmodels 0.6.1 (0.8.0rc1) is it acceptable for you Mathieu? Instead of develop your project you could start to work like beta-tester. :) ) Whole thing depends on what we like to optimize. If we want that our open source project works fine only on latest versions of dependencies then it could be unusable for many many people! If we like to work only for people on bleeding edge or if we like to reduce our testing environments only to "newest" versions then some "edge" distribution could help. I mean it is safer to propose run "conda update --all" (because it is much more tested environment) for users than run "yolk --upgrade". So Mathieu - maybe you could try install Anaconda and run regularly "conda update --all" and check if it satisfy your expectations. Or maybe you could check https://pip.pypa.io/en/stable/user_guide/#requirements-files (sorry if I write something too obvious for you) and you and your colleagues could manage your requirements file manually.
![](https://secure.gravatar.com/avatar/57da4d2e2a527026baaaab35e6872fa5.jpg?s=120&d=mm&r=g)
2017-01-14 21:24 GMT-08:00 Mathieu TORTUYAUX <mathieu.tortuyaux@gmail.com>:
Hello everyone,
I'm used to work with python and contribute to open-source projects. And now, many projects need to run with dependancies. So I wondering, if it could be a good idea to integrate a sniffer into Python to detecte if project's dependancies are up to date.
pip already supports something like this: `pip list --outdated` will print out installed packages for which a more recent version is available.
And each time Python project is run developer will be aware if dependancies are up to date.
I think isn't the first time that this idea is submitted. So I am looking forward your feedbacks !
Mathieu Tortuyaux
_______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/
![](https://secure.gravatar.com/avatar/7e5162d83842a9ddeda459f4aae52ad9.jpg?s=120&d=mm&r=g)
Thank you everyone for those feedbacks ! So I made a Django version to check if dependencies are up-to-date, using pip lib and get_outdated method. :) Le dimanche 15 janvier 2017 00:25:26 UTC-5, Mathieu TORTUYAUX a écrit :
Hello everyone,
I'm used to work with python and contribute to open-source projects. And now, many projects need to run with dependancies. So I wondering, if it could be a good idea to integrate a sniffer into Python to detecte if project's dependancies are up to date. And each time Python project is run developer will be aware if dependancies are up to date.
I think isn't the first time that this idea is submitted. So I am looking forward your feedbacks !
Mathieu Tortuyaux
![](https://secure.gravatar.com/avatar/3d07afbc6277770ca981b1982d3badb8.jpg?s=120&d=mm&r=g)
On 16/01/17 18:29, Mathieu TORTUYAUX wrote:
Thank you everyone for those feedbacks !
So I made a Django version to check if dependencies are up-to-date, using pip lib and get_outdated method. :)
Mathieu, please do not attach images to posts to this list/newsgroup. It is text-only, and some of the gateways will helpfully strip off the attachment. Please cut and paste error messages instead. For the benefit of those watching in black and white :-), here's the text in that image: $ python manage.py runserver Performing system checks... System check identified no issues (0 silenced). 1 package(s) is (are) not up-to-date Package Version Latest Type ---------- ------- ------ ----- hypothesis 3.5.0 3.6.1 sdist January 16, 2017 - 04:08:57 Django version 1.11, using settings 'test_dep.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C -- Rhodri James *-* Kynesim Ltd
participants (5)
-
Jelle Zijlstra
-
Mathieu TORTUYAUX
-
Pavol Lisy
-
Rhodri James
-
Steven D'Aprano