En installant via pip (3.7), je n’ai pas tout, il manque les dossiers api, documents, grammars, key. C’est un que chez moi ou c’est le paquet qui a un problème ?
La grande nouveauté est le support de WS2P !
Vous allez pouvoir vous connecter à un serveur Duniter en WS2P comme ci vous étiez un véritable nœud Duniter ! De quoi faire des automates en Python basés sur les événements WS2P…
Attention : la connexion par websocket a changée ! Reportez-vous aux exemples du dossier examples pour voir comment on se connecte en BMA et en WS2P en websocket.
Ou modifiez votre fichier requirements.txt pour pip:
duniterpy==0.57.*
Nouveautés
Authentification à partir d’un fichier Scuttlebutt .ssb/secret
Authentification à partir d’un fichier d’identifiants
Nouvelle commande BMA : client(bma.wot.requirements_of_pending, minsig)
La classe HeadV2 hérite maintenant des classes précédentes (contient les propriétés de toutes les versions précédentes Head, HeadV0, HeadV1). Attention, cela brise la compatibilité avec l’ancienne classe !
Correctifs
Correctif bug sur le champ software_version des messages WS2Pv1 pas accepté si un mot clé suivait la version (1.7.21-beta est maintenant accepté)
Correctif bug de bma.blockhain.revoked qui appellait l’url /blockchain/with/excluded
La raison a été discutée entre le développeur de Sakia qui avait un besoin et le développeur de Duniterpy qui lui a demandé la même chose. Les deux personnes étant les mêmes, une synergie s’est naturellement créée.
Il s’agit de la dernière version majeur avec le support de Python v3.5.
Pas de bénéfice direct pour l’utilisateur final. Contient principalement des améliorations sur l’environnement de développement, la CI/CD, des mises à jour de dépendances, l’amélioration des examples.
Announcement (en)
Last major release with Python 3.5 support
No profit for the end-user. Contains mostly DevEnv, CI/CD, dependencies updates, examples improvements.
Moi je continue mon micro-client GVA tout en apprenant python, je me demandais justement si je devais passer des choses en async en comparant avec duniterpy, puis j’ai vue ton dernier post à ce sujet ^^
Je vais continuer mes tests isolés mais si je suis satisfait de ce que j’ai fait et que ce n’est toujours pas le cas d’ici là, je veux bien tenter d’intégrer ça dans duniterpy sur une nouvelle branche, maintenant que la mécanique est simplifié.
Faudrait que je compare avec ce qui a été fait en BMA pour bien cerner comment ça doit être intégré.
Sinon je continue mon truc dans mon coin, ça me dérange pas ça m’occupe ^^
Pour info, la version sans asyncio 1.0.0a (qui va peut-être changer de numéro et arriver plus tôt) supporte aussi GVA et GVASUB.
La différence entre asyncio et thread mérite une formation en visio tellement c’est important à connaître pour ne pas recopier bêtement des tutos en pensant que c’est asynchrone alors que pas du tout. Dans DuniterPy, un seul exemple est asynchrone malgré le fait que tous les exemples doivent utiliser la syntaxe asyncio pour se servir de DuniterPy…
GVASUB est implémenté en aveugle et non testé réellement. L’avantage d’utiliser DuniterPy est la possibilité de charger le schéma complet de l’api depuis le serveur, également de valider la syntaxe de la requête graphQL, et enfin de valider la requête par rapport au schéma. Ce qui est très difficile sans une bibliothèque cliente graphQL.
Ton travail sera précieux si on fait avec GVA comme avec BMA, une couche d’abstraction qui évite d’apprendre l’api. Il permettra d’avoir le format des requêtes graphQL.