awesome-python icon indicating copy to clipboard operation
awesome-python copied to clipboard

Add watchfiles

Open K-dash opened this issue 1 year ago • 2 comments

What is this Python project?

watchfiles is a simple, modern, and high-performance file watching and code reload library for Python. Its key features include:

  • Efficient file system notifications using the Rust-based Notify library
  • Both synchronous and asynchronous APIs (watch, awatch, run_process, arun_process)
  • Ability to monitor multiple files and directories simultaneously
  • Customizable filters for detecting specific changes
  • Command-line interface (CLI) for running and reloading Python code
  • Used by uvicorn for its hot reload feature, enhancing development workflows

What's the difference between this Python project and similar ones?

watchfiles stands out from other file monitoring libraries(ex: watchdog) in several ways:

  • Performance
    • Rust-based implementation offers superior speed and efficiency
  • Cross-platform compatibility
    • Optimized for Linux, macOS, and Windows
  • API simplicity
    • Intuitive and easy-to-use interface
  • Asynchronous support
    • Seamless integration with asyncio
  • Customizability
    • Flexible filtering options for monitoring specific file types or changes
  • Active development
    • Ongoing improvements and bug fixes
  • Comprehensive documentation
    • https://watchfiles.helpmanual.io/
  • Integration with popular tools
    • Powers uvicorn's hot reload functionality
  • Modern design
    • Built to address contemporary Python development needs
  • Efficient resource usage
    • Implements debouncing to group changes and reduce unnecessary reloads

--

Anyone who agrees with this pull request could submit an Approve review to it.

K-dash avatar Jul 28 '24 03:07 K-dash

450 opened PR's

This repository seems to be abandoned ☹

heX16 avatar Apr 24 '25 20:04 heX16

It seems like the person who did the maintenance has passed away.

iamfoysal avatar Apr 29 '25 16:04 iamfoysal