[PR #2601] Add watchfiles #1918

Open
opened 2025-11-06 13:25:49 -06:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/vinta/awesome-python/pull/2601
Author: @K-dash
Created: 7/28/2024
Status: 🔄 Open

Base: masterHead: watchfiles


📝 Commits (1)

📊 Changes

1 file changed (+1 additions, -0 deletions)

View changed files

📝 README.md (+1 -0)

📄 Description

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
  • 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.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/vinta/awesome-python/pull/2601 **Author:** [@K-dash](https://github.com/K-dash) **Created:** 7/28/2024 **Status:** 🔄 Open **Base:** `master` ← **Head:** `watchfiles` --- ### 📝 Commits (1) - [`c344c59`](https://github.com/vinta/awesome-python/commit/c344c59d7f4493912cd7b97ed91888d03e6f4ba5) Add watchfiles ### 📊 Changes **1 file changed** (+1 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `README.md` (+1 -0) </details> ### 📄 Description ## 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. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2025-11-06 13:25:49 -06:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/awesome-python#1918