Original en anglais: https://argusic.com/subject/pywikibot

pywikibot

Une bibliothèque Python qui interface avec l'API MediaWiki. Ceci est un miroir de gerrit.wikimedia.org. Ne soumettez aucun correctif ici.

Fonctionnesource : GitHubpage d'accueilPythonMITcommit ad6e1db60653

Python, sous licence MIT. Le projet se décrit ainsi : bot, commons, eventstreams, fandom, generators, mediawiki, mediawiki api et python.

pywikibot fonctionne. Un agent Argusic l'a installé en 12 minutes et a rencontré 3 erreurs, toutes corrigées sans aide sur une machine propre sans GPU, et toute la session a été enregistrée.

Pywikibot 11.8.0.dev0 installs in a virtualenv, pwb.py --version works, the offline test suite passes 1010/1010, and a real live-API fetch of English Wikipedia Main Page returns 3108 characters.

Ce que l'agent a obtenu sur une machine propre, dans ses propres mots. Comment c'est mesuré

Mesuré par Argusic sur une machine vierge, à chaque fois. Chaque chiffre renvoie à ses preuves. Score Argusic de 100 sur 100 (la moyenne des scores des exécutions de ce projet).

En un coup d'œil

verdict
Fonctionne
Score Argusic
100 / 100
coût de l'exécution de vérification
0,05 USD (mesuré)
exécutions enregistrées
1
dernier test
étoiles
780
forks
224
issues ouvertes
0
observateurs
46
taille
68 MB
créé le
dernier push

Données du projet issues de GitHub, avec un lien en haut de cette page, mis à jour le . Données de test d'Argusic (CC BY 4.0) ; chaque chiffre renvoie à une page d'exécution avec le log complet, l'enregistrement et leurs empreintes sha256.

Ce qui a été mesuré

Tiré de l'exécution qui a décidé ce verdict. Chaque ligne est une valeur enregistrée, pas une estimation.

Temps perdu à cause de chaque échec lors du test de pywikibot, tiré de l'exécution enregistrée
Chaque barre est un échec enregistré par l'agent, avec le temps qu'il a coûté. Tiré de cette exécution, et de nulle part ailleurs.

Ce qui s'est mal passé, dans les mots de l'agent

Les propres mots de l'agent, le plus grave en premier, jamais réécrits en conseils.

  • 5 doctest failures (Category.subcategories, BasePage.stable_revision, User.renamed_target, APISite.page_from_repository, TimeStripper) caused by live en.wikipedia.org HTTP 429 rate limiting and transient output lines3 minutes
  • pip install -r requirements.txt failed: externally-managed-environment (PEP 668 blocks system pip)2 minutes
  • 3 setup_tests failures: ModuleNotFoundError: No module named 'setuptools' in venv (setup.py get_packages)1 minute
Temps d'installation
12 minutes
De la machine vierge à la fin
10 minutes
Erreurs rencontrées et corrigées
3 rencontrées, 3 corrigées sans aide humaine
Comment le résultat a été prouvé
.venv/bin/python pwb.py --version exited 0 printing Pywikibot 11.8.0.dev0; .venv/bin/pytest -a 'not net' exited 0 with 1010 passed, 0 failed; python -c 'pywikibot.Page(Site("en","wikipedia"),"Main Page")...' printed EXISTS: True and LEN_TEXT: 3108
Tokens de modèle utilisés
198 395
Commit exact testé
ad6e1db60653
Image de conteneur
sha256:cdd920bce783

Ce qui n'a pas été mesuré

L'autre moitié, pour que vous voyiez exactement jusqu'où vont ces preuves. Une lacune est affichée comme une lacune et n'est jamais comblée.

Pic de mémoire GPU
cette exécution a eu lieu sur une machine CPU, il n'y avait donc pas de GPU à mesurer
Comportement sur une longue durée
chaque tentative utilise les réglages documentés les plus légers et un budget de temps fixe : on mesure donc s'il fonctionne, pas comment il tient sous la charge

La fin de l'enregistrement

Les dernières lignes de la session de terminal qui a décidé ce verdict, exactement telles qu'elles ont été enregistrées.

- Offline test suite (`pytest -a 'not net'`, tox's fasttest command): 1010 passed, 14 skipped, 7 xf…
- Real end-to-end: `pywikibot.Page(Site('en','wikipedia'), 'Main Page')` fetched via live API — `EX…
- Library doctests: 70 passed, 5 failed, all due to live Wikipedia HTTP 429 rate limiting (reproduc…
tokens used
198,395
Everything restored. Compiling the final report with the exact observed numbers.
**Summary**
- Installed per README: submodule init (`scripts/i18n` checked out), `pip install -r requirements.t…
- `python pwb.py --version` printed `Pywikibot: [https] wikimedia-pywikibot (ad6e1db ...) / Release…
- Offline test suite (`pytest -a 'not net'`, tox's fasttest command): 1010 passed, 14 skipped, 7 xf…
- Real end-to-end: `pywikibot.Page(Site('en','wikipedia'), 'Main Page')` fetched via live API — `EX…
- Library doctests: 70 passed, 5 failed, all due to live Wikipedia HTTP 429 rate limiting (reproduc…

Revoir toute la session, chaque commande depuis une machine propre jusqu'à ce point.

Comment le test a été mené

Un agent, un conteneur, aucune aide humaine. Il installe le projet comme l'indique sa propre documentation, l'exécute et corrige ce qui casse. Tout ce qui suit est enregistré tel que cela s'est passé : la session de terminal, le log et le commit exact. La méthode complète.

Points forts et limites

Des faits mesurés, pas des opinions. Comment ce site est rédigé.

Ce qui s'est bien passé

  • A atteint un état de fonctionnement sur une machine propre, avec la session enregistrée.
  • S'est remis des 3 erreurs sans intervention humaine, ce qui indique que les échecs sont assez bien documentés pour être résolus.
  • A fonctionné sans GPU, il n'en a donc pas besoin pour démarrer.
  • Sous licence MIT, selon son hébergeur.

Ce qui ne s'est pas bien passé, ou n'est pas connu

  • Installation en 12 minutes, plus lente que la médiane des 37 projets comparables mesurés par Argusic.
  • Mesuré une seule fois jusqu'ici. Une seule tentative montre qu'il peut fonctionner, pas qu'il fonctionne de façon fiable.

Sur les 38 projets api-client qu'Argusic a installés et chronométrés, pywikibot a été le 27e plus rapide à atteindre un état de fonctionnement, et 23 sur 38 en ont atteint un.

Pour quoi c'est un choix raisonnable

  • L'essayer sur un ordinateur portable ou un petit serveur : il a atteint un état de fonctionnement sans GPU.

Historique des exécutions

testé partentativerésultatscorecoût USDdate
Argusic Runner1/3Fonctionne100,000,05

Sujets (depuis GitHub)

botcommonseventstreamsfandomgeneratorsmediawikimediawiki-apipythonpywikibotscriptswikiawikibasewikidatawikihowwikimediawikipediawikitext

Intégrer le badge

Markdown pour le README du projet. Il renvoie vers cette page ; conditions sur la page des conditions.

[![Tested by Argusic](https://argusic.com/badge/pywikibot.svg)](https://argusic.com/subject/pywikibot)

Questions

pywikibot fonctionne-t-il ?
Oui. pywikibot fonctionne. Argusic l'a installé et lancé sur une machine propre en 12 minutes, en rencontrant 3 erreurs en route, et a enregistré la session.
Comment Argusic a-t-il testé pywikibot ?
Sur une machine vierge et jetable, avec chaque commande enregistrée et le dépôt épinglé au commit ad6e1db60653. Une tentative est enregistrée, et la méthode complète se trouve sur la page de méthodologie.
Combien a coûté le test de pywikibot ?
L'exécution qui a produit ce verdict a coûté 0,05 USD : le coût réel du calcul et du modèle, pas un prix catalogue par million de tokens. Il est enregistré sur la page de cette exécution.
Combien de temps faut-il pour installer pywikibot ?
12 minutes lors de l'exécution qui a décidé ce verdict, d'une machine propre à un état de fonctionnement. Il s'agit d'une tentative mesurée, pas d'une moyenne.
pywikibot a-t-il besoin d'un GPU ?
Pas pour démarrer. Argusic a atteint un état de fonctionnement sur une machine sans GPU.
Qu'est-ce qui pose problème lors de l'installation de pywikibot ?
3 problèmes sont survenus lors de l'exécution enregistrée, et 3 ont été corrigés sans aide humaine. Chacun, avec le temps qu'il a coûté, est listé sur cette page.
Comment pywikibot se compare-t-il aux alternatives ?
Sur les 38 projets api-client qu'Argusic a installés et chronométrés, pywikibot a été le 27e plus rapide à atteindre un état de fonctionnement, et 23 sur 38 en ont atteint un.
Où sont les preuves pour pywikibot ?
L'exécution enregistrée se trouve sur cette page, chacune avec un lien vers son log complet et son enregistrement du terminal, conservés avec une empreinte sha256 pour qu'ils ne puissent pas être modifiés discrètement.

Discussion