Skip to content

Releases: eusen/inquirer_console

inquirer_console v1.1.0

31 Mar 10:53

Choose a tag to compare

Release Notes

Release Date: 2024-03-31

We are excited to announce the release of inquirer_console v1.1.0! This version brings several important improvements and optimizations to make the API more intuitive and user-friendly.

✨ New Features

  • API Improvements:
    • Renamed select type to radio type for more intuitive naming
    • Enhanced module export mechanism for a smoother API experience
    • Mounted prompt method directly to the inquirer instance for simplified API calls

🔧 Improvements

  • Project Structure Optimization:
    • Optimized project dependency management for better build efficiency
    • Updated project version to v1.1.0

📚 Documentation

  • Updated documentation links in README file for better accessibility

🧪 Testing

  • Updated import paths in test code to ensure test case correctness
  • Enhanced test case coverage for improved code quality

💖 Acknowledgments

Thank you to all developers who contributed to this release. Your feedback and suggestions help us continuously improve this project.


Installation

# Install from PyPI
pip install inquirer_console

# Install from GitHub
pip install git+https://github.com/Eusen/inquirer_console.git

Next Steps

We plan to continue improving in future versions:

  • Add more interactive prompt types
  • Optimize performance and user experience
  • Provide more customization options
  • Enhance documentation and examples

Please continue to follow our project and submit your suggestions and feedback!

inquirer_console v1.0.7

31 Mar 10:29

Choose a tag to compare

  • Resolve document and test case errors: list -> select

inquirer_console v1.0.6

31 Mar 06:34

Choose a tag to compare

fix Select register_prompt name

inquirer_console v1.0.5

31 Mar 06:10

Choose a tag to compare

Release Notes

Release Date: 2024-03-31

✨ New Features

  • Improved Module Export Mechanism:
    • All prompt types (Input, Confirm, Select, Checkbox, Password, Text) are now directly mounted on the global inquirer instance
    • Users can now access all prompt types directly via inquirer.Input, inquirer.Select, etc.
    • Simplified import syntax, enhancing code readability and ease of use

🔧 Improvements

  • API Experience Optimization:
    • Unified the way prompt types are referenced, making the API more intuitive
    • Maintained backward compatibility, supporting both call styles (direct class import and access through the inquirer instance)

📚 Usage Examples

Using the global inquirer instance:

from inquirer_console import inquirer

# Using prompt types mounted on the inquirer instance
name = inquirer.Input(
    message="What is your name?",
    validate=lambda val: True if val else "Name cannot be empty!"
).prompt()

# Chain calls remain unchanged
answers = inquirer.prompt([
    {
        'type': 'input',
        'name': 'name',
        'message': 'What is your name?'
    },
    {
        'type': 'list',
        'name': 'favorite_lang',
        'message': 'What is your favorite programming language?',
        'choices': ['Python', 'JavaScript', 'Rust']
    }
])

🔄 Compatibility Notes

This version is fully backward compatible with v1.0.1, requiring no changes to existing code. The new export mechanism is purely to provide a more flexible usage experience.

We recommend prioritizing the use of prompt types mounted on the inquirer instance in new projects for a more concise import experience.

inquirer_console v1.0.0

31 Mar 05:38

Choose a tag to compare

Release Notes

Release Date: March 31, 2024

We are excited to announce the official release of inquirer_console v1.0.0! This is our first stable version, marking the project as production-ready. inquirer_console is a Python implementation of Inquirer.js, providing a set of well-designed interactive command line interface components.

✨ New Features

  • Core Prompt Types Implementation:

    • Input - Basic text input prompt
    • Confirm - Confirmation prompt (yes/no)
    • Select - List selection prompt (single choice)
    • Checkbox - Checkbox prompt (multiple choices)
    • Password - Password input prompt (with masking)
    • Text - Multi-line text input prompt
  • Cross-platform Compatibility:

    • Perfect support for Windows, macOS, and various Linux/Unix systems
    • Intelligent detection of terminal environment and adjustment of input/output behavior
  • Interrupt Handling:

    • Implementation of elegant Ctrl+C handling mechanism
    • Clear interruption signaling via ExitPromptError exception
  • Chainable API:

    • Fluent API similar to Inquirer.js
    • Support for defining a series of questions via dictionary lists
  • Complete Type Annotations:

    • All public APIs come with comprehensive type hints
    • Support for modern IDE code completion and type checking

🔧 Improvements

  • Zero-dependency Design:

    • Pure Python standard library implementation
    • No external dependencies required, simplifying installation and deployment
  • Customizability:

    • All prompt components support custom validation
    • Transform user input through filter functions
  • User Experience:

    • Colored output and interactive cursor movement
    • Intuitive navigation and selection mechanisms
    • Support for default values and pre-selected options

🐛 Bug Fixes

  • Fixed special key handling issues in Windows environments
  • Fixed cursor position calculation errors in multi-line text input
  • Fixed password input display issues in certain terminal environments
  • Resolved Unicode character rendering differences across platforms

📚 Documentation

  • Comprehensive README documentation (bilingual: English and Chinese)
  • Complete usage examples and API documentation
  • Detailed testing instructions

🧪 Testing

  • Implemented comprehensive automated test coverage
  • Support for pytest testing framework
  • Target test coverage of over 90%

💖 Acknowledgements

Thanks to all developers, testers, and documentation writers who contributed to this release. Special thanks to the creators of the Inquirer.js project, whose work provided inspiration and reference for us. We also appreciate the support and feedback from the Python community, helping us create this excellent interactive command line tool library.


Installation

# Install from PyPI
pip install inquirer_console

# Install from GitHub
pip install git+https://github.com/Eusen/inquirer_console.git

Future Plans

We plan to add more features and improvements in future versions:

  • New prompt types (such as editor, autocomplete, etc.)
  • More custom themes and styles
  • Support for asynchronous operations
  • Localization for more languages

Please continue to follow our project and submit your suggestions and feedback!