Manual:Pywikibot/Development
![]() |
Pywikibot |
---|
- If you need more help on setting up your Pywikibot visit the IRC channel
#pywikibot
connect @ freenode server or Pywikibot mailing list.
Contents
How to report a bug[edit]
When you report a bug, please try to include:
- What Pywikibot version you are using. We recommend that you test if the bug is still present in phab:diffusion/PWBC/ the latest available revision, as stored in Git.
- Python version (do
python -V
to check) and operating system you use (e.g. Windows, Linux, Mac OS...).- To do that,
version.py
will be useful.
- To do that,
- A nice summary.
- A full description of the problem/report.
- Explain the difference between expected output and real output
- How to reproduce the bug, with full information (script, command line, family, and language used).
- The console output provided by the script (included the Python traceback if you are reporting a crash).
To submit a new bug, visit the bug tracker.
Development[edit]
If you have thought of a function you want to have, and none of the bots provides it yet, you can ask one of the programmers to write it for you. Or even better, you can try to work on the bots yourself. Python is a nice language, and not hard to learn. We will welcome you.
Commit access[edit]
Anyone can get Developer access. Once you've registered, if you're interested in working on pywikibot, please email the mailing list and introduce yourself and mention what you'd like to work on, so other people can greet you.
Working with source code[edit]
- How to submit patches: configure Git and Gerrit. Follow steps in Gerrit/Getting started and run this:
#for hacking core
git clone ssh://[email protected]:29418/pywikibot/core.git
and after modifying the code, follow the steps in Gerrit/Tutorial.
Guidelines[edit]
See the general Python coding conventions and the Pywikibot development guidelines.
Documentation[edit]
This is the user and developer manual, as can be found on Manual:Pywikibot, please help keeping it updated.
The code itself is partly documented. You can find them, e.g. at:
as well as unit test code coverage reports at:
- core (see also phab:T74863)
- compat
Bot & Proxy[edit]
- Core master
Use requests environment variables. See phab:T111752.
- Core 2.0
- Add the following lines to user-config.py:
import httplib2
from httplib2 import socks
proxy = httplib2.ProxyInfo(socks.PROXY_TYPE_HTTP, 'localhost', 8080)
- Compat
- Add the following line to your user-config.py:
proxy = {'host': 'localhost:8080', 'auth': None}
Debugging network issues[edit]
See Pywikibot/mitmproxy for tips.
See also[edit]
- (SVN) Code Review - MediaWiki: Special:Code/pywikipedia
- (GIT) gerrit.wikimedia Code Review: https://gerrit.wikimedia.org/r/#/admin/projects/pywikibot