Generare applicazioni CLI automaticamente in Python con Fire
Detta così vuol dire poco, ma in effetti Python Fire fa proprio questo: genera applicazioni da riga di comando in maniera automatica.
Per certi versi assomiglia ad una parse della riga di comando, ma non è proprio quello.
Diciamo che per capire bene cos'è bisogna testarlo, e quindi eccoci qui.
Prima di tutto installiamo la libreria, che tra le altre cose è stata scritta da Google:
# pip install fire
Detto ciò ecco un codice di esempio:
import fire
class Calculator(object):
def double(self, number):
return 2 * number
def add(selfself, number1, number2):
return number1 + number2
if __name__ == '__main__':
fire.Fire(Calculator)
Qui sotto qualche esempio di comando e di output:
$ python3 main.py add 10
Fire trace:
1. Initial component
2. Instantiated class "Calculator" (main.py:3)
3. Accessed property "add" (main.py:8)
4. ('The function received no value for the required argument:', 'number2')
Type: method
String form: >
File: main.py
Line: 8
Usage: main.py add NUMBER1 NUMBER2
main.py add --number1 NUMBER1 --number2 NUMBER2
$ python3 main.py add 10 5
15
$ python3 main.py double
Fire trace:
1. Initial component
2. Instantiated class "Calculator" (main.py:3)
3. Accessed property "double" (main.py:5)
4. ('The function received no value for the required argument:', 'number')
Type: method
String form: >
File: main.py
Line: 5
Usage: main.py double NUMBER
main.py double --number NUMBER
$ python3 main.py double 30
60
Come potete vedere, con pochissimo codice abbiamo ottenuto un'applicazione CLI funzionante.
Con tanto di "istruzioni" nel caso in cui passiamo argomenti sbagliati, ecc.
Enjoy!
python fire google
Commentami!