Sto cercando di dare valore a un certo pacchetto e libreria costruendo alcune statistiche di utilizzo. Questo pacchetto è scritto in python e invocato / importato dagli utenti su macchine / cluster remoti
Quello che stiamo cercando di fare è impostare un certo meccanismo di tracciamento che registrerà o registrerà ogni volta che qualcuno importa il pacchetto e idealmente per quanto tempo lo ha usato.
Posso pensare ad un normale logger che registrerà al momento dell'importazione del pacchetto e registrerà quando il processo si chiude / muore / esce usando la funzione atexit.
# let's import the package here
import package
# at this stage the package automaticaly logs something like the following in a certain file
# os.getpid() | getpass.getuser() | os.uname() | importing package time.time()
# when the process or session is closed. ataxit will execute the same function that will log the following
# os.getpid() | getpass.getuser() | os.uname() | ataxit process time.time()
In questo modo questo file di registro può essere analizzato in seguito per informazioni sull'utilizzo del pacchetto.
Ora, mi chiedo se c'è un'altra soluzione più elegante o standard per fare tutto questo.