Logo Odhy Pradhana

SIPD-RI Helper

CLI

Pandas

Playwright

Python

Web Automation

SIPD-RI Helper is a Python-based command-line application that automates tasks on the SIPD-RI web application. It helps reduce human error and saves time by automating browser actions using Playwright, from login to form submission and data retrieval.

Features

  • Automates browser workflows: login, navigation, form submission, and file downloads
  • Retry mechanism for unstable elements (e.g. 404 errors, missing dropdowns)
  • CLI interface and readable logging
  • Modular structure, easy to tweak or extend for future automation needs
  • Can be compiled into .exe for use on Windows without Python

Installation

Requirements

Before installing, make sure you have the following installed:

  1. Clone and move to the repository

    git clone https://github.com/odhyp/sipd-ri.git && cd sipd-ri
    
  2. Sync dependencies

    uv sync
    
  3. Install Playwright

    playwright install chromium
    
  4. Voila! installation success

(Optional) Running the executable, no Python required

  1. Go to the Releases page
  2. Download the .zip archive for Windows
  3. Extract it
  4. Double-click the .exe to run the app

Usage

Run the CLI App

uv run main.py

If you installed using pip or have uv configured, this will launch the interactive CLI menu

Steps

  1. The app will launch a numbered menu with available automation tasks
  2. Select your desired task
  3. You’ll be prompted to select the input file if needed
  4. The browser will open and begin automation
  5. Logs will be generated under logs/

Roadmap

Planned improvements:

  • Update and sync the latest SKPD and Sub SKPD data
  • Rewrite AKLAP and PENATAUSAHAAN modules for the new SIPD-RI 2025 interface
  • Migrate to a modern Python project structure using uv

Contribute

If you’d like to contribute:

  1. Fork the repository and clone it

  2. Create your new branch:

    git checkout -b feature/your-feature
    
  3. Commit your changes

  4. Submit a Pull Request with a clear description

Before submitting, make sure to:

  • Keep code modular (follow the current project pattern)
  • Write clear commit messages
  • Test it with SIPD-RI web app beforehand

License

Distributed under the MIT License. See LICENSE for more information.