Jump to content

Kannada Language Workshop/Resources-PAWS

From Meta, a Wikimedia project coordination wiki

Pywikibot/PAWS Workshop Training Guide

[edit]

Objective

To equip participants with the knowledge and skills to automate tasks on Wikimedia projects using Pywikibot and PAWS.

Training Agenda

[edit]

1. Introduction to Pywikibot

What is Pywikibot?

  • A Python library and collection of tools designed for automating tasks on Wikimedia wikis.
  • Benefits include saving time on repetitive edits, data processing, and reporting.

Why Use PAWS for Pywikibot?

  • PAWS (Python A Web Service) is a cloud-based Jupyter Notebook environment for Wikimedia projects.
  • Advantages:
    • No local setup required.
    • Easy access to Wikimedia API and Pywikibot library.
    • Built-in collaboration and sharing options.

2. Setting Up Pywikibot

2.1 Installing and Configuring Pywikibot Locally (Optional)

  • For local use, follow the Pywikibot Installation Guide.
  • Requirements: Python 3.x, Git, and pip.
  • Configuration steps:
    • Clone the Pywikibot repository.
    • Set up the user-config.py file.

2.2 Accessing PAWS

  • Open PAWS at https://paws.wmcloud.org.
  • Log in with your Wikimedia credentials.
  • Select "New" → "Terminal" or "Python Notebook" to start.

2.3 Setting Up Pywikibot on PAWS

  • Open a terminal in PAWS and navigate to your workspace directory.
  • Clone the Pywikibot repository:
    git clone https://gerrit.wikimedia.org/r/pywikibot/core pywikibot
    
  • Navigate to the pywikibot folder:
    cd pywikibot
    
  • Run the Pywikibot configuration script:
    pwb.py generate_user_files
    
  • Enter the required information, such as your Wikimedia username and the target wiki.

2.4 Logging In to Wikis

  • Use the following command to log in:
    pwb.py login
    
  • Authenticate with your Wikimedia credentials to enable bot actions.

3. Common Pywikibot Scripts and Their Functions

  • Basic Editing:
    • replace.py: Finds and replaces text across multiple pages.
  • Category Management:
    • add_text.py: Adds content to pages in a specific category.
    • category_redirect.py: Manages category redirects. (Details)
  • Data Processing:
    • listpages.py: Retrieves lists of pages matching specific criteria.
    • redirect.py: Finds and fixes broken or double redirects. (Details)
    • noreferences.py: Adds a reference section to pages missing one. (Details)
  • Explore the full list of scripts: Pywikibot Scripts.

4. Running Pywikibot Scripts on PAWS

4.1 Uploading Scripts

  • Upload your custom Python scripts to your PAWS workspace using the upload option or dragging files into the file manager.

4.2 Executing Scripts

  • Open a terminal in PAWS and navigate to the directory containing your script.
  • Run the script with the following command:
    pwb.py <script_name>
    

    Replace <script_name> with the script you want to execute (e.g., add_text).

4.3 Viewing Results

  • Monitor the terminal output for success messages or error logs.
  • Verify changes directly on the target wiki.

5. Workshop Exercises

  • Exercise 1: Editing a Page using add_text.py
    • Edit a user sandbox page using add_text.py.
    • Verify the edit on the wiki.
  • Exercise 2: Replacing Text
    • Use replace.py to change specific text across multiple pages.
  • Exercise 3: Proofreading Category Pages
    • Use a script to list pages in a specific category and validate their content.

6. Advanced Topics

  • Creating Custom Scripts
    • Write Python scripts to perform specific tasks by leveraging Pywikibot’s API.
    • Use Pywikibot Documentation to explore its methods and modules.

7. Wrap-Up and Q&A

Summary of Key Takeaways:

  • Pywikibot and PAWS streamline Wikimedia project contributions.
  • Automating tasks saves time and ensures consistency.

Additional Resources for Continued Learning: