#1079769 ITP: python-farama-notifications -- Notifications for all Farama Foundation maintained libraries

#1079769#5
Date:
2024-08-27 09:38:23 UTC
From:
To:
* Package name    : python-farama-notifications
  Version         : 0.0.4
  Upstream Contact: Jordan Terry <Jkterry@farama.org>
* URL             : https://github.com/Farama-Foundation/Farama-Notifications
* License         : MIT
  Programming Lang: Python
  Description     : Notifications for all Farama Foundation maintained libraries

This package allows for providing notifications on import to all Farama Packages.
Actually this is a dependency of python package gymnasium and stable-baselines3,
which are important libraries for deep reinforcement learning and I use them daily.
Deep reinforcement learning is an important tech powered many important things
like AlphaGo, AlphaFold.

Gaming agents in video games like Dota 2 are usually
powered by deep reinforcement too.

As far as I know, libraries linked with machine learning is still rare in debian
repo, thus I want to package them to debian.

I will maintain this package by myself in the future.
By the way, I intend to join python team later, I may maitain this package with
other members from python team then.

And I need sponsor if you can help. Thank you.

#1079769#12
Date:
2024-10-21 18:58:07 UTC
From:
To:
[Dong Xu]

Why must this be a separate debian package?  As far as I can tell, the
entire source code installed by this package look like this in
farama_notifications/__init__.py:

  notifications = dict()

Is there no other way to handle notifications across packages without
this oneliner?

#1079769#17
Date:
2024-10-22 11:06:42 UTC
From:
To:
I raised the question upstream in
<URL: https://github.com/Farama-Foundation/Farama-Notifications/issues/7 >.

#1079769#22
Date:
2024-10-22 11:17:13 UTC
From:
To:
Hello, Petter Reinholdtsen!

I once reply to FTP Master to describe what is the importance of this
package, sorry that I forget to reply it publicly.

The purporse of this package is that, if a user tries to import an out-
dated version of gymnasium, the farama-notifications or gymnasium-
notices will throw an error notification. It have
a list of out-dated version, if it find the version is out-dated, it
will notify the user.

And, Farama Foundations may want to extend its functions over all of
the packages they maintained, thus they make this package seperate.

In other words, it will be needed for other packages by Farama
Foundation.

This package (python-farama-notifications) is a necessary dependency of
upcoming package python-gymnasium, while python-gymnasium is the
dependency of python-stable-baselines3.

There is a change for gymnasium in to use farama-notifications instead
of gymnasium-notices:

https://github.com/Farama-Foundation/Gymnasium/pull/332/files

The magic is in this file:

https://github.com/Farama-Foundation/Gymnasium/blob/main/gymnasium/__init__.py

If user tries to import an out-dated version of gymnasium, the farama-
notifications or gymnasium-notices will throw an error notification.

https://github.com/Farama-Foundation/gymnasium-notices/

Thus, farama-notifications is a successor of gymnasium-notices. It have
a list of out-dated version, if it find the version is out-dated, it
will notify the user.

The old gymnasium-notices has detailed information for its function:

https://pypi.org/project/gymnasium-notices/

I have something else about python-gymnasium and python-stable-
baselines3 to say anyway.
First of all, I am familiar with them and I use them daily.

python-gymnasium and python-stable-baselines3 are important libraries
for deep reinforcement learning. Deep reinforcement learning is an
important tech poweres many important things like AlphaGo, AlphaFold,
and ChatGPT.

Gaming agents in video games like Dota 2 are usually
powered by deep reinforcement too.

ChatGPT is powered by an immportant technique called RLHF:
Reinforcement Learning From Human Feedback. That is the reinforcement
learning I mentioned before.

As far as I know, libraries linked with machine learning is still rare
in debian repo, thus I want to package them to debian.

#1079769#27
Date:
2024-10-22 11:40:27 UTC
From:
To:
[EiPiFun]

Which other approaches, not involving a single line python depenedency,
have been tried?

I probably missed something, but could only see an explanation to how
the package is used and who its dependencies are, but not why you
believe this single line package is the correct approach.  The latter is
what have me wondering what is going on here.

#1079769#32
Date:
2024-10-23 14:07:58 UTC
From:
To:
Hello Petter Reinholdtsen!

Oh yes, I understand.

They may find a better way to do that.

Regards,
EiPi Fun/Dong Xu