vimgolf 0.5.3


pip install vimgolf

  Latest version

Released: Jan 31, 2026

Project Links

Meta
Author: Daniel Steinberg
Requires Python: >=3.5

Classifiers

Development Status
  • 4 - Beta

Intended Audience
  • Developers
  • End Users/Desktop
  • Information Technology

License
  • OSI Approved :: MIT License

Operating System
  • MacOS
  • Microsoft :: Windows
  • POSIX :: Linux
  • Unix

Programming Language
  • Python :: 3

Topic
  • Text Editors
  • Games/Entertainment

Build Status

vimgolf

This project contains a vimgolf client written in Python.

The user interface is similar to the official vimgolf client, with a few additions inspired by vimgolf-finder, and an optional way to specify keys to type when launching a challenge.

Installation

Requirements

  • Python 3.6 or greater

Install

$ pip3 install vimgolf

Update

$ pip3 install --upgrade vimgolf

Usage

Launch

If the launcher script was installed within a directory on your PATH, vimgolf can be launched directly.

$ vimgolf

Otherwise, vimgolf can be launched by passing its module name to Python.

$ python3 -m vimgolf

Commands

  vimgolf [help]                # display this help and exit
  vimgolf config [API_KEY]      # configure your VimGolf credentials
  vimgolf local IN OUT [KEYS]   # launch local challenge
  vimgolf put CHALLENGE [KEYS]  # launch vimgolf.com challenge
  vimgolf list [PAGE][:LIMIT]   # list vimgolf.com challenges
  vimgolf show CHALLENGE        # show vimgolf.com challenge
  vimgolf diff CHALLENGE        # show diff for vimgolf.com challenge
  vimgolf version               # display the version number

CHALLENGE can be a 24-character ID from vimgolf.com, or a plus-prefixed ID corresponding to the last invocation of vimgolf list. For example, a CHALLENGE of +6 would correspond to the sixth challenge presented in the most recent call to vimgolf list.

For the local command, IN and OUT are paths to files.

For the local and put commands, the optional KEYS specifies a set of keys to enter when launching the challenge. For example, ihello world<esc> would enter insert mode, type "hello world", and then switch back to normal mode. The character < is assumed to start a special sequence (e.g., <esc>) if that would be possible given the characters that follow. The input string should use <lt> to disambiguate.

Demo

License

The source code has an MIT License.

See LICENSE.

Wheel compatibility matrix

Platform Python 3
any

Files in release

No dependencies