Pages : 1
#1 Le 26/04/2022, à 06:00
- thib1984
pydiceroller, jet de dés
J'ai réalisé une implémentation d'un programme de jets de dés.
Vous avez plusieurs options de lancement à votre disposition, mais l'idée est principalement de pouvoir lancer un ou plusieurs dés de votre choix
Installation version courte :
pip3 install pydiceroller
pydiceroller --help
Exemple de lancement :
thib1984@DESKTOP-BRCQS31:~$ pydiceroller 1d6 #un seul param
0x0001F3B2 6 : 5
thib1984@DESKTOP-BRCQS31:~$ pydiceroller 2d6 1d20 d10 12 #plusieurs params
d6 : 1
d6 : 2
d20 : 17
d10 : 5
d12 : 9
thib1984@DESKTOP-BRCQS31:~$ pydiceroller s2d6 #somme de lancers
2d6 : 9
thib1984@DESKTOP-BRCQS31:~$ pydiceroller 3s2d6 #plusieurs sommes de lancers
2d6 : 7
2d6 : 7
2d6 : 11
thib1984@DESKTOP-BRCQS31:~$ pydiceroller -s 3s2d6 #mode réduit (pour piper avec d'autres commandes)
4
5
2
thib1984@DESKTOP-BRCQS31:~$ pydiceroller -i 2d6 #mode boucle
d6 : 3
d6 : 5
press any key to relaunch dices, ctrl-c to exit
d6 : 6
d6 : 2
press any key to relaunch dices, ctrl-c to exit
d6 : 4
d6 : 4
press any key to relaunch dices, ctrl-c to exit
Documentation ici : https://github.com/thib1984/pydiceroller
Vous pouvez aussi regarder les autres "programmes" disponibles ici : https://github.com/thib1984
*Normalement c'est un émoji dé qui apparaitra dans votre terminal dans la partie résultat
Hors ligne
#2 Le 26/04/2022, à 07:27
- Vobul
Re : pydiceroller, jet de dés
Pour quelle raison t'as ajouté "os.sys.stdin.reconfigure(encoding='utf-8')" ? Quand le terminal utilisé n'est pas utf-8 ? Ça existe encore ça ?
Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM
Hors ligne
#3 Le 26/04/2022, à 09:20
- thib1984
Re : pydiceroller, jet de dés
J'ai eu le souci sur une machine windows dans les github actions.
Ca fait plaisir de voir des gens qui vont lire le code!
Hors ligne
#4 Le 26/04/2022, à 12:38
- Vobul
Re : pydiceroller, jet de dés
Ah oui Windows....
Tu devrais ajouter le `--user` flag à ta fonction d'update avec pip.
Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM
Hors ligne
#5 Le 26/04/2022, à 21:55
- moths-art
Re : pydiceroller, jet de dés
Tu devrais faire un truc en gtk... ça serait sans doute plus utile.
Attention : ton fichier changelog n'existe pas (le readme renvoi vers une 404)
Site : https://mothsart.github.io Dépôts Git : https://github.com/mothsart PPAs : https://launchpad.net/~jerem-ferry
Hors ligne
#6 Le 28/04/2022, à 05:59
- thib1984
Re : pydiceroller, jet de dés
Ah oui Windows....
Tu devrais ajouter le `--user` flag à ta fonction d'update avec pip.
Je m'étais posé la question lors de la création de mon premier programme python (je dois en avoir une dizaine sur mon compte github). J'étais parti sur l'idée d'une installation globale par défaut. SI l'utilisateur préfère une application "user", libre à lui de faire des upgrades manuels. A moins que tu ne saches comment vérifier si un programme est installé en mode --user ou en mode global? Dans ce cas, je pourrais peut-être chercher à rendre le système plus intelligent!
Hors ligne
#7 Le 28/04/2022, à 06:01
- thib1984
Re : pydiceroller, jet de dés
Tu devrais faire un truc en gtk... ça serait sans doute plus utile.
Attention : ton fichier changelog n'existe pas (le readme renvoi vers une 404)
Pour le changelog, je vais corriger ca! %erci!
Pour le gtk, je comprends la frustration, mais je t'avoue que c'est un de mes axes de développement pour ces petits programmes python (j'en ai d'autres sur mon compte github) : tout est en terminal et reste dans le terminal. Tu es loin d'être le premier à me le remonter cela dit... Peut-être qu'un jour, je remettrai en cause ce "pilier".
Hors ligne
#8 Le 28/04/2022, à 07:20
- Vobul
Re : pydiceroller, jet de dés
De mon point de vue :
1. Tu ne devrais même pas avoir cette fonction d'update dans le programme, car cela ne concerne pas le programme en soit
2. Tous les paquets devraient être installés par l'utilisateur (donc avec --user), jamais en root (à part les deux trois critiques pour le système), voir https://dev.to/elabftw/stop-using-sudo-pip-install-52mn
3. Un environnement virtuel devrait être utilisé (voir poetry ou pipenv)
4. Et parce que j'aime Docker : un container docker devrait être utilisé
Bon après là c'est une toute petite app sans dépendences donc on s'en fout un peu de ce que je viens de dire, mais pour un truc plus conséquent, avoir une image docker qui vient avec l'interpréteur dans sa bonne version (ça évite pyenv) + toutes les dépendences, et qui ne pollue en rien ton système, c'est tout bon !
Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM
Hors ligne
#9 Le 28/04/2022, à 09:26
- Compte supprimé
Re : pydiceroller, jet de dés
Bonjour à tous.
mais pour un truc plus conséquent, avoir une image docker qui vient avec l'interpréteur dans sa bonne version (ça évite pyenv) + toutes les dépendences, et qui ne pollue en rien ton système, c'est tout bon !
Tu pourrais en dire plus sur l'utilisation d'une image docker? Je n'en ai jamais utilisée... (que des environnements virtuels)
#10 Le 28/04/2022, à 15:03
- Vobul
Re : pydiceroller, jet de dés
C'est pas vraiment le lieu pour faire un cours sur la dockerisation d'un programme python mais en gros tu définis dans un fichier (Dockerfile) le python que tu veux, tu lui installes ses dépendences (via requirements.txt), tu y ajoutes ton code, et tu ship une image qui contient tout ce qu'il faut et où t'es certain à 100% que ça va fonctionner partout où Docker fonctionne.
Un exemple concret et simple : https://gitlab.com/coroner/cryptolyzer/ … Dockerfile
FROM python:3.8-slim
LABEL maintainer Szilárd Pfeiffer "coroner@pfeifferszilard.hu"
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
ADD . /usr/src/cryptolyzer
RUN pip3 install --no-cache-dir /usr/src/cryptolyzer \
&& pip3 install --no-cache-dir --force-reinstall /usr/src/cryptolyzer/submodules/cryptoparser
USER nobody
ENTRYPOINT ["cryptolyze"]
CMD ["--help"]
(à noter que je vois des choses à améliorer dans ce Dockerfile mais bon c'est juste une illustration de ce qu'on peut faire)
Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM
Hors ligne
#11 Le 01/05/2022, à 09:00
- Compte supprimé
Re : pydiceroller, jet de dés
Merci
Pages : 1