CINXE.COM
pywikibot download | SourceForge.net
<!doctype html> <!-- Server: sfs-consume-8 --> <html class="no-js" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> <script src="//a.fsdn.com/con/js/min/sf.sandiego-cmp-top.js?1732638179"></script> <script type = "text/javascript"> bizx.cmp.ifConsent({ purposes: 'all', vendors: 'blockthrough'}, function () { var bt = 'https://btloader.com/tag?o=5098683085881344&upapi=true'; bizx.cmp.embedScript(bt, true); window.addEventListener('AcceptableAdsInit', function (e) { if(e.detail) { console.log('acceptable ads on'); SF.Ads.acceptable_ads_active = true; } else { console.log('acceptable ads off'); SF.Ads.acceptable_ads_active = false; } }); }); </script> <script> bizx.cmp.ifConsent({ purposes: 'ads', vendors: 'adshield'}, function () { var s = document.createElement('script'); s.async = true; s.id = "vnpQPlLH"; s.setAttribute('data-sdk', 'l/1.1.1'); s.setAttribute('data-cfasync', 'false'); s.src = "https://html-load.com/loader.min.js"; s.charset = "UTF-8"; s.data="irrron6o4fhugojo4o2o4hch8hto8jhe2h4h8oso7o4ojfogh8h4oj5h4h4fo7o4hefogovh4oso7o4fh4oifuhyojojo7o4he52h4ocoso7o4huhk3sfo2hkh8huo8jo7o4qhcuh8hto8jqo4kh9";s.setAttribute('onload', "!async function(){let e='html-load.com';const t=window,r=e=>new Promise((t=>setTimeout(t,e))),o=r=>{const o=navigator.language.toLowerCase().startsWith('ko')?decodeURIComponent(escape(atob('7J6Y66q765CcIOyVoOuTnOu4lOuhnSDtlYTthLDroZwg7Ju57Y6Y7J207KeAIOuhnOuUqeyXkCDsi6TtjKjtlZjsmIDsirXri4jri6QuIOyVoOuTnOu4lOuhneydhCDruYTtmZzshLHtmZTtlZwg7ZuEIOybueyCrOydtO2KuOulvCDsnbTsmqntlbTso7zshLjsmpQuICjsnpDshLjtlZwg64K07Jqp7J2AICftmZXsnbgnIOuyhO2KvOydhCDriIzrn6wg7ZmV7J247ZW07KO87IS47JqUKQ'))):atob('VGhpcyBwYWdlIGNvdWxkIG5vdCBiZSBsb2FkZWQgcHJvcGVybHkgZHVlIHRvIGluY29ycmVjdCAvIGJhZCBmaWx0ZXJpbmcgcnVsZShzKSBvZiBhZGJsb2NrZXJzIGluIHVzZS4gUGxlYXNlIGRpc2FibGUgYWxsIGFkYmxvY2tlcnMgdG8gY29udGludWUgdXNpbmcgdGhlIHdlYnNpdGUuIChjbGljayBPSyBpZiB5b3UnZCBsaWtlIHRvIGxlYXJuIG1vcmUp');if(confirm(o)){const o=new t.URL('https://report.error-report.com/modal');o.searchParams.set('url',btoa(location.href)),o.searchParams.set('error',btoa(r.toString())),o.searchParams.set('domain',e),location.href=o.href}else location.reload()};try{const s=()=>new Promise((e=>{let t=Math.random().toString(),r=Math.random().toString();window.addEventListener('message',(e=>e.data===t&&window.postMessage(r,'*'))),window.addEventListener('message',(t=>t.data===r&&e())),window.postMessage(t,'*')}));async function a(){try{let e=!1,t=Math.random().toString();if(window.addEventListener('message',(r=>{r.data===t+'_as_res'&&(e=!0)})),window.postMessage(t+'_as_req','*'),await s(),await r(500),e)return!0}catch(e){console.error(e)}return!1}const n=[100,500,1e3];for(let i=0;i<=n.length&&!await a();i++){if(i===n.length-1)throw atob('RmFpbGVkIHRvIGxvYWQgd2Vic2l0ZSBwcm9wZXJseSBzaW5jZSA')+e+atob('IGlzIHRhaW50ZWQuIFBsZWFzZSBhbGxvdyA')+e;await r(n[i])}}catch(l){console.error(l);try{setInterval((()=>document.querySelectorAll('link,style').forEach((e=>e.remove()))),100),alert(l);const c=await(await fetch('https://error-report.com/report?type=loader_light&url='+btoa(location.href)+'&error='+btoa(l),{method:'POST'})).text();let d=document.createElement('iframe');const m=new t.URL('https://report.error-report.com/modal');m.searchParams.set('url',btoa(location.href)),m.searchParams.set('eventId',c),m.searchParams.set('error',btoa(l)),m.searchParams.set('domain',e),d.src=m.href,d.setAttribute('style','width: 100vw; height: 100vh; z-index: 2147483647; position: fixed; left: 0; top: 0;');const h=e=>{'close-error-report'===e.data&&(d.remove(),window.removeEventListener('message',h))};window.addEventListener('message',h),document.body.appendChild(d);const u=()=>'none'!==t.getComputedStyle(d).display,w=setInterval((()=>{document.contains(d)||clearInterval(w),u()||(o(l),clearInterval(w))}),1e3)}catch(g){o(g)}}}();"); s.setAttribute('onerror', "(function(){let e=document.getElementById('vnpQPlLH'),t=document.createElement('script');for(let r=0;r<e.attributes.length;r++)t.setAttribute(e.attributes[r].name,e.attributes[r].value);let s=new window.URL(e.src),a=['html-load.com','fb.html-load.com','content-loader.com','fb.content-loader.com'];if(void 0===window.as_retry&&(window.as_retry=0),window.as_retry>=a.length){setInterval(()=>document.querySelectorAll('link,style').forEach((e)=>e.remove()),100);let o=atob('RmFpbGVkIHRvIGxvYWQgd2Vic2l0ZSBwcm9wZXJseSBzaW5jZSA')+a[0]+atob('IGlzIGJsb2NrZWQuIFBsZWFzZSBhbGxvdyA')+a[0];throw alert(o),fetch('https://error-report.com/report?type=loader_light&url='+btoa(location.href)+'&error='+btoa(o),{method:'POST'}).then(e=>e.text()).then(e=>{let r=document.createElement('iframe');r.src='https://report.error-report.com/modal?url='+btoa(location.href)+'&eventId='+e+'&error='+btoa(o)+'&domain='+a[0],r.setAttribute('style','width: 100vw; height: 100vh; z-index: 2147483647; position: fixed; left: 0; top: 0;'),document.body.appendChild(r);let f=e=>{'close-error-report'===e.data&&(r.remove(),window.removeEventListener('message',f))};window.addEventListener('message',f)}).catch(o=>{let l=navigator.language.toLowerCase().startsWith('ko')?decodeURIComponent(escape(atob('7J6Y66q765CcIOyVoOuTnOu4lOuhnSDtlYTthLDroZwg7Ju57Y6Y7J207KeAIOuhnOuUqeyXkCDsi6TtjKjtlZjsmIDsirXri4jri6QuIOyVoOuTnOu4lOuhneydhCDruYTtmZzshLHtmZTtlZwg7ZuEIOybueyCrOydtO2KuOulvCDsnbTsmqntlbTso7zshLjsmpQuICjsnpDshLjtlZwg64K07Jqp7J2AICftmZXsnbgnIOuyhO2KvOydhCDriIzrn6wg7ZmV7J247ZW07KO87IS47JqUKQ'))):atob('VGhpcyBwYWdlIGNvdWxkIG5vdCBiZSBsb2FkZWQgcHJvcGVybHkgZHVlIHRvIGluY29ycmVjdCAvIGJhZCBmaWx0ZXJpbmcgcnVsZShzKSBvZiBhZGJsb2NrZXJzIGluIHVzZS4gUGxlYXNlIGRpc2FibGUgYWxsIGFkYmxvY2tlcnMgdG8gY29udGludWUgdXNpbmcgdGhlIHdlYnNpdGUuIChjbGljayBPSyBpZiB5b3UnZCBsaWtlIHRvIGxlYXJuIG1vcmUp');confirm(l)?location.href='https://report.error-report.com/modal?url='+btoa(location.href)+'&eventId=&error='+btoa(o.toString())+'&domain='+a[0]:location.reload()}),Error(o)}s.host=a[window.as_retry++],t.setAttribute('src',s.href),e.setAttribute('id', e.getAttribute('id')+'_'),e.parentNode.insertBefore(t,e),e.remove();})()"); document.head.appendChild(s); }); </script> <script> /*global unescape, window, SF*/ // Setup our namespace if (!window.SF) { window.SF = {}; } if (!window.net) { window.net = {}; } if (!window.net.sf) { window.net.sf = {}; } SF.Ads = {}; SF.cdn = '//a.fsdn.com/con'; SF.deploy_time = '1732638179'; SF.sandiego = true; SF.sandiego_chrome = true; SF.variant = 'sf'; SF.fpid = '69eed083-b9d1-4a8c-80cd-7d2d1f558f98'; SF.billboard_route = '/software/product/$slug/'; SF.Breakpoints = { small: 0, medium: 640, leaderboard: 743, billboard: 985, large: 1053, xlarge: 1295, xxlarge: 1366 }; SF.initial_breakpoints_visible = {}; for (var bp in SF.Breakpoints) { if (!SF.Breakpoints.hasOwnProperty(bp)) { continue; } SF.initial_breakpoints_visible[bp] = !window.matchMedia || window.matchMedia('(min-width: ' + SF.Breakpoints[bp] + 'px)').matches; } SF.Ads.viewportWidth = Math.max(document.documentElement.clientWidth, window.innerWidth || 0); SF.Ads.viewportHeight = Math.max(document.documentElement.clientHeight, window.innerHeight || 0); </script> <link rel="stylesheet" href="//a.fsdn.com/con/css/lato.css?1732638179"> <link rel="stylesheet" href="//a.fsdn.com/con/css/sandiego.css?1732638179"> <link rel="stylesheet" href="//a.fsdn.com/con/css/disallow.css?1732638179"> <meta name="description" content="Download pywikibot for free. Python MediaWiki Bot Framework. A Python library and collection of tools that automate work on MediaWiki sites. Originally designed for Wikipedia, it is now used throughout the Wikimedia Foundation's projects and on many other MediaWiki wikis including wikidata service."/> <meta name="keywords" content="pywikibot, download pywikibot free, Frameworks, Wiki, Bot Frameworks"/> <meta property="og:title" content="pywikibot"/> <meta property="og:type" content="product"/> <meta property="og:image" content="https://a.fsdn.com/allura/p/pywikipediabot/icon?1665000484"/> <meta property="og:url" content="https://sourceforge.net/projects/pywikipediabot/"/> <meta property="og:site_name" content="SourceForge"/> <meta property="og:description" content="Download pywikibot for free. Python MediaWiki Bot Framework. A Python library and collection of tools that automate work on MediaWiki sites. Originally designed for Wikipedia, it is now used throughout the Wikimedia Foundation's projects and on many other MediaWiki wikis including wikidata service."/> <title>pywikibot download | SourceForge.net</title> <link rel="icon" sizes="180x180" href="//a.fsdn.com/con/img/sandiego/logo-180x180.png" type="image/png"> <link rel="icon" sizes="any" href="//a.fsdn.com/con/img/sandiego/svg/originals/sf-icon-orange-no_sf.svg" type="image/svg+xml"> <link rel="apple-touch-icon" sizes="180x180" href="//a.fsdn.com/con/img/sandiego/logo-180x180.png"> <link rel="mask-icon" href="//a.fsdn.com/con/img/sandiego/svg/originals/sf-icon-orange-no_sf.svg" color="#FF6600"> <script> /*global unescape, window, console, jQuery, $, net, SF, DD_belatedPNG, bizx */ if (!window.SF) { window.SF = {}; }SF.EU_country_codes = ["CY","TC","YT","WF","BG","CH","EE","ES","CZ","PL","BL","SX","IS","IO","AX","TF","SE","GS","GI","GG","FI","NL","PN","RO","VG","DE","LT","MQ","SI","KY","GR","CW","SH","GP","PM","JE","NO","IE","AT","FK","AW","IT","GB","HU","MT","MS","SK","DK","GL","PF","HR","PT","NC","BM","ME","RE","AI","LV","LI","BE","FR","GF","MF","LU"]; SF.unknown_country_codes = ["","A1","A2","O1"]; </script> <script src="//a.fsdn.com/con/js/min/sf.sandiego-head.js?1732638179"></script> <style>.Ob1a4354ba66c25d6501076e7f473f26c3948a739 { display: none !important; }</style> <link rel="alternate" type="application/rss+xml" title="pywikibot…Recent Activity" href="/p/pywikipediabot/activity/feed"/> <link rel="alternate" type="application/rss+xml" title="pywikibot…File Releases" href="/projects/pywikipediabot/rss?path=/"/> <link rel="canonical" href="https://sourceforge.net/projects/pywikipediabot/"> <script>SF.adblock = true;</script> <script src="//a.fsdn.com/con/js/adpopup.js?1732638179"></script> <script> bizx.cmp.ifConsent({ purposes: 'all', vendors: 'google-ads'}, function () { bizx.cmp.embedScript('https://securepubads.g.doubleclick.net/tag/js/gpt.js'); }); </script><script> /*global Foundation */ var googletag = window.googletag || {}; googletag.cmd = googletag.cmd || []; SF.Ads.usePrebid = false; var gptadslots=[]; var gptadHandlers={}; var gptadRenderers=[]; SF.Ads.slotsById = {}; SF.Ads.idsByPath = {}; googletag.cmd.push(function() { var leaderboard = googletag.sizeMapping() .addSize([970, 901], [[728,90]]) .addSize([728, 200], [[728,90]]) .build(); var leaderboardInContent = googletag.sizeMapping() .addSize([1280, 200], [[728,90]]) .addSize([728, 200], [[728,90]]) .build(); googletag.pubads() .setForceSafeFrame(true) .setTargeting('usingSafeFrame','1') .setSafeFrameConfig({ allowOverlayExpansion: true, allowPushExpansion: true, sandbox: true }); var thisSlot; thisSlot = googletag.defineSlot('/41014381/Sourceforge/SF_ProjectSum_GEL_A',"fluid",'div-gpt-ad-1715706427041-0') .addService(googletag.pubads()) .setTargeting('oss_tpc',["Bot Frameworks","Frameworks","Internet","Software Development","Wiki"]) .setTargeting('shortname',"pywikipediabot") .setTargeting('dc_ref',"https://sourceforge.net/projects/pywikipediabot/") .setTargeting('sz',"fluid") .setTargeting('page_type',"pg_project"); gptadslots.push(thisSlot); SF.Ads.slotsById['div-gpt-ad-1715706427041-0'] = thisSlot; SF.Ads.idsByPath['/41014381/Sourceforge/SF_ProjectSum_GEL_A'] = 'div-gpt-ad-1715706427041-0'; thisSlot = googletag.defineSlot('/41014381/Sourceforge/SF_ProjectSum_GEL_B',"fluid",'div-gpt-ad-1715706481535-0') .addService(googletag.pubads()) .setTargeting('oss_tpc',["Bot Frameworks","Frameworks","Internet","Software Development","Wiki"]) .setTargeting('shortname',"pywikipediabot") .setTargeting('dc_ref',"https://sourceforge.net/projects/pywikipediabot/") .setTargeting('sz',"fluid") .setTargeting('page_type',"pg_project"); gptadslots.push(thisSlot); SF.Ads.slotsById['div-gpt-ad-1715706481535-0'] = thisSlot; SF.Ads.idsByPath['/41014381/Sourceforge/SF_ProjectSum_GEL_B'] = 'div-gpt-ad-1715706481535-0'; thisSlot = googletag.defineSlot('/41014381/Sourceforge/SF_ProjectSum_GEL_C',"fluid",'div-gpt-ad-1715706533700-0') .addService(googletag.pubads()) .setTargeting('oss_tpc',["Bot Frameworks","Frameworks","Internet","Software Development","Wiki"]) .setTargeting('shortname',"pywikipediabot") .setTargeting('dc_ref',"https://sourceforge.net/projects/pywikipediabot/") .setTargeting('sz',"fluid") .setTargeting('page_type',"pg_project"); gptadslots.push(thisSlot); SF.Ads.slotsById['div-gpt-ad-1715706533700-0'] = thisSlot; SF.Ads.idsByPath['/41014381/Sourceforge/SF_ProjectSum_GEL_C'] = 'div-gpt-ad-1715706533700-0'; thisSlot = googletag.defineSlot('/41014381/Sourceforge/SF_ProjectSum_728x90_A', [728, 90],'div-gpt-ad-1394209358853-0') .defineSizeMapping( leaderboard ) .addService(googletag.pubads()) .setTargeting('oss_tpc',["Bot Frameworks","Frameworks","Internet","Software Development","Wiki"]) .setTargeting('shortname',"pywikipediabot") .setTargeting('dc_ref',"https://sourceforge.net/projects/pywikipediabot/") .setTargeting('page_type',"pg_project"); gptadslots.push(thisSlot); SF.Ads.slotsById['div-gpt-ad-1394209358853-0'] = thisSlot; SF.Ads.idsByPath['/41014381/Sourceforge/SF_ProjectSum_728x90_A'] = 'div-gpt-ad-1394209358853-0'; thisSlot = googletag.defineSlot('/41014381/Sourceforge/SF_Mobile_320x50_A',[320,50],'div-gpt-ad-1512154506943-0') .addService(googletag.pubads()) .setTargeting('oss_tpc',["Bot Frameworks","Frameworks","Internet","Software Development","Wiki"]) .setTargeting('shortname',"pywikipediabot") .setTargeting('dc_ref',"https://sourceforge.net/projects/pywikipediabot/") .setTargeting('sz',"320x50") .setTargeting('page_type',"pg_project"); gptadslots.push(thisSlot); SF.Ads.slotsById['div-gpt-ad-1512154506943-0'] = thisSlot; SF.Ads.idsByPath['/41014381/Sourceforge/SF_Mobile_320x50_A'] = 'div-gpt-ad-1512154506943-0'; thisSlot = googletag.defineSlot('/41014381/Sourceforge/SF_ProjectSum_300x250_A',[[300,250],[300,600]],'div-gpt-ad-1394209358855-0') .addService(googletag.pubads()) .setTargeting('oss_tpc',["Bot Frameworks","Frameworks","Internet","Software Development","Wiki"]) .setTargeting('shortname',"pywikipediabot") .setTargeting('dc_ref',"https://sourceforge.net/projects/pywikipediabot/") .setTargeting('sz',"300x250,300x600") .setTargeting('page_type',"pg_project"); gptadslots.push(thisSlot); SF.Ads.slotsById['div-gpt-ad-1394209358855-0'] = thisSlot; SF.Ads.idsByPath['/41014381/Sourceforge/SF_ProjectSum_300x250_A'] = 'div-gpt-ad-1394209358855-0'; thisSlot = googletag.defineSlot('/41014381/Sourceforge/SF_ProjectSum_300x250_B',[300,250],'div-gpt-ad-1394209358856-0') .addService(googletag.pubads()) .setTargeting('oss_tpc',["Bot Frameworks","Frameworks","Internet","Software Development","Wiki"]) .setTargeting('shortname',"pywikipediabot") .setTargeting('dc_ref',"https://sourceforge.net/projects/pywikipediabot/") .setTargeting('sz',"300x250") .setTargeting('page_type',"pg_project"); gptadslots.push(thisSlot); SF.Ads.slotsById['div-gpt-ad-1394209358856-0'] = thisSlot; SF.Ads.idsByPath['/41014381/Sourceforge/SF_ProjectSum_300x250_B'] = 'div-gpt-ad-1394209358856-0'; thisSlot = googletag.defineSlot('/41014381/Sourceforge/SF_ProjectSum_300x250_C',[300,250],'div-gpt-ad-1394209358857-0') .addService(googletag.pubads()) .setTargeting('oss_tpc',["Bot Frameworks","Frameworks","Internet","Software Development","Wiki"]) .setTargeting('shortname',"pywikipediabot") .setTargeting('dc_ref',"https://sourceforge.net/projects/pywikipediabot/") .setTargeting('sz',"300x250") .setTargeting('page_type',"pg_project"); gptadslots.push(thisSlot); SF.Ads.slotsById['div-gpt-ad-1394209358857-0'] = thisSlot; SF.Ads.idsByPath['/41014381/Sourceforge/SF_ProjectSum_300x250_C'] = 'div-gpt-ad-1394209358857-0'; thisSlot = googletag.defineSlot('/41014381/Sourceforge/SF_ProjectSum_728x90_B', [728, 90],'div-gpt-ad-1392148208790-0') .defineSizeMapping( leaderboardInContent ) .addService(googletag.pubads()) .setTargeting('oss_tpc',["Bot Frameworks","Frameworks","Internet","Software Development","Wiki"]) .setTargeting('shortname',"pywikipediabot") .setTargeting('dc_ref',"https://sourceforge.net/projects/pywikipediabot/") .setTargeting('page_type',"pg_project"); gptadslots.push(thisSlot); SF.Ads.slotsById['div-gpt-ad-1392148208790-0'] = thisSlot; SF.Ads.idsByPath['/41014381/Sourceforge/SF_ProjectSum_728x90_B'] = 'div-gpt-ad-1392148208790-0'; thisSlot = googletag.defineSlot('/41014381/Sourceforge/SF_Mobile_Multi_B',[[300,50],[300,250],[320,50],[320,100]],'div-gpt-ad-1512154653435-0') .addService(googletag.pubads()) .setTargeting('oss_tpc',["Bot Frameworks","Frameworks","Internet","Software Development","Wiki"]) .setTargeting('shortname',"pywikipediabot") .setTargeting('dc_ref',"https://sourceforge.net/projects/pywikipediabot/") .setTargeting('sz',"300x50,300x250,320x50,320x100") .setTargeting('page_type',"pg_project"); gptadslots.push(thisSlot); SF.Ads.slotsById['div-gpt-ad-1512154653435-0'] = thisSlot; SF.Ads.idsByPath['/41014381/Sourceforge/SF_Mobile_Multi_B'] = 'div-gpt-ad-1512154653435-0'; thisSlot = googletag.defineSlot('/41014381/Sourceforge/SF_ProjectSum_728x90_C', [728, 90],'div-gpt-ad-1491500833666-0') .defineSizeMapping( leaderboardInContent ) .addService(googletag.pubads()) .setTargeting('oss_tpc',["Bot Frameworks","Frameworks","Internet","Software Development","Wiki"]) .setTargeting('shortname',"pywikipediabot") .setTargeting('dc_ref',"https://sourceforge.net/projects/pywikipediabot/") .setTargeting('page_type',"pg_project"); gptadslots.push(thisSlot); SF.Ads.slotsById['div-gpt-ad-1491500833666-0'] = thisSlot; SF.Ads.idsByPath['/41014381/Sourceforge/SF_ProjectSum_728x90_C'] = 'div-gpt-ad-1491500833666-0'; thisSlot = googletag.defineSlot('/41014381/Sourceforge/SF_Mobile_Multi_C',[[300,50],[300,250],[320,50],[320,100]],'div-gpt-ad-1512154755912-0') .addService(googletag.pubads()) .setTargeting('oss_tpc',["Bot Frameworks","Frameworks","Internet","Software Development","Wiki"]) .setTargeting('shortname',"pywikipediabot") .setTargeting('dc_ref',"https://sourceforge.net/projects/pywikipediabot/") .setTargeting('sz',"300x50,300x250,320x50,320x100") .setTargeting('page_type',"pg_project"); gptadslots.push(thisSlot); SF.Ads.slotsById['div-gpt-ad-1512154755912-0'] = thisSlot; SF.Ads.idsByPath['/41014381/Sourceforge/SF_Mobile_Multi_C'] = 'div-gpt-ad-1512154755912-0'; thisSlot = googletag.defineSlot('/7346874/SF-300x250',[300,250],'div-gpt-ad-1392148208795-0') .addService(googletag.pubads()) .setTargeting('oss_tpc',["Bot Frameworks","Frameworks","Internet","Software Development","Wiki"]) .setTargeting('shortname',"pywikipediabot") .setTargeting('dc_ref',"https://sourceforge.net/projects/pywikipediabot/") .setTargeting('sz',"300x250") .setTargeting('page_type',"pg_project"); gptadslots.push(thisSlot); SF.Ads.slotsById['div-gpt-ad-1392148208795-0'] = thisSlot; SF.Ads.idsByPath['/7346874/SF-300x250'] = 'div-gpt-ad-1392148208795-0'; googletag.pubads().enableAsyncRendering(); googletag.pubads().collapseEmptyDivs(); googletag.pubads().enableLazyLoad({fetchMarginPercent: 0,renderMarginPercent: 0,});googletag.pubads().addEventListener('slotOnload', function(event) { SF.Ads.Helpers.getSizeAndSetClass.call(this, event); }); googletag.pubads().addEventListener('slotRenderEnded', function(event) { var unitName = event.slot.getAdUnitPath(); if ( unitName in gptadHandlers ) { for (var i = 0; i < gptadHandlers[unitName].length; i++) { try { SF.Ads.RenderHandlers[gptadHandlers[unitName][i]].call(this, event); } catch (e) { } } } if (event.slot.getResponseInformation()) { SF.Ads.RenderHandlers.decorateSizeDelivered.call(this, event); } else {SF.Ads.RenderHandlers.gotBlank.call(this, event); } if(SF.Ads.scrollFixable) { SF.Ads.scrollFixable.scrollRelocate(); } }); googletag.pubads().addEventListener('slotVisibilityChanged', SF.Ads.visibilityChangedTracker); SF.Ads.setupAdRefresh(); googletag.pubads().addEventListener('impressionViewable', SF.Ads.RenderHandlers.viewabilityInstrumentation); googletag.pubads().addEventListener('slotRenderEnded', SF.Ads.listenerForBlockThis); googletag.enableServices(); if ($.isEmptyObject(SF.Ads.slotsById)) { $('body').addClass("no-ads"); } }); </script> <script> function initPiwik(){ var _paq = window._paq = window._paq || []; _paq.push(['trackPageView', document.title, { dimension1: 'pywikipediabot', dimension2: 'pg_project', dimension3: SF.devicePixelRatio, }]); _paq.push(['enableLinkTracking']); (function() { var u="//analytics.slashdotmedia.com/"; _paq.push(['setTrackerUrl', u+'sf.php']); _paq.push(['setSiteId', 39]); // only execute if 'measurement' has been granted bizx.cmp.ifConsent({ purposes: ['measurement'], vendors: 'sdm'}, function() { var interval = 6 * 60 * 60 * 1000; // 6 hrs, expressed in ms var vid_date = new Date(localStorage.getItem('vid_date')); if (new Date() - vid_date >= interval) { var data = {firstparty_id: "69eed083-b9d1-4a8c-80cd-7d2d1f558f98", do_not_sell: false, is_commercial_page: "False" }; bizx.cmp.ifConsent({ purposes: ['ads'], vendors: 'sdm'}, function() {}, function(){ // no consent (opt-out) data.do_not_sell = true; }, function(){ //finally call api endpoint // push promise to pwik and set it run if pwik is allowed to run based on it's own ifConsent check _paq.push([ function() { data.matomo_id = this.getVisitorId(); data.domain = "sourceforge.net"; $.ajax({ method: 'PUT', url: '/p/sfapi/push_vid', data: JSON.stringify(data) }) .done(function(response){ if(response.result) { localStorage.setItem('vid_date', new Date()); } }) .fail(function(){ // Do nothing on failure }); }]); } ); } }); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'sf.js'; s.parentNode.insertBefore(g,s); })(); } bizx.cmp.ifConsent({ purposes: ['storage', 'measurement'], vendors: 'sdm' }, initPiwik); </script> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebSite", "name": "SourceForge", "url": "https://sourceforge.net/" } </script> </head> <body id="pg_project" class=" anonymous has-ads sandiego v-sf"> <div id="busy-spinner"></div> <div id="messages"> </div> <div class="off-canvas position-right" id="offCanvas" data-off-canvas> <!-- Menu --> <ul class="header-nav-menulist"> <li class="highlight search"> <form method="get" action="/directory/" class="m-search-form"> <input type="text" placeholder="Search for software or solutions" autocomplete="off" name="q" > <label> <input type="submit" class="bt" value=""> <svg data-name="search" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1216 832q0-185-131.5-316.5t-316.5-131.5-316.5 131.5-131.5 316.5 131.5 316.5 316.5 131.5 316.5-131.5 131.5-316.5zm512 832q0 52-38 90t-90 38q-54 0-90-38l-343-342q-179 124-399 124-143 0-273.5-55.5t-225-150-150-225-55.5-273.5 55.5-273.5 150-225 225-150 273.5-55.5 273.5 55.5 225 150 150 225 55.5 273.5q0 220-124 399l343 343q37 37 37 90z"/></svg> </label> </form> </li> <li class="highlight"><a href="https://sourceforge.net/auth/">Join/Login</a></li> <li><a href="/directory/">Open Source Software</a></li> <li><a href="/software/">Business Software</a></li> <li><a href="/software/vendors/" title="For Vendors">For Vendors</a></li> <li><a href="/blog/" title="Blog">Blog</a></li> <li><a href="/about">About</a></li> <li><a id="header-nav-more" data-toggle="header-nav-more header-nav-more-content" data-toggler=".toggled">More</a></li> <li> <ul id="header-nav-more-content" class="toggled" data-toggler=".toggled"> <li><a href="/articles/">Articles</a></li> <li><a href="/create">Create</a></li> <li><a href="https://sourceforge.net/articles/category/sourceforge-podcast/">SourceForge Podcast</a></li> <li><a href="https://sourceforge.net/p/forge/documentation/Docs%20Home/">Site Documentation</a></li> <li><a href="/user/newsletters">Subscribe to our Newsletter</a></li> <li><a href="/support">Support Request</a></li> </ul> </li> </ul> </div> <div class="off-canvas-content" data-off-canvas-content> <script> SF.linkout_icon = '<svg data-name="sf-linkout-icon" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 300" style="enable-background:new 0 0 300 300;" xml:space="preserve"><polygon class="st0" points="243.2,243.2 56.8,243.2 56.8,56.8 123,56.8 123,9 9,9 9,291 291,291 291,179.4 243.2,179 "/><polygon class="st0" points="128.5,213 155,186.5 176,165.5 206.7,196.3 235.5,132.5 248.9,102.6 290.6,9.8 291,9 290.6,9.2 197.4,51.1 169.1,63.8 103.7,93.3 137,126.5 115.9,147.5 89.5,174 "/></svg>'; </script> <section class="sandiego l-header-nav-top show-for-large"> <div class="row"> <a href="/" title="Home" class="sf-logo"> <img src="//a.fsdn.com/con/images/sandiego/sf-logo-full.svg" alt="SourceForge logo" class="sf-logo-full"/> </a> <nav class="links"> <a href="/user/newsletters" title="Subscribe to our newsletter"><span class="newsletter-icon"> <svg data-name="mmSF_11mail" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 42 42" enable-background="new 0 0 42 42" xml:space="preserve"><path fill="#FFFFFF" d="M0,6v30h42V6H0z M24.2,21.2c-0.8,0.8-2.3,2-3.2,2c-0.9,0-2.4-1.2-3.2-2L5.8,9.7h30.3L24.2,21.2z M13.7,21l-9.9,9.4V11.6L13.7,21z M15.7,23L15.7,23c0.5,0.5,2.9,2.9,5.3,2.9c2.4,0,4.8-2.4,5.2-2.8l0.1-0.1l9.8,9.4H5.8L15.7,23z M28.3,21l9.9-9.5v18.9L28.3,21z"/></svg></span></a> <a href="/software/vendors/" title="For Vendors">For Vendors</a> <a href="/support" title="Help">Help</a> <a href="/create/" title="Create">Create</a> <a href="/user/registration" title="Join" >Join</a> <a href="https://sourceforge.net/auth/" title="Login">Login</a> </nav> </div> </section> <div class="l-header-nav sticky sandiego l-header-nav-collapse"> <section class="sandiego l-header-nav-top hide-for-large"> <div class="row"> <a href="/" title="Home" class="sf-logo"> <img src="//a.fsdn.com/con/images/sandiego/sf-logo-full.svg" alt="SourceForge logo" class="sf-logo-full"/> </a> <div class="title-bar-right"> <button type="button" aria-label="Toggle Main Menu" class="menu-icon" data-toggle="offCanvas"></button> </div> </div> </section> <section class="sandiego l-header-nav-bottom"> <nav class="row"> <a href="/" title="Home" class="sf-logo"> <img src="//a.fsdn.com/con/images/sandiego/sf-logo-full.svg" alt="SourceForge logo" class="sf-logo-full"/> </a> <div class="links"> <div class="nav-dropdown"> <a href="/directory/" title="Browse">Open Source Software</a> </div> <div class="nav-dropdown"> <a href="/software/">Business Software</a> </div> <div class="nav-dropdown"> <a href="https://sourceforge.net/articles/category/sourceforge-podcast/">SourceForge Podcast</a> </div> <div class="nav-dropdown"> <a>Resources</a> <ul class="nav-dropdown-menu"> <li><a href="/articles/">Articles</a></li> <li><a href="/software/case-studies/">Case Studies</a></li> <li><a href="/blog/">Blog</a></li> </ul> </div> <div class="dev-menu-when-stuck"> Menu <ul class="dev-menu-dropdown header-nav-menulist"> <li><a href="/support">Help</a></li> <li><a href="/create">Create</a></li> <li><a href="/user/registration/" title="Join" >Join</a></li> <li><a href="https://sourceforge.net/auth/" title="Login">Login</a></li> </ul> </div> <div class="search-toggle-when-stuck"> <a class="search-toggle"> <svg data-name="search" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1216 832q0-185-131.5-316.5t-316.5-131.5-316.5 131.5-131.5 316.5 131.5 316.5 316.5 131.5 316.5-131.5 131.5-316.5zm512 832q0 52-38 90t-90 38q-54 0-90-38l-343-342q-179 124-399 124-143 0-273.5-55.5t-225-150-150-225-55.5-273.5 55.5-273.5 150-225 225-150 273.5-55.5 273.5 55.5 225 150 150 225 55.5 273.5q0 220-124 399l343 343q37 37 37 90z"/></svg> </a> </div> </div> <div class="search"> <div class="main-nav-link"> <a href="https://brightdata.com/?utm_source=brand&utm_campaign=brnd-mkt_content_partner_slashdot_banner" rel="nofollow" target="_blank" id="main-nav-badge-link" data-label="BrightData2"> <img src="//a.fsdn.com/con/assets/maxnav/sourceforge/brightdata2-137fa282.png" srcset="//a.fsdn.com/con/assets/maxnav/sourceforge/brightdata2big-137fc37a.png 2x" alt="Bright Data - Real-Time Business Data" id="main-nav-image"/> </a> </div> <form method="get" action="/directory/" class="m-search-form"> <div class="typeahead__container"> <div class="typeahead__field"> <div class="typeahead__query"> <input type="text" placeholder="Search for software or solutions" autocomplete="off" name="q" > </div> <label> <input type="submit" class="bt" value=""> <svg data-name="search" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1216 832q0-185-131.5-316.5t-316.5-131.5-316.5 131.5-131.5 316.5 131.5 316.5 316.5 131.5 316.5-131.5 131.5-316.5zm512 832q0 52-38 90t-90 38q-54 0-90-38l-343-342q-179 124-399 124-143 0-273.5-55.5t-225-150-150-225-55.5-273.5 55.5-273.5 150-225 225-150 273.5-55.5 273.5 55.5 225 150 150 225 55.5 273.5q0 220-124 399l343 343q37 37 37 90z"/></svg> </label> </div> </div> </form> </div> </nav> </section> <div id="banner-sterling" class="sterling"> <div id="SF_ProjectSum_728x90_A_wrapped" data-id="div-gpt-ad-1394209358853-0" class="draper visibility_rules v_970_billboard v_728_leaderboard "> </div><script> /*global googletag */ if (SF.initial_breakpoints_visible.leaderboard) { (function(){ var el = document.getElementById('SF_ProjectSum_728x90_A_wrapped'); var newNode = document.createElement('div'); newNode.id = 'div-gpt-ad-1394209358853-0'; el.appendChild(newNode); }()); gptadRenderers['SF_ProjectSum_728x90_A'] = function(){ // jshint ignore:line if (!SF.adblock) { $('#div-gpt-ad-1394209358853-0').parents('.draper').css("min-height", 90 + 13 + 12); // for height of .lbl-ad and padding } googletag.cmd.push(function() { googletag.display('div-gpt-ad-1394209358853-0'); }); }; gptadRenderers['SF_ProjectSum_728x90_A'](); // jshint ignore:line } </script> <div id="SF_Mobile_320x50_A_wrapped" data-id="div-gpt-ad-1512154506943-0" class="draper "> </div><script> /*global googletag */ if (!SF.initial_breakpoints_visible.leaderboard) { (function(){ var el = document.getElementById('SF_Mobile_320x50_A_wrapped'); var newNode = document.createElement('div'); newNode.id = 'div-gpt-ad-1512154506943-0'; el.appendChild(newNode); }()); gptadRenderers['SF_Mobile_320x50_A'] = function(){ // jshint ignore:line if (!SF.adblock) { $('#div-gpt-ad-1512154506943-0').parents('.draper').css("min-height", 50 + 13 + 12); // for height of .lbl-ad and padding } googletag.cmd.push(function() { googletag.display('div-gpt-ad-1512154506943-0'); }); }; gptadRenderers['SF_Mobile_320x50_A'](); // jshint ignore:line } </script> </div> </div> <div class="l-two-column-page"> <div class="l-content-column l-has-sidebar"> <div class="project-body" itemscope itemtype="http://schema.org/SoftwareApplication"> <section class="project-masthead"> <div class="backdrop" style="box-sizing: content-box; padding-bottom: 238px"></div> <div class="content"> <nav id="breadcrumbs" class="breadcrumbs rtl"> <ul itemscope itemtype="http://schema.org/BreadcrumbList"> <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"> <a itemprop="item" href="/"><span itemprop="name">Home</span></a> <meta itemprop="position" content="1" /> </li> <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"> <a itemprop="item" href="/directory/"><span itemprop="name">Browse Open Source</span></a> <meta itemprop="position" content="2" /> </li> <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"> <a itemprop="item" href="/directory/software-development/"><span itemprop="name">Software Development</span></a> <meta itemprop="position" content="3" /> </li><li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"> <a itemprop="item" href="/directory/frameworks/"><span itemprop="name">Frameworks</span></a> <meta itemprop="position" content="4" /> </li><li class="project" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><span itemprop="name">pywikibot</span><meta itemprop="position" content="5" /> </li> </ul> </nav> <div class="overview"> <div class="project-icon " > <img itemprop="image" alt="pywikibot" title="pywikibot" src="//a.fsdn.com/allura/p/pywikipediabot/icon?1665000484" /></div> <div class="title "> <h1 itemprop="name">pywikibot </h1> <h2 class="as-h3 summary"> Python MediaWiki Bot Framework </h2> <div class="as-h3 brought-by"> Brought to you by: <a href="/u/a_engels/profile/">a_engels</a>, <a href="/u/hooft/profile/">hooft</a>, <a href="/u/nicdumz/profile/">nicdumz</a>, <a href="/u/russblau/profile/">russblau</a>, and <a href="/p/pywikipediabot/_members/">4 others</a> </div> </div> </div> <div class="special-messages"> <a class="button blue moved-notice" target="_blank" href="https://phabricator.wikimedia.org/project/profile/87/" rel=nofollow> <svg data-name="arrow-circle-right" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 300" style="enable-background:new 0 0 300 300;" xml:space="preserve"><g><path class="st0" d="M150,0C67.2,0,0,67.2,0,150c0,82.8,67.2,150,150,150s150-67.2,150-150C300,67.2,232.8,0,150,0z M150.8,234.2v-50.5H58.2v-67.3h92.6V65.8l101,84.2L150.8,234.2z"/></g></svg> As of 2017-11-09, this project can be found here. </a> </div> <div class="stats "> <div class="rating"> <div class="m-stars" aria-hidden="true" > <div class="star large yellow"> <svg data-name="sf_star_yellow" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 285.8" style="enable-background:new 0 0 300 285.8;" xml:space="preserve"><polygon class="st0" fill="#ffcc00" points="150,0 185.4,109.2 300,109.2 207.3,176.6 242.7,285.8 150,218.3 57.3,285.8 92.7,176.6 0,109.2 114.6,109.2 "/></svg> </div> <div class="star large yellow"> <svg data-name="sf_star_yellow" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 285.8" style="enable-background:new 0 0 300 285.8;" xml:space="preserve"><polygon class="st0" fill="#ffcc00" points="150,0 185.4,109.2 300,109.2 207.3,176.6 242.7,285.8 150,218.3 57.3,285.8 92.7,176.6 0,109.2 114.6,109.2 "/></svg> </div> <div class="star large yellow"> <svg data-name="sf_star_yellow" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 285.8" style="enable-background:new 0 0 300 285.8;" xml:space="preserve"><polygon class="st0" fill="#ffcc00" points="150,0 185.4,109.2 300,109.2 207.3,176.6 242.7,285.8 150,218.3 57.3,285.8 92.7,176.6 0,109.2 114.6,109.2 "/></svg> </div> <div class="star large yellow"> <svg data-name="sf_star_yellow" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 285.8" style="enable-background:new 0 0 300 285.8;" xml:space="preserve"><polygon class="st0" fill="#ffcc00" points="150,0 185.4,109.2 300,109.2 207.3,176.6 242.7,285.8 150,218.3 57.3,285.8 92.7,176.6 0,109.2 114.6,109.2 "/></svg> </div> <div class="star large yellow"> <svg data-name="sf_star_yellow" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 285.8" style="enable-background:new 0 0 300 285.8;" xml:space="preserve"><polygon class="st0" fill="#ffcc00" points="150,0 185.4,109.2 300,109.2 207.3,176.6 242.7,285.8 150,218.3 57.3,285.8 92.7,176.6 0,109.2 114.6,109.2 "/></svg> </div> </div> <a href="/projects/pywikipediabot/reviews/" class="count" title="pywikibot Reviews"> 6 Reviews </a> </div> <div class="as-h2"> <b class="label">Downloads:</b> <a href="/projects/pywikipediabot/files/stats/timeline" title="Downloads This Week"> 0 This Week </a> </div> <div class="as-h2"> <b class="label">Last Update:</b> <a href="/p/pywikipediabot/activity/"> <time class="dateUpdated" datetime="2022-10-05">2022-10-05</time> </a> </div> </div> <div class="buttons"> <a class="button default" data-open="psp-newsletter-modal">Get Updates</a> <div class="psp_newsletter_subscribe reveal" data-reveal id="psp-newsletter-modal" data-v-offset="0" data-ajax-url="/projects/pywikipediabot/get_updates?source=PSP"> </div> <a id="share-project-button" class="button default" href="#">Share This</a> <div class="social-sharing-buttons invisible hide"> <a rel=nofollow class="social-media-icon twitter" href="https://twitter.com/share?url=https://sourceforge.net/projects/pywikipediabot/&text=Download%20pywikibot%20on%20SourceForge%20for%20free%21%20Python%20MediaWiki%20Bot%20Framework" title="Share pywikibot on SourceForge on Twitter"> <svg data-name="twitter" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1684 408q-67 98-162 167 1 14 1 42 0 130-38 259.5t-115.5 248.5-184.5 210.5-258 146-323 54.5q-271 0-496-145 35 4 78 4 225 0 401-138-105-2-188-64.5t-114-159.5q33 5 61 5 43 0 85-11-112-23-185.5-111.5t-73.5-205.5v-4q68 38 146 41-66-44-105-115t-39-154q0-88 44-163 121 149 294.5 238.5t371.5 99.5q-8-38-8-74 0-134 94.5-228.5t228.5-94.5q140 0 236 102 109-21 205-78-37 115-142 178 93-10 186-50z"/></svg></a> <a rel=nofollow class="social-media-icon facebook" href="https://www.facebook.com/sharer/sharer.php?u=https://sourceforge.net/projects/pywikipediabot/&title=pywikibot%20on%20SourceForge" title="Share pywikibot on SourceForge on facebook"> <svg data-name="facebook" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1343 12v264h-157q-86 0-116 36t-30 108v189h293l-39 296h-254v759h-306v-759h-255v-296h255v-218q0-186 104-288.5t277-102.5q147 0 228 12z"/></svg></a> <a rel=nofollow class="social-media-icon linkedin" href="https://www.linkedin.com/shareArticle?mini=true&url=https://sourceforge.net/projects/pywikipediabot/&title=pywikibot%20on%20SourceForge&source=SourceForge.net" title="Share pywikibot on SourceForge on LinkedIn"> <svg data-name="linkedin" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M477 625v991h-330v-991h330zm21-306q1 73-50.5 122t-135.5 49h-2q-82 0-132-49t-50-122q0-74 51.5-122.5t134.5-48.5 133 48.5 51 122.5zm1166 729v568h-329v-530q0-105-40.5-164.5t-126.5-59.5q-63 0-105.5 34.5t-63.5 85.5q-11 30-11 81v553h-329q2-399 2-647t-1-296l-1-48h329v144h-2q20-32 41-56t56.5-52 87-43.5 114.5-15.5q171 0 275 113.5t104 332.5z"/></svg></a> </div> </div> <div class="platforms"> <span><meta itemprop="operatingSystem" content="Windows"/>Windows</span> <span><meta itemprop="operatingSystem" content="Mac"/>Mac</span> <span><meta itemprop="operatingSystem" content="Linux"/>Linux</span> <span><meta itemprop="operatingSystem" content="BSD"/>BSD</span> <span><meta itemprop="operatingSystem" content="ChromeOS"/>ChromeOS</span> </div> <div class="badges"> </div> </div> </section> <div id="top_nav"><div id="top_nav_admin"> <ul class="dropdown"> <li class="selected"> <a href="/projects/pywikipediabot/" > <span>Summary</span></a> </li> <li > <a href="/projects/pywikipediabot/reviews/" > <span>Reviews</span></a> </li> <li > <a href="/projects/pywikipediabot/support" > <span>Support</span></a> </li> <li > <a href="/p/pywikipediabot/_list/tickets" > <span>Tickets ▾</span></a> <ul> <li> <a href="/p/pywikipediabot/support-requests/" >Support Requests </a> </li> <li> <a href="/p/pywikipediabot/patches/" >Patches </a> </li> <li> <a href="/p/pywikipediabot/bugs/" >Bugs </a> </li> <li> <a href="/p/pywikipediabot/feature-requests/" >Feature Requests </a> </li> </ul> </li> <li > <a href="/p/pywikipediabot/news/" > <span>News</span></a> </li> <li > <a href="https://git.wikimedia.org/project/pywikibot" data-external=true rel=nofollow> <span>Browse Code</span></a> </li> <li > <a href="/p/pywikipediabot/cvs/" > <span>CVS</span></a> </li> </ul> </div></div> <article class="main-content"> <section class="row c-description" id="section-description"> <div id="about" class="small-12 columns"> <p itemprop="description" class="description">A Python library and collection of tools that automate work on MediaWiki sites. Originally designed for Wikipedia, it is now used throughout the Wikimedia Foundation's projects and on many other MediaWiki wikis including wikidata service. <br> <br> We do not use <a href="https://sourceforge.net" rel="nofollow noopener">sourceforge.net</a> anymore, but are very grateful for their support in the past. Please see our website at <a href="https://www.mediawiki.org/wiki/Pywikibot" rel="nofollow noopener">https://www.mediawiki.org/wiki/Pywikibot</a><br> <br> Our pypi package could be found at <a href="https://pypi.org/project/pywikibot/" rel="nofollow noopener">https://pypi.org/project/pywikibot/</a></p> </div> </section> <div class="m-project-activity columns small-12 psp-section"> <div class="heading"> <h3>Project Activity</h3> <div> <a class="button yellow icon-only follow-action-disabled show-for-medium" href="https://sourceforge.net/auth/?return_to=%2Fprojects%2Fpywikipediabot%2F" title="Follow pywikibot - Requires login" rel="nofollow" > <svg data-name="sf_star_grey" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 285.8" style="enable-background:new 0 0 300 285.8;" xml:space="preserve"><polygon class="st0" fill="#CCCCCB" points="150,0 185.4,109.2 300,109.2 207.3,176.6 242.7,285.8 150,218.3 57.3,285.8 92.7,176.6 0,109.2 114.6,109.2 "/></svg></a> <a class="button blue icon-only show-for-medium" href="/p/pywikipediabot/activity/feed" title="RSS" rel="nofollow"> <svg data-name="feed" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1408.1818 1408" > <path d="m 384,1216 q 0,80 -56,136 -56,56 -136,56 -80,0 -136,-56 -56,-56 -56,-136 0,-80 56,-136 56,-56 136,-56 80,0 136,56 56,56 56,136 z m 512,123 q 2,28 -17,48 -18,21 -47,21 l -135,0 q -25,0 -43,-16.5 Q 636,1375 634,1350 612,1121 449.5,958.5 287,796 58,774 33,772 16.5,754 0,736 0,711 L 0,576 q 0,-29 21,-47 17,-17 43,-17 l 5,0 q 160,13 306,80.5 146,67.5 259,181.5 114,113 181.5,259 67.5,146 80.5,306 z m 512,2 q 2,27 -18,47 -18,20 -46,20 l -143,0 q -26,0 -44.5,-17.5 Q 1138,1373 1137,1348 1125,1133 1036,939.5 947,746 804.5,603.5 662,461 468.5,372 275,283 60,270 35,269 17.5,250.5 0,232 0,207 L 0,64 Q 0,36 20,18 38,0 64,0 l 3,0 Q 329,13 568.5,120 808,227 994,414 q 187,186 294,425.5 107,239.5 120,501.5 z" /></svg></a> </div> </div> <div id="project-activity"> <div class="space--placeholder" style="height: 315px"></div> </div> <p class="all-activities"><a href="/p/pywikipediabot/activity/">See All Activity ></a></p> </div> <script type="text/x-handlebars-template" id="project-activity-template"> <ul class="list-of-activities"> {{#each timeline}} <li class="item"> <time datetime="{{ iso8601date this.published }}" title="{{ readable_date this.published }}">{{ ago this.published }}</time> <div> {{#ifTagged "release"}} {{ cap this.verb }} {{else}} {{ icon this.actor.activity_extras.icon_url }} {{ activity_obj this.actor }} {{ this.verb }} {{/ifTagged}} {{ activity_obj this.obj }} {{#if this.target.activity_name}} on {{ activity_obj this.target }}{{/if}} </div> <div class="summary"> {{ this.obj.activity_extras.summary }} </div> </li> {{/each}} </ul> </script> <section class="row psp-section collapsible-section"> <div class="small-12 medium-5 columns"> <h3>Categories</h3><a href="/directory/frameworks/"><span itemprop="applicationCategory">Frameworks</span></a>, <a href="/directory/wiki/"><span itemprop="applicationCategory">Wiki</span></a>, <a href="/directory/bot-frameworks/"><span itemprop="applicationCategory">Bot Frameworks</span></a></div> <div class="medium-5 small-12 columns"> <section class="project-info"> <h3>License</h3>MIT License</section> </div> </section> <section class="row psp-section collapsible-section"> <div class="small-12 columns"> <h3>Follow pywikibot</h3> <p> <a id="homepage" class="pspbtn" href="https://www.mediawiki.org/wiki/Pywikibot" title="pywikibot Web Site" rel="nofollow" target="_blank">pywikibot Web Site</a> </p> </div> </section> <div class="sterling"> <div id="SF_ProjectSum_728x90_B_wrapped" data-id="div-gpt-ad-1392148208790-0" class="draper visibility_rules v_970_xlarge v_728_leaderboard "> </div><script> /*global googletag */ if (SF.initial_breakpoints_visible.leaderboard) { (function(){ var el = document.getElementById('SF_ProjectSum_728x90_B_wrapped'); var newNode = document.createElement('div'); newNode.id = 'div-gpt-ad-1392148208790-0'; el.appendChild(newNode); }()); gptadRenderers['SF_ProjectSum_728x90_B'] = function(){ // jshint ignore:line googletag.cmd.push(function() { googletag.display('div-gpt-ad-1392148208790-0'); }); }; gptadRenderers['SF_ProjectSum_728x90_B'](); // jshint ignore:line } </script> <div id="SF_Mobile_Multi_B_wrapped" data-id="div-gpt-ad-1512154653435-0" class="draper multisize "> </div><script> /*global googletag */ if (!SF.initial_breakpoints_visible.leaderboard) { (function(){ var el = document.getElementById('SF_Mobile_Multi_B_wrapped'); var newNode = document.createElement('div'); newNode.id = 'div-gpt-ad-1512154653435-0'; el.appendChild(newNode); }()); gptadRenderers['SF_Mobile_Multi_B'] = function(){ // jshint ignore:line googletag.cmd.push(function() { googletag.display('div-gpt-ad-1512154653435-0'); }); }; gptadRenderers['SF_Mobile_Multi_B'](); // jshint ignore:line } </script> </div> <script> if (!SF.wireOutboundZoneTrackingComplete) { $(SF.wireOutboundZoneTracking); $('body').append('<iframe src="https://c.sf-syn.com/conversion_outbound_tracker/sf" id="frame-zone-outbound" style="display: none;"></iframe>'); SF.wireOutboundZoneTrackingComplete = true; } </script> <section id="nels" class="small-12 columns"> <div class="as-header"> <div class="as-h2"> You Might Also Like</div> </div> <div id="SF_ProjectSum_GEL_A_wrapped" data-id="div-gpt-ad-1715706427041-0" class="draper "> </div><script> /*global googletag */ if (true) { (function(){ var el = document.getElementById('SF_ProjectSum_GEL_A_wrapped'); var newNode = document.createElement('div'); newNode.id = 'div-gpt-ad-1715706427041-0'; el.appendChild(newNode); }()); gptadRenderers['SF_ProjectSum_GEL_A'] = function(){ // jshint ignore:line if (!SF.adblock) { $('#div-gpt-ad-1715706427041-0').parents('.draper').css("min-height", 185 + 13 + 12); // for height of .lbl-ad and padding } googletag.cmd.push(function() { googletag.display('div-gpt-ad-1715706427041-0'); }); }; gptadRenderers['SF_ProjectSum_GEL_A'](); // jshint ignore:line } </script> <div class="nel standard trunc-eligible nel-hidden-0" data-id="17241" data-cid="13049"> <span id="1aa50c28-2e32-48e7-8ffb-1affb12df2fb"></span> <script> /* globals bizx */ bizx.cmp.trackingPixel('publisher', ['storage', 'measurement'], '/directory/tp3/?b=68015&c=13049&z=65387&cb=b15f7625ce', "Create and run cloud-based virtual machines.", '1aa50c28-2e32-48e7-8ffb-1affb12df2fb'); </script> <div class="application-image thumbnail" data-dest="https://sourceforge.net/software/link?oaparams=2__bannerid=68015__zoneid=65387__cb=b15f7625ce__oadest=https%3A%2F%2Fcloud.google.com%2Fcompute%3Futm_source%3Dsourceforge%26utm_medium%3Dreferral%26utm_campaign%3Dsourceforge_paid_subscription%26utm_content%3DCompute_Engine%26hl%3Den" data-newtab="true" data-target="_blank" rel="nofollow"> <img class="main-image" src="//a.fsdn.com/con/app/nel_img/17241" alt="Create and run cloud-based virtual machines. Icon"> </div> <div class="wrapper"> <div class="heading"> <div class="heading-main"> <span data-dest="https://sourceforge.net/software/link?oaparams=2__bannerid=68015__zoneid=65387__cb=b15f7625ce__oadest=https%3A%2F%2Fcloud.google.com%2Fcompute%3Futm_source%3Dsourceforge%26utm_medium%3Dreferral%26utm_campaign%3Dsourceforge_paid_subscription%26utm_content%3DCompute_Engine%26hl%3Den" data-newtab="true" data-target="_blank" rel="nofollow" title="Find out more about Create and run cloud-based virtual machines.">Create and run cloud-based virtual machines.</span> <p class="teaser">Secure and customizable compute service that lets you create and run virtual machines on Google’s infrastructure.</p> </div> </div> <div class="tiles"> <div class="tile"> <div class="description "> <div class="description-inner"> Computing infrastructure in predefined or custom machine sizes to accelerate your cloud transformation. General purpose (E2, N1, N2, N2D) machines provide a good balance of price and performance. Compute optimized (C2) machines offer high-end vCPU performance for compute-intensive workloads. Memory optimized (M2) machines offer the highest memory and are great for in-memory databases. Accelerator optimized (A2) machines are based on the A100 GPU, for very demanding applications. </div> </div> </div> </div> </div> <div class="download standard"> <div class="button green wide sfdl sfdl-lite" data-target="_blank" data-newtab="true" data-dest="https://sourceforge.net/software/link?oaparams=2__bannerid=68015__zoneid=65387__cb=b15f7625ce__oadest=https%3A%2F%2Fcloud.google.com%2Fcompute%3Futm_source%3Dsourceforge%26utm_medium%3Dreferral%26utm_campaign%3Dsourceforge_paid_subscription%26utm_content%3DCompute_Engine%26hl%3Den" data-zone="64989" data-slug="Google-Compute-Engine" >Try for free</div> </div> </div> <script> if (SF.adblock){ var nel = document.querySelector('.nel-hidden-0'); nel.classList.remove('nel-hidden-0'); } </script> </section> <section class="row m-rate-project"> <div class="small-12 columns"> <div class="as-h3">Rate This Project</div><a class="rate-this-project" href="/projects/pywikipediabot/reviews/new" rel="nofollow">Login To Rate This Project</a> </div> </section> <section class="row ratings-section psp-section collapsible-section"> <div class="small-12 columns"> <div class="hr-top"> <h3>User Ratings</h3> <section id="ratings" class="m-ratings-summary"> <section class="recommended-percentage item" itemscope itemtype="http://schema.org/AggregateRating" itemprop="aggregateRating"> <span class="rating"> <span class="average" itemprop="ratingValue">5.0</span> <meta itemprop="bestRating" content="5"/> <meta itemprop="worstRating" content="1"/> <meta itemprop="ratingCount" content="6"/> <span class="recommended">out of 5 stars</span> </span> </section> <section class="graphs"> <section class="m-ratings-histogram"> <section> <div class="star-text stars-5">★★★★★</div> <div class="star-text stars-4">★★★★</div> <div class="star-text stars-3">★★★</div> <div class="star-text stars-2">★★</div> <div class="star-text stars-1">★</div> </section> <section class="bargraph"> <div class="stars-5"> <div class="rating-bar" style="width: calc(90.0% - 1em)"></div> <div class="rating-label">6 </div> </div> <div class="stars-4"> <div class="rating-bar" style="width: calc(1% - 1em)"></div> <div class="rating-label">0 </div> </div> <div class="stars-3"> <div class="rating-bar" style="width: calc(1% - 1em)"></div> <div class="rating-label">0 </div> </div> <div class="stars-2"> <div class="rating-bar" style="width: calc(1% - 1em)"></div> <div class="rating-label">0 </div> </div> <div class="stars-1"> <div class="rating-bar" style="width: calc(1% - 1em)"></div> <div class="rating-label">0 </div> </div> </section> </section> <div class="dimensional-ratings"> <div class="dimensional-rating"> <span class="label">ease</span> <span title="1 of 5" class="rating box">1 of 5</span> <span title="2 of 5" class="rating box">2 of 5</span> <span title="3 of 5" class="rating box">3 of 5</span> <span title="4 of 5" class="rating box">4 of 5</span> <span title="5 of 5" class="rating ">5 of 5</span> <span class="rating-score"> <span class="dim-rate">4</span> / 5 </span> </div> <div class="dimensional-rating"> <span class="label">features</span> <span title="1 of 5" class="rating box">1 of 5</span> <span title="2 of 5" class="rating box">2 of 5</span> <span title="3 of 5" class="rating box">3 of 5</span> <span title="4 of 5" class="rating box">4 of 5</span> <span title="5 of 5" class="rating box">5 of 5</span> <span class="rating-score"> <span class="dim-rate">5</span> / 5 </span> </div> <div class="dimensional-rating"> <span class="label">design</span> <span title="1 of 5" class="rating box">1 of 5</span> <span title="2 of 5" class="rating box">2 of 5</span> <span title="3 of 5" class="rating box">3 of 5</span> <span title="4 of 5" class="rating ">4 of 5</span> <span title="5 of 5" class="rating ">5 of 5</span> <span class="rating-score"> <span class="dim-rate">3</span> / 5 </span> </div> <div class="dimensional-rating"> <span class="label">support</span> <span title="1 of 5" class="rating box">1 of 5</span> <span title="2 of 5" class="rating box">2 of 5</span> <span title="3 of 5" class="rating box">3 of 5</span> <span title="4 of 5" class="rating box">4 of 5</span> <span title="5 of 5" class="rating ">5 of 5</span> <span class="rating-score"> <span class="dim-rate">4</span> / 5 </span> </div> </div> </section> </section> </div> </div> </section> <section class="row reviews-section psp-section collapsible-section "> <div class="small-12 columns"> <section id="reviews" class="m-reviews-list" data-name="pywikibot" data-endpoint="/projects/pywikipediabot/reviews"> <section class="heading"> <h2 class="as-h3">User Reviews</h2> <div class="sort-options"> <div data-toggle="filter-rating"> <span>Filter Reviews:</span> <div class="sort-drop-down"> <a>All</a> </div> </div> <ul id="filter-rating" class="filter-options dropdown-pane bottom" data-dropdown data-hover="true" data-hover-pane="true" data-hover-delay="0" data-alignment="right" data-endpoint="/projects/pywikipediabot/reviews"> <li><a href="#" data-endpoint="?filter-stars=all" title="Show All" class=" active">All</a></li> <li><a href="#" data-endpoint="?filter-stars=5" title="Show 5 Stars" class=" star-text">★★★★★</a></li> <li><a href="#" data-endpoint="?filter-stars=4" title="Show 4 Stars" class=" star-text">★★★★</a></li> <li><a href="#" data-endpoint="?filter-stars=3" title="Show 3 Stars" class=" star-text">★★★</a></li> <li><a href="#" data-endpoint="?filter-stars=2" title="Show 2 Stars" class=" star-text">★★</a></li> <li><a href="#" data-endpoint="?filter-stars=1" title="Show 1 Star" class=" star-text">★</a></li> </ul> </div> </section> <section class="content"> <ul id="project-reviews" class="reviews"> <li > <div class="m-review " data-helpful-count="0" itemprop="review" itemscope itemtype="http://schema.org/Review" id="review-5676682ceeac0f3d912d1da7" > <meta itemprop="datePublished" content="12/20/2015"> <span class="hide" itemprop="author" itemtype="http://schema.org/Person" itemscope> <meta itemprop="name" content=" suriyaakudo "> </span> <div class="footer"> <span class="author-name"> suriyaakudo </span><span class="created-date"> Posted 2015-12-20 </span> </div> <div class="m-stars" aria-hidden="true" itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating"> <meta itemprop="ratingValue" content="5"> <meta itemprop="worstRating" content="1"> <meta itemprop="bestRating" content="5"> <div class="star yellow"> <svg data-name="sf_star_yellow" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 285.8" style="enable-background:new 0 0 300 285.8;" xml:space="preserve"><polygon class="st0" fill="#ffcc00" points="150,0 185.4,109.2 300,109.2 207.3,176.6 242.7,285.8 150,218.3 57.3,285.8 92.7,176.6 0,109.2 114.6,109.2 "/></svg> </div> <div class="star yellow"> <svg data-name="sf_star_yellow" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 285.8" style="enable-background:new 0 0 300 285.8;" xml:space="preserve"><polygon class="st0" fill="#ffcc00" points="150,0 185.4,109.2 300,109.2 207.3,176.6 242.7,285.8 150,218.3 57.3,285.8 92.7,176.6 0,109.2 114.6,109.2 "/></svg> </div> <div class="star yellow"> <svg data-name="sf_star_yellow" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 285.8" style="enable-background:new 0 0 300 285.8;" xml:space="preserve"><polygon class="st0" fill="#ffcc00" points="150,0 185.4,109.2 300,109.2 207.3,176.6 242.7,285.8 150,218.3 57.3,285.8 92.7,176.6 0,109.2 114.6,109.2 "/></svg> </div> <div class="star yellow"> <svg data-name="sf_star_yellow" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 285.8" style="enable-background:new 0 0 300 285.8;" xml:space="preserve"><polygon class="st0" fill="#ffcc00" points="150,0 185.4,109.2 300,109.2 207.3,176.6 242.7,285.8 150,218.3 57.3,285.8 92.7,176.6 0,109.2 114.6,109.2 "/></svg> </div> <div class="star yellow"> <svg data-name="sf_star_yellow" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 285.8" style="enable-background:new 0 0 300 285.8;" xml:space="preserve"><polygon class="st0" fill="#ffcc00" points="150,0 185.4,109.2 300,109.2 207.3,176.6 242.7,285.8 150,218.3 57.3,285.8 92.7,176.6 0,109.2 114.6,109.2 "/></svg> </div> </div> <div class="review-txt-outer"> <div class="review-txt "> Good bot framework for MediaWiki wikis. :) </div> </div> <div class="meta"> </div> </div> </li> <li > <div class="m-review " data-helpful-count="1.0" itemprop="review" itemscope itemtype="http://schema.org/Review" id="review-50c6668dd3179d5a26090c99" > <meta itemprop="datePublished" content="08/04/2012"> <span class="hide" itemprop="author" itemtype="http://schema.org/Person" itemscope> <meta itemprop="name" content=" radoram "> </span> <div class="footer"> <span class="author-name"> radoram </span><span class="created-date"> Posted 2012-08-04 </span> </div> <div class="m-stars" aria-hidden="true" itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating"> <meta itemprop="ratingValue" content="5"> <meta itemprop="worstRating" content="1"> <meta itemprop="bestRating" content="5"> <div class="star yellow"> <svg data-name="sf_star_yellow" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 285.8" style="enable-background:new 0 0 300 285.8;" xml:space="preserve"><polygon class="st0" fill="#ffcc00" points="150,0 185.4,109.2 300,109.2 207.3,176.6 242.7,285.8 150,218.3 57.3,285.8 92.7,176.6 0,109.2 114.6,109.2 "/></svg> </div> <div class="star yellow"> <svg data-name="sf_star_yellow" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 285.8" style="enable-background:new 0 0 300 285.8;" xml:space="preserve"><polygon class="st0" fill="#ffcc00" points="150,0 185.4,109.2 300,109.2 207.3,176.6 242.7,285.8 150,218.3 57.3,285.8 92.7,176.6 0,109.2 114.6,109.2 "/></svg> </div> <div class="star yellow"> <svg data-name="sf_star_yellow" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 285.8" style="enable-background:new 0 0 300 285.8;" xml:space="preserve"><polygon class="st0" fill="#ffcc00" points="150,0 185.4,109.2 300,109.2 207.3,176.6 242.7,285.8 150,218.3 57.3,285.8 92.7,176.6 0,109.2 114.6,109.2 "/></svg> </div> <div class="star yellow"> <svg data-name="sf_star_yellow" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 285.8" style="enable-background:new 0 0 300 285.8;" xml:space="preserve"><polygon class="st0" fill="#ffcc00" points="150,0 185.4,109.2 300,109.2 207.3,176.6 242.7,285.8 150,218.3 57.3,285.8 92.7,176.6 0,109.2 114.6,109.2 "/></svg> </div> <div class="star yellow"> <svg data-name="sf_star_yellow" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 285.8" style="enable-background:new 0 0 300 285.8;" xml:space="preserve"><polygon class="st0" fill="#ffcc00" points="150,0 185.4,109.2 300,109.2 207.3,176.6 242.7,285.8 150,218.3 57.3,285.8 92.7,176.6 0,109.2 114.6,109.2 "/></svg> </div> </div> <div class="review-txt-outer"> <div class="review-txt "> This a very useful tool, and I am very eager to see and download the 3.x compatible version of Pywikipedia, this would be at least very helpful, especially for non-unicode applications (no need to do some tedious and random decodes/encodes anymore). </div> </div> <div class="meta"> <span class="helpful-count"><span class="user-count">1</span> <span class="user-count-label">user</span> found this review helpful.</span> </div> </div> </li> <li > <div class="m-review " data-helpful-count="0" itemprop="review" itemscope itemtype="http://schema.org/Review" id="review-50c6668dd3179d5a26090c9a" > <meta itemprop="datePublished" content="04/19/2012"> <span class="hide" itemprop="author" itemtype="http://schema.org/Person" itemscope> <meta itemprop="name" content=" yjenith "> </span> <div class="footer"> <span class="author-name"> yjenith </span><span class="created-date"> Posted 2012-04-19 </span> </div> <div class="m-stars" aria-hidden="true" itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating"> <meta itemprop="ratingValue" content="5"> <meta itemprop="worstRating" content="1"> <meta itemprop="bestRating" content="5"> <div class="star yellow"> <svg data-name="sf_star_yellow" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 285.8" style="enable-background:new 0 0 300 285.8;" xml:space="preserve"><polygon class="st0" fill="#ffcc00" points="150,0 185.4,109.2 300,109.2 207.3,176.6 242.7,285.8 150,218.3 57.3,285.8 92.7,176.6 0,109.2 114.6,109.2 "/></svg> </div> <div class="star yellow"> <svg data-name="sf_star_yellow" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 285.8" style="enable-background:new 0 0 300 285.8;" xml:space="preserve"><polygon class="st0" fill="#ffcc00" points="150,0 185.4,109.2 300,109.2 207.3,176.6 242.7,285.8 150,218.3 57.3,285.8 92.7,176.6 0,109.2 114.6,109.2 "/></svg> </div> <div class="star yellow"> <svg data-name="sf_star_yellow" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 285.8" style="enable-background:new 0 0 300 285.8;" xml:space="preserve"><polygon class="st0" fill="#ffcc00" points="150,0 185.4,109.2 300,109.2 207.3,176.6 242.7,285.8 150,218.3 57.3,285.8 92.7,176.6 0,109.2 114.6,109.2 "/></svg> </div> <div class="star yellow"> <svg data-name="sf_star_yellow" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 285.8" style="enable-background:new 0 0 300 285.8;" xml:space="preserve"><polygon class="st0" fill="#ffcc00" points="150,0 185.4,109.2 300,109.2 207.3,176.6 242.7,285.8 150,218.3 57.3,285.8 92.7,176.6 0,109.2 114.6,109.2 "/></svg> </div> <div class="star yellow"> <svg data-name="sf_star_yellow" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 285.8" style="enable-background:new 0 0 300 285.8;" xml:space="preserve"><polygon class="st0" fill="#ffcc00" points="150,0 185.4,109.2 300,109.2 207.3,176.6 242.7,285.8 150,218.3 57.3,285.8 92.7,176.6 0,109.2 114.6,109.2 "/></svg> </div> </div> <div class="review-txt-outer"> <div class="review-txt "> It is really very helpful. I have used this for automated tasks in WikiMedia commons. </div> </div> <div class="meta"> </div> </div> </li> <li > <div class="m-review " data-helpful-count="0" itemprop="review" itemscope itemtype="http://schema.org/Review" id="review-50c6668dd3179d5a26090c9c" > <meta itemprop="datePublished" content="06/16/2011"> <span class="hide" itemprop="author" itemtype="http://schema.org/Person" itemscope> <meta itemprop="name" content=" hydria "> </span> <div class="footer"> <span class="author-name"> hydria </span><span class="created-date"> Posted 2011-06-16 </span> </div> <div class="m-stars" aria-hidden="true" itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating"> <meta itemprop="ratingValue" content="5"> <meta itemprop="worstRating" content="1"> <meta itemprop="bestRating" content="5"> <div class="star yellow"> <svg data-name="sf_star_yellow" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 285.8" style="enable-background:new 0 0 300 285.8;" xml:space="preserve"><polygon class="st0" fill="#ffcc00" points="150,0 185.4,109.2 300,109.2 207.3,176.6 242.7,285.8 150,218.3 57.3,285.8 92.7,176.6 0,109.2 114.6,109.2 "/></svg> </div> <div class="star yellow"> <svg data-name="sf_star_yellow" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 285.8" style="enable-background:new 0 0 300 285.8;" xml:space="preserve"><polygon class="st0" fill="#ffcc00" points="150,0 185.4,109.2 300,109.2 207.3,176.6 242.7,285.8 150,218.3 57.3,285.8 92.7,176.6 0,109.2 114.6,109.2 "/></svg> </div> <div class="star yellow"> <svg data-name="sf_star_yellow" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 285.8" style="enable-background:new 0 0 300 285.8;" xml:space="preserve"><polygon class="st0" fill="#ffcc00" points="150,0 185.4,109.2 300,109.2 207.3,176.6 242.7,285.8 150,218.3 57.3,285.8 92.7,176.6 0,109.2 114.6,109.2 "/></svg> </div> <div class="star yellow"> <svg data-name="sf_star_yellow" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 285.8" style="enable-background:new 0 0 300 285.8;" xml:space="preserve"><polygon class="st0" fill="#ffcc00" points="150,0 185.4,109.2 300,109.2 207.3,176.6 242.7,285.8 150,218.3 57.3,285.8 92.7,176.6 0,109.2 114.6,109.2 "/></svg> </div> <div class="star yellow"> <svg data-name="sf_star_yellow" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 285.8" style="enable-background:new 0 0 300 285.8;" xml:space="preserve"><polygon class="st0" fill="#ffcc00" points="150,0 185.4,109.2 300,109.2 207.3,176.6 242.7,285.8 150,218.3 57.3,285.8 92.7,176.6 0,109.2 114.6,109.2 "/></svg> </div> </div> <div class="review-txt-outer"> <div class="review-txt "> Great tool to aid us humans do tasks that need lots of work, great job! </div> </div> <div class="meta"> </div> </div> </li> <li > <div class="m-review " data-helpful-count="0" itemprop="review" itemscope itemtype="http://schema.org/Review" id="review-50c6668dd3179d5a26090c9d" > <meta itemprop="datePublished" content="06/17/2010"> <span class="hide" itemprop="author" itemtype="http://schema.org/Person" itemscope> <meta itemprop="name" content=" lsundar "> </span> <div class="footer"> <span class="author-name"> lsundar </span><span class="created-date"> Posted 2010-06-17 </span> </div> <div class="m-stars" aria-hidden="true" itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating"> <meta itemprop="ratingValue" content="5"> <meta itemprop="worstRating" content="1"> <meta itemprop="bestRating" content="5"> <div class="star yellow"> <svg data-name="sf_star_yellow" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 285.8" style="enable-background:new 0 0 300 285.8;" xml:space="preserve"><polygon class="st0" fill="#ffcc00" points="150,0 185.4,109.2 300,109.2 207.3,176.6 242.7,285.8 150,218.3 57.3,285.8 92.7,176.6 0,109.2 114.6,109.2 "/></svg> </div> <div class="star yellow"> <svg data-name="sf_star_yellow" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 285.8" style="enable-background:new 0 0 300 285.8;" xml:space="preserve"><polygon class="st0" fill="#ffcc00" points="150,0 185.4,109.2 300,109.2 207.3,176.6 242.7,285.8 150,218.3 57.3,285.8 92.7,176.6 0,109.2 114.6,109.2 "/></svg> </div> <div class="star yellow"> <svg data-name="sf_star_yellow" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 285.8" style="enable-background:new 0 0 300 285.8;" xml:space="preserve"><polygon class="st0" fill="#ffcc00" points="150,0 185.4,109.2 300,109.2 207.3,176.6 242.7,285.8 150,218.3 57.3,285.8 92.7,176.6 0,109.2 114.6,109.2 "/></svg> </div> <div class="star yellow"> <svg data-name="sf_star_yellow" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 285.8" style="enable-background:new 0 0 300 285.8;" xml:space="preserve"><polygon class="st0" fill="#ffcc00" points="150,0 185.4,109.2 300,109.2 207.3,176.6 242.7,285.8 150,218.3 57.3,285.8 92.7,176.6 0,109.2 114.6,109.2 "/></svg> </div> <div class="star yellow"> <svg data-name="sf_star_yellow" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 285.8" style="enable-background:new 0 0 300 285.8;" xml:space="preserve"><polygon class="st0" fill="#ffcc00" points="150,0 185.4,109.2 300,109.2 207.3,176.6 242.7,285.8 150,218.3 57.3,285.8 92.7,176.6 0,109.2 114.6,109.2 "/></svg> </div> </div> <div class="review-txt-outer"> <div class="review-txt "> Very useful in automating anything with Wikipedia and other Mediawiki sites. </div> </div> <div class="meta"> </div> </div> </li> </ul> <a class="read-more-link" href="/projects/pywikipediabot/reviews/#reviews">Read more reviews ></a> </section> </section> </div> </section> <section class="row m-section-additional-details psp-section collapsible-section"> <div class="small-12 columns"> <h3>Additional Project Details</h3> <section class="project-info"> <h4>Languages</h4>English</section> <section class="project-info"> <h4>Intended Audience</h4>Advanced End Users, Developers</section> <section class="project-info"> <h4>User Interface</h4>Console/Terminal</section> <section class="project-info"> <h4>Programming Language</h4><a href="/directory/python/">Python</a></section> <section class="project-info"> <h4>Related Categories</h4> <a href="/directory/frameworks/python/"><span itemprop="relatedCategory">Python Frameworks</span></a>, <a href="/directory/wiki/python/"><span itemprop="relatedCategory">Python Wiki Software</span></a>, <a href="/directory/bot-frameworks/python/"><span itemprop="relatedCategory">Python Bot Frameworks</span></a> </section> <section class="project-info"> <div class="as-header"> <h4>Registered</h4> </div> <section class="content"> 2003-10-22 </section> </section> </div> </section> <aside class="m-wide-widget m-wide-projects-widget "> <div class="as-header"> Similar Business Software </div> <div class="body"> <ul> <li> <div class="project-icon " > <img alt="MediaWiki" title="MediaWiki" src="//a.fsdn.com/allura/s/mediawiki/icon?1716931932?&w=48" loading="lazy"/></div> <div class="project-info "> <div class="result-heading-texts"> <a href="/software/product/MediaWiki/" title="Find out more about MediaWiki"> <strong>MediaWiki</strong> </a> </div> <div class="summary"> <span>MediaWiki is a collaboration and documentation platform brought to you by a vibrant community. The MediaWiki software is used by tens of thousands of websites and thousands of companies and organizations. It powers Wikipedia and also this website. MediaWiki helps you collect and organize...</span> </div> </div> <div> <a href="/software/product/MediaWiki/" title="Find out more about MediaWiki" class="button blue hollow see-project">See Software</a> </div> </li> <li> <div class="project-icon " > <img alt="BlueSpice" title="BlueSpice" src="//a.fsdn.com/allura/s/bluespice-mediawiki/icon?909f4dfde1ddce910eb139024a4f62e934dfbb484a67a804cf9ab6a51a143523?&w=48" loading="lazy"/></div> <div class="project-info "> <div class="result-heading-texts"> <a href="/software/product/BlueSpice/" title="Find out more about BlueSpice"> <strong>BlueSpice</strong> </a> </div> <div class="summary"> <span>Find everything immediately. Update knowledge faster: BlueSpice is the enterprise distribution of the famous Wikipedia software MediaWiki. Working with BlueSpice is as simple and uncomplicated as you would expect from wikis and meet the most demanding requirements. Add user-friendly extensions...</span> </div> </div> <div> <a href="/software/product/BlueSpice/" title="Find out more about BlueSpice" class="button blue hollow see-project">See Software</a> </div> </li> <li> <div class="project-icon " > <img alt="Guru" title="Guru" src="//a.fsdn.com/allura/s/guru/icon?4c7afca974ec4f186ff2ac0b8eb3e3de4b51a4673c809626834c085055c38f06?&w=48" loading="lazy"/></div> <div class="project-info "> <div class="result-heading-texts"> <a href="/software/product/Guru/" title="Find out more about Guru"> <strong>Guru</strong> </a> </div> <div class="summary"> <span>Guru is an Enterprise AI search and AI-powered knowledge platform that provides instant, trusted information from your company's scattered docs, apps, and chats when you need it without context switching. Guru's AI understands who you are and what's important to you. Forget about manually...</span> </div> </div> <div> <a href="/software/product/Guru/" title="Find out more about Guru" class="button blue hollow see-project">See Software</a> </div> </li> </ul> </div> </aside> <section class="row "> <div class="small-12 columns"> <a id="report-inappropriate" href="/projects/pywikipediabot/report_inappropriate" rel="nofollow">Report inappropriate content</a> </div> </section> </article> <div class="sterling"> <div id="SF_ProjectSum_728x90_C_wrapped" data-id="div-gpt-ad-1491500833666-0" class="draper visibility_rules v_970_xlarge v_728_leaderboard "> </div><script> /*global googletag */ if (SF.initial_breakpoints_visible.leaderboard) { (function(){ var el = document.getElementById('SF_ProjectSum_728x90_C_wrapped'); var newNode = document.createElement('div'); newNode.id = 'div-gpt-ad-1491500833666-0'; el.appendChild(newNode); }()); gptadRenderers['SF_ProjectSum_728x90_C'] = function(){ // jshint ignore:line googletag.cmd.push(function() { googletag.display('div-gpt-ad-1491500833666-0'); }); }; gptadRenderers['SF_ProjectSum_728x90_C'](); // jshint ignore:line } </script> </div> </div> </div> <div class="l-gutter"> </div> <div class="l-side-column"> <div class="scroll-fixable"> <section class="sterling"> <div id="SF_ProjectSum_300x250_A_wrapped" data-id="div-gpt-ad-1394209358855-0" class="draper multisize visibility_rules v_300_large "> </div><script> /*global googletag */ if (SF.initial_breakpoints_visible.large) { (function(){ var el = document.getElementById('SF_ProjectSum_300x250_A_wrapped'); var newNode = document.createElement('div'); newNode.id = 'div-gpt-ad-1394209358855-0'; el.appendChild(newNode); }()); gptadRenderers['SF_ProjectSum_300x250_A'] = function(){ // jshint ignore:line if (!SF.adblock) { $('#div-gpt-ad-1394209358855-0').parents('.draper').css("min-height", 250 + 13 + 12); // for height of .lbl-ad and padding } googletag.cmd.push(function() { googletag.display('div-gpt-ad-1394209358855-0'); }); }; gptadRenderers['SF_ProjectSum_300x250_A'](); // jshint ignore:line } </script> <div id="SF_ProjectSum_300x250_B_wrapped" data-id="div-gpt-ad-1394209358856-0" class="draper medrec visibility_rules v_300_large "> </div><script> /*global googletag */ if (SF.initial_breakpoints_visible.large) { (function(){ var el = document.getElementById('SF_ProjectSum_300x250_B_wrapped'); var newNode = document.createElement('div'); newNode.id = 'div-gpt-ad-1394209358856-0'; el.appendChild(newNode); }()); gptadRenderers['SF_ProjectSum_300x250_B'] = function(){ // jshint ignore:line if (!SF.adblock) { $('#div-gpt-ad-1394209358856-0').parents('.draper').css("min-height", 250 + 13 + 12); // for height of .lbl-ad and padding } googletag.cmd.push(function() { googletag.display('div-gpt-ad-1394209358856-0'); }); }; gptadRenderers['SF_ProjectSum_300x250_B'](); // jshint ignore:line } </script> </section> <aside class="m-sidebar-widget m-project-list"> <div class="as-header">Recommended Projects</div> <div class="body"> <ul > <li class="item"> <a href="/projects/keepass/" title="KeePass"> <div class="project-icon " > <img alt="KeePass" title="KeePass" src="//a.fsdn.com/allura/p/keepass/icon?1678643918?&w=48" srcset="//a.fsdn.com/allura/p/keepass/icon?1678643918?&w=72 1.5x , //a.fsdn.com/allura/p/keepass/icon?1678643918?&w=96 2x" loading="lazy"/></div> </a> <div class="pinfo-content recommended"> <a class="project-name" href="/projects/keepass/" title="Learn more about KeePass ">KeePass</a> <div class="summary"> A lightweight and easy-to-use password manager </div> </div> </li> <li class="item"> <a href="/projects/openofficeorg.mirror/" title="Apache OpenOffice"> <div class="project-icon " > <img alt="Apache OpenOffice" title="Apache OpenOffice" src="//a.fsdn.com/allura/mirror/openofficeorg/icon?1703330040?&w=48" srcset="//a.fsdn.com/allura/mirror/openofficeorg/icon?1703330040?&w=72 1.5x " loading="lazy"/></div> </a> <div class="pinfo-content recommended"> <a class="project-name" href="/projects/openofficeorg.mirror/" title="Learn more about Apache OpenOffice ">Apache OpenOffice</a> <div class="summary"> The free and Open Source productivity suite </div> </div> </li> <li class="item"> <a href="/projects/desmume/" title="DeSmuME: Nintendo DS emulator"> <div class="project-icon " > <img alt="DeSmuME: Nintendo DS emulator" title="DeSmuME: Nintendo DS emulator" src="//a.fsdn.com/allura/p/desmume/icon?1513717481?&w=48" srcset="//a.fsdn.com/allura/p/desmume/icon?1513717481?&w=72 1.5x , //a.fsdn.com/allura/p/desmume/icon?1513717481?&w=96 2x" loading="lazy"/></div> </a> <div class="pinfo-content recommended"> <a class="project-name" href="/projects/desmume/" title="Learn more about DeSmuME: Nintendo DS emulator ">DeSmuME: Nintendo DS emulator</a> <div class="summary"> DeSmuME is a Nintendo DS emulator </div> </div> </li> <li class="item"> <a href="/projects/sevenzip/" title="7-Zip"> <div class="project-icon " > <img alt="7-Zip" title="7-Zip" src="//a.fsdn.com/allura/p/sevenzip/icon?1715850074?&w=48" srcset="//a.fsdn.com/allura/p/sevenzip/icon?1715850074?&w=72 1.5x , //a.fsdn.com/allura/p/sevenzip/icon?1715850074?&w=96 2x" loading="lazy"/></div> </a> <div class="pinfo-content recommended"> <a class="project-name" href="/projects/sevenzip/" title="Learn more about 7-Zip ">7-Zip</a> <div class="summary"> A free file archiver for extremely high compression </div> </div> </li> <li class="item"> <a href="/projects/clonezilla/" title="Clonezilla"> <div class="project-icon " > <img alt="Clonezilla" title="Clonezilla" src="//a.fsdn.com/allura/p/clonezilla/icon?1588915417?&w=48" srcset="//a.fsdn.com/allura/p/clonezilla/icon?1588915417?&w=72 1.5x , //a.fsdn.com/allura/p/clonezilla/icon?1588915417?&w=96 2x" loading="lazy"/></div> </a> <div class="pinfo-content recommended"> <a class="project-name" href="/projects/clonezilla/" title="Learn more about Clonezilla ">Clonezilla</a> <div class="summary"> A partition and disk imaging/cloning program </div> </div> </li> </ul> </div> </aside> <section class="sterling"> <div id="SF_ProjectSum_300x250_C_wrapped" data-id="div-gpt-ad-1394209358857-0" class="draper medrec visibility_rules v_300_large "> </div><script> /*global googletag */ if (SF.initial_breakpoints_visible.large) { (function(){ var el = document.getElementById('SF_ProjectSum_300x250_C_wrapped'); var newNode = document.createElement('div'); newNode.id = 'div-gpt-ad-1394209358857-0'; el.appendChild(newNode); }()); gptadRenderers['SF_ProjectSum_300x250_C'] = function(){ // jshint ignore:line googletag.cmd.push(function() { googletag.display('div-gpt-ad-1394209358857-0'); }); }; gptadRenderers['SF_ProjectSum_300x250_C'](); // jshint ignore:line } </script> </section> <aside class="m-sidebar-widget"> <div class="as-header">Related Business Categories</div> <div class="body"> <ul> <li class="item"> <a href="/software/development-frameworks/">Development Frameworks</a> </li> <li class="item"> <a href="/software/corporate-wiki/">Corporate Wiki</a> </li> </ul> </div> </aside> </div> <script> if (!SF.adblock && SF.initial_breakpoints_visible.large) { bizx.cmp.ifConsent({ purposes: 'all', vendors: 'google-ads'}, function() { SF.Ads.scrollFixable = new SF.ScrollFixable($('.scroll-fixable').eq(0), {"adjustHorizontal":false,"avoidElement":".l-header-nav, .l-header-nav-bottom","watchAvoidStickiness":true}); if (SF.Ads.acceptable_ads_active){ SF.Ads.scrollFixable.disable(); } }); } </script> <div class="sterling"> <div id="SF_Mobile_Multi_C_wrapped" data-id="div-gpt-ad-1512154755912-0" class="draper multisize "> </div><script> /*global googletag */ if (!SF.initial_breakpoints_visible.leaderboard) { (function(){ var el = document.getElementById('SF_Mobile_Multi_C_wrapped'); var newNode = document.createElement('div'); newNode.id = 'div-gpt-ad-1512154755912-0'; el.appendChild(newNode); }()); gptadRenderers['SF_Mobile_Multi_C'] = function(){ // jshint ignore:line googletag.cmd.push(function() { googletag.display('div-gpt-ad-1512154755912-0'); }); }; gptadRenderers['SF_Mobile_Multi_C'](); // jshint ignore:line } </script> </div> </div> </div> <footer class="sandiego"> <div class="as-row"> <div class="footer-wrapper"> <nav aria-label="Site Links" role="navigation"> <section> <div class="as-h2">SourceForge</div> <ul> <li><a href="/create/" title="Create a Project">Create a Project</a></li> <li><a href="/directory/" title="Open Source Software Directory">Open Source Software</a></li> <li><a href="/software/" title="Business Software Directory">Business Software</a></li> <li><a href="/top" title="Top Open Source Projects">Top Downloaded Projects</a></li> </ul> </section> </nav> <nav aria-label="Company Links" role="navigation"> <section> <div class="as-h2">Company</div> <ul> <li><a href="/about">About</a></li> <li><a href="/about/leadership" title="Open Source Software Directory">Team</a></li> <li class="h-card"> <address> <span class="p-name p-org">SourceForge Headquarters</span><br> <span class="p-street-address">225 Broadway Suite 1600</span><br> <span class="p-locality">San Diego, CA <span class="p-postal-code">92101</span></span><br> <span class="p-tel">+1 (858) 454-5900</span><br> </address> </li> <li id="social"> <span></span> <a href="https://twitter.com/sourceforge" class="twitter" rel="nofollow" target="_blank" title="SourceForge on X"> <svg class="vertical-icon-fix" data-name="twitter" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1684 408q-67 98-162 167 1 14 1 42 0 130-38 259.5t-115.5 248.5-184.5 210.5-258 146-323 54.5q-271 0-496-145 35 4 78 4 225 0 401-138-105-2-188-64.5t-114-159.5q33 5 61 5 43 0 85-11-112-23-185.5-111.5t-73.5-205.5v-4q68 38 146 41-66-44-105-115t-39-154q0-88 44-163 121 149 294.5 238.5t371.5 99.5q-8-38-8-74 0-134 94.5-228.5t228.5-94.5q140 0 236 102 109-21 205-78-37 115-142 178 93-10 186-50z"/></svg></a> <a href="https://fosstodon.org/@sourceforge" rel="me nofollow" target="_blank" title="SourceForge on Mastodon"> <svg class="vertical-icon-fix" data-name="mastodon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg></a> <a href="https://www.facebook.com/sourceforgenet/" class="facebook" rel="nofollow" target="_blank" title="SourceForge on Facebook"> <svg data-name="facebook" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1343 12v264h-157q-86 0-116 36t-30 108v189h293l-39 296h-254v759h-306v-759h-255v-296h255v-218q0-186 104-288.5t277-102.5q147 0 228 12z"/></svg></a> <a href="https://www.linkedin.com/company/sourceforge.net" class="linkedin" rel="nofollow" target="_blank" title="SourceForge on LinkedIn"> <svg data-name="linkedin" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M477 625v991h-330v-991h330zm21-306q1 73-50.5 122t-135.5 49h-2q-82 0-132-49t-50-122q0-74 51.5-122.5t134.5-48.5 133 48.5 51 122.5zm1166 729v568h-329v-530q0-105-40.5-164.5t-126.5-59.5q-63 0-105.5 34.5t-63.5 85.5q-11 30-11 81v553h-329q2-399 2-647t-1-296l-1-48h329v144h-2q20-32 41-56t56.5-52 87-43.5 114.5-15.5q171 0 275 113.5t104 332.5z"/></svg></a> <a href="/user/newsletters" rel=nofollow class="newsletter" title="Subscribe to our newsletter"> <svg class="vertical-icon-fix" data-name="mmSF_11mail" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 42 42" enable-background="new 0 0 42 42" xml:space="preserve"><path fill="#FFFFFF" d="M0,6v30h42V6H0z M24.2,21.2c-0.8,0.8-2.3,2-3.2,2c-0.9,0-2.4-1.2-3.2-2L5.8,9.7h30.3L24.2,21.2z M13.7,21l-9.9,9.4V11.6L13.7,21z M15.7,23L15.7,23c0.5,0.5,2.9,2.9,5.3,2.9c2.4,0,4.8-2.4,5.2-2.8l0.1-0.1l9.8,9.4H5.8L15.7,23z M28.3,21l9.9-9.5v18.9L28.3,21z"/></svg></a> <span></span> </li> </ul> </section> </nav> <nav aria-label="Resources Links" role="navigation"> <section> <div class="as-h2">Resources</div> <ul> <li><a href="/support" title="Support Section">Support</a></li> <li><a href="/p/forge/documentation/Docs%20Home/" title="Site Documentation">Site Documentation</a></li> <li><a href="https://fosstodon.org/@sourceforgestatus" title="Site Status" rel="me nofollow">Site Status</a></li> <li><a href="/reviews" title="Reviews" rel="me nofollow">SourceForge Reviews</a></li> </ul> </section> </nav> <section class="footer-logo"> <a href="/" title="Home" class="sf-logo"> <img src="//a.fsdn.com/con/images/sandiego/sf-logo-full.svg" alt="SourceForge logo" class="sf-logo-full"/> </a> </section> </div> </div> <section class="l-nav-bottom"> <nav class="row"> <div class="columns small-12 large-6 copyright-notice"> © 2024 Slashdot Media. All Rights Reserved. </div> <div class="columns large-6 links links-right"> <a href="https://slashdotmedia.com/terms-of-use" target="_blank" title="Terms" rel="nofollow">Terms</a> <a href="https://slashdotmedia.com/privacy-statement/" target="_blank" title="Privacy" rel="nofollow">Privacy</a> <a href="https://slashdotmedia.com/opt-out-choices" target="_blank" title="Opt Out" rel="nofollow">Opt Out</a> <a href="https://slashdotmedia.com/contact/" target="_blank" title="Advertise" rel="nofollow">Advertise</a> </div> </nav> </section> </footer> </div> <script src="//a.fsdn.com/con/js/min/sf.sandiego-base.js?1732638179"></script> <script> /* global Dropzone */ Dropzone.options.blockthisForm = false; </script> <script src="//a.fsdn.com/con/js/min/sf.sandiego-foundation-base.js?1732638179"></script> <script src="//a.fsdn.com/con/js/min/sf.sandiego-foundation-tooltip.js?1732638179"></script> <script> /* global Foundation */ $(document).foundation(); Foundation.Triggers.forceListenersNow(); </script> <script> bizx.cmp.ifConsent('', ['all', 'google-ads'], function () {}, function () { $('body').addClass('no-ads-consent'); }); </script> <noscript><p><img src="https://analytics.slashdotmedia.com/index.php?idsite=39" style="border:0;" alt="" /></p></noscript> <script> function geturl(url, params) { params = Object .keys(params) .map(function(key) { return key + "=" + encodeURIComponent(params[key]); }) .join("&"); return url + "?" + params; } function loadimg(params, dimension_prefix) { params = Object.assign({"idsite":1,"rec":1,"rand":83783,"dimension2":"pg_project","url":"https://sourceforge.net/projects/pywikipediabot/","action_name":"pywikibot download | SourceForge.net"}, params); for (var key in params) { if (params.hasOwnProperty(key) && key.indexOf('dimension') === 0 && params[key] !== undefined) { params[key] = (dimension_prefix||'') + params[key]; } } params.rand = Math.floor(Math.random() * 100000); bizx.cmp.ifConsent('publisher', ['measurement'], function() { var url = geturl("//sourceforge.net/software/visit", params); if (!('sendBeacon' in navigator) || !navigator.sendBeacon(url)) { var img = document.createElement('img'); img.src = url; img.style = "border:0;position:absolute;top:0;"; img.alt = ""; document.body.appendChild(img); } }); } var $typeaheads = $('.typeahead__container input[name=q]'); $typeaheads.on('typeahead-item-clicked', function(ev, $typeahead, q, item){ var groupIndex = ($typeahead.data('groups') || []).indexOf(item.group); if (groupIndex === 2 || groupIndex === 3) { loadimg({ 'e_c': 'Search | Typeahead | ' + item.group, 'e_a': "Typeahead Click | q=" + q, 'e_n': item.href, }, 'typeahead_on_'); } }); </script> <script type="text/javascript"> bizx.cmp.ifConsent({purposes: 'all', vendors: '6sense'}, async() => { (function(){var s = document.getElementsByTagName("script")[0]; var b = document.createElement("script"); b.type = "text/javascript";b.async = true;b.defer=true;b.id='6senseWebTag'; b.src = "https://j.6sc.co/j/58729049-be80-466a-9abf-b3911430bbd8.js"; s.parentNode.insertBefore(b, s);})(); }); </script> <!-- CCM Tag --> <script> (function () { bizx.cmp.ifConsent({ purposes: 'all', vendors: 'bombora'}, function () { /*global _ml:true, window */ _ml = window._ml || {}; _ml.eid = '771'; _ml.fp = '69eed083-b9d1-4a8c-80cd-7d2d1f558f98'; var s = document.getElementsByTagName('script')[0], cd = new Date(), mltag = document.createElement('script'); mltag.type = 'text/javascript'; mltag.async = true; mltag.defer = true; mltag.src = '//ml314.com/tag.aspx?' + cd.getDate() + cd.getMonth() + cd.getFullYear(); s.parentNode.insertBefore(mltag, s); }); })(); </script> <!-- End CCM Tag --> <!-- Hubspot tracking --> <div id="overlay-blockthis-wrapper" style="display: none;"> <div id="overlay-blockthis"> <div class="as-h2 title">Thanks for helping keep SourceForge clean.</div> <a href="#" id="btn-blockthis-close">X</a> <form class="dropzone small-12" action="/api/instrumentation/gpt" id="blockthisForm" method="POST"> <div class="row small-12"> <div class="column description small-12"> <input type="hidden" name="_visit_cookie" value="69eed083-b9d1-4a8c-80cd-7d2d1f558f98"/> <input type='hidden' name='timestamp' value='1732993418'/> <input type='hidden' name='spinner' value='XRgGjQGPJv1bJrQo1uhmzXKJguvA'/> <p class='Ob1a4354ba66c25d6501076e7f473f26c3948a739'><label for='XQWnDjC4GwrDCj2ZAAMKwUgtcwpjDpcOww7TCoGU'>You seem to have CSS turned off. Please don't fill out this field.</label><input id='XQWnDjC4GwrDCj2ZAAMKwUgtcwpjDpcOww7TCoGU' name='XQGnDjC4GwrDCj8OfZBdtwoTDvzIKDjZ6L1A' type= 'text'/></p> <p class='Ob1a4354ba66c25d6501076e7f473f26c3948a739'><label for='XQWnDjC4GwrDCj2dAAMKwUgtcwpjDpcOww7TCoGU'>You seem to have CSS turned off. Please don't fill out this field.</label><input id='XQWnDjC4GwrDCj2dAAMKwUgtcwpjDpcOww7TCoGU' name='XQGnDjC4GwrDCjsOfZBdtwoTDvzIKDjZ6L1A' type= 'text'/></p> Briefly describe the problem (required): <input name="XTWXDhjMAwrvDlibCvcOEZVszwrQJOxMlwpFJ" type="text" required> </div> </div> <div class="column small-12"> <div class="upload-text">Upload screenshot of ad (required):</div> <div id='upload-it'> <a href="#" id="upload-select-file">Select a file</a>, or drag & drop file here. </div> <div id="upload-it-placeholder"></div> <div class="dropzone-previews" style="display: none"></div> <div class="dz-message" style="display: none"></div> <div id="dropzone-preview-template" style="display: none"> <div class="dz-preview dz-file-preview"> <img data-dz-thumbnail src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" alt=""/> <div class="dz-success-mark"><span>✔</span></div> <div class="dz-error-mark"><span>✘</span></div> <div class="dz-error-message"><span data-dz-errormessage></span></div> </div> </div> </div> <div class="column small-12"> <u>Screenshot instructions:</u> <a data-external target=_blank href="http://windows.microsoft.com/en-us/windows/take-screen-capture-print-screen#take-screen-capture-print-screen=windows-8">Windows</a> </div> <div class="row small-12"> <div class="column large-5 small-6"> <p> <u>Click URL instructions:</u><br> Right-click on the ad, choose "Copy Link", then paste here →<br> (This may not be possible with some types of ads) </p> <a class="more-info" href="https://sourceforge.net/p/forge/documentation/Report%20a%20problem%20with%20Ad%20content/" target="_blank">More information about our ad policies</a> </div> <div class="column large-7 small-6"> <p>Ad destination/click URL: <input name="XT2LDjykAwqLDoCPCu8OBwoPCmAB:AhnCicOZw6hk" type="url" required> </p> <textarea id="gpt-info" name="XQmXDgjQCQBLDrMKuHE8eA0snRjfDgG5_"></textarea> <input class="button" type="submit" id="btn-blockthis-submit" value="Submit Report"> </div> </div> </form> </div> </div> <script> bizx.cmp.ifConsent('', ['all'], function () { bizx.cmp.embedScript('//ads.pro-market.net/ads/scripts/site-143572.js'); }); </script><script> bizx.cmp.ifConsent('', ['all'], function () { try{(function(){ var cb = new Date().getTime(); var s = document.createElement("script"); s.defer = true; s.src = "//tag.crsspxl.com/s1.js?d=2396&cb="+cb; var s0 = document.getElementsByTagName('script')[0]; s0.parentNode.insertBefore(s, s0); })();}catch(e){} }); </script> <script type="text/javascript"> bizx.cmp.ifConsent('', ['all'], function () { /* jshint ignore:start */ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); /* jshint ignore:end */ window.dataLayer = window.dataLayer || []; function gtag(){ window.dataLayer.push(arguments); } window.gtag = window.gtag || gtag; bizx.cmp.embedScript("https://www.googletagmanager.com/gtag/js"); gtag('js', new Date()); gtag('set', { 'page_location': 'https://sourceforge.net/projects/pywikipediabot/', }); }); </script> <script> /*global ga, gtag */ SF.devicePixelRatio = Math.round(window.getDevicePixelRatio()*10)/10; bizx.cmp.ifConsent('', ['all'], function () { gtag('config', 'G-1H226E4E4L', { send_page_view: false, 'SF_Project_Shortname': 'pywikipediabot', 'SF_Page_Type': 'pg_project', user_properties: { 'SF_Logged_in': 'Logged Out', }, 'SF_Ads_Disabled': 'No', 'SF_Prebid_Load_Method': 'sync', 'devicePixelRatio': SF.devicePixelRatio, }); gtag('event', 'page_view', { send_to: 'G-1H226E4E4L' }); }); </script> <script src="//a.fsdn.com/con/js/min/sf.sandiego-project.js?1732638179"></script> </body> </html>