Skip to content

Releases: oharu121/python-clack

v0.1.2 - Add interactive demo menu system

25 Jan 11:36
81e73a7

Choose a tag to compare

Status: Completed
Date: 2026-01-25

Goal

Transform python-clack-demo from a single fixed demo into an interactive menu where users can choose different demos to explore. Each demo showcases different features and use cases of the library.

Summary of Changes

  • Added interactive demo menu using select() to choose demos
  • Created 5 focused demo modules covering different use cases:
    • Quick Tour: Overview of all prompt types
    • Form Wizard: Multi-step form using group() with validation
    • Configuration Builder: Settings with disabled options
    • Progress & Logging: Spinner states and all log levels
    • Validation Showcase: Input validation patterns
  • Switched from mypy to pyright for type checking
  • Fixed type errors in prompts.py using cast()
  • Updated CI workflow to use pyright
  • Added tool cache documentation to dev notes

Files Modified

Breaking Changes

None

Deprecations

  • mypy configuration removed in favor of pyright

v0.1.1 - Add Dependabot, examples structure, dev testing

24 Jan 13:32

Choose a tag to compare

Status: Completed
Date: 2026-01-24

Goal

Add CI/CD automation with Dependabot for dependency updates, restructure examples to follow Python package conventions, and add developer testing infrastructure.

Summary of Changes

  • Added Dependabot configuration for Python pip ecosystem and GitHub Actions
  • Added auto-merge workflow for Dependabot PRs (minor/patch versions)
  • Restructured examples from root main.py to examples/ directory
  • Added CLI entry point python-clack-demo for quick testing
  • Created internal _demo.py module for CLI support
  • Updated README with "Try It Out" section
  • Documented Python package example patterns in dev notes

Files Modified

Files Removed

  • main.py - Replaced by examples/basic.py

Breaking Changes

None

Deprecations

None

v0.1.0 - Initial release of python-clack

24 Jan 05:53

Choose a tag to compare

Goal

Create a Python port of the Node.js clack package for building beautiful, interactive command-line interfaces. The library provides styled prompts, utilities, and messages with automatic Unicode/ASCII fallback support.

Summary of Changes

  • Implemented core prompt system with state machine architecture
  • Added text input prompt with placeholder, validation, and default values
  • Added select prompt for single selection with arrow key navigation
  • Added multiselect prompt with space toggle and select all/invert
  • Added confirm prompt for yes/no with y/n keyboard shortcuts
  • Added password prompt with masked input
  • Added spinner with animated loading indicator
  • Added log utilities (info, success, warn, error, step)
  • Added intro/outro/cancel message banners
  • Added group function for sequential prompt execution
  • Implemented automatic Unicode/ASCII fallback based on terminal capabilities
  • Uses prompt_toolkit for cross-platform input handling
  • Uses rich for terminal colors and styling

Files Modified

Breaking Changes

None (initial release)

Deprecations

None (initial release)