---
title: watch_filters | CodeWeaver Docs
description: API reference for codeweaver.engine.watcher.watch_filters
url: "https://docs.knitli.com/api/engine/watcher/watch_filters"
type: static
generatedAt: "2026-04-17T17:21:08.636Z"
---

# watch_filters
       [Open in ChatGPT](https://chatgpt.com/?q=Read%20https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fwatcher%2Fwatch_filters%2F.%20I%20want%20to%20ask%20questions%20about%20it.)[Open in Claude](https://claude.ai/new?q=Read%20https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fwatcher%2Fwatch_filters%2F.%20I%20want%20to%20ask%20questions%20about%20it.)[View in Markdown](/codeweaver/api/engine/watcher/watch_filters.md)       [Share on LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fwatcher%2Fwatch_filters%2F)[Share on X](https://x.com/intent/tweet?url=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fwatcher%2Fwatch_filters%2F&text=watch_filters)[Share on Threads](https://threads.net/intent/post?url=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fwatcher%2Fwatch_filters%2F&text=watch_filters)[Share on Bluesky](https://bsky.app/intent/compose?text=watch_filters%20https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fwatcher%2Fwatch_filters%2F)[Share on Facebook](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fwatcher%2Fwatch_filters%2F)[Share on Reddit](https://reddit.com/submit?url=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fwatcher%2Fwatch_filters%2F&title=watch_filters)[Share on Hacker News](https://news.ycombinator.com/submitlink?u=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fwatcher%2Fwatch_filters%2F&t=watch_filters)[Share on Email](mailto:?subject=watch_filters&body=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fwatcher%2Fwatch_filters%2F)[Share on WhatsApp](https://wa.me/?text=watch_filters%20https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fwatcher%2Fwatch_filters%2F)[Share on Telegram](https://t.me/share/url?url=https%3A%2F%2Fdocs.knitli.com%2Fcodeweaver%2Fapi%2Fengine%2Fwatcher%2Fwatch_filters%2F&text=watch_filters)
# `codeweaver.engine.watcher.watch_filters`
[Section titled “codeweaver.engine.watcher.watch_filters”](#codeweaverenginewatcherwatch_filters)
File change filters based on file extensions.

## Class: `DefaultExtensionFilter`
[Section titled “Class: DefaultExtensionFilter”](#class-defaultextensionfilter)
Filter with a default excluded extension set augmented by provided ones.

## Class: `DefaultFilter`
[Section titled “Class: DefaultFilter”](#class-defaultfilter)
A default filter that ignores common unwanted files and directories.

## Class: `ExtensionFilter`
[Section titled “Class: ExtensionFilter”](#class-extensionfilter)
Filter files by extension on top of the default directory/path ignores.

## Class: `IgnoreFilter`
[Section titled “Class: IgnoreFilter”](#class-ignorefilter)
A filter that uses rignore to exclude files based on .gitignore and other rules.

`IgnoreFilter` can be initialized with either:

 - An `rignore.Walker` instance, which is a pre-configured walker that applies ignore rules.
 - A `base_path` and `settings` dictionary to create a new `rignore.Walker`.

The filter checks if a file should be included based on the rules defined in the walker. It caches results to avoid redundant checks for previously seen paths.

### Method: `from_settings`
[Section titled “Method: from_settings”](#method-from_settings)

**

```
from_settings()
```

Create an IgnoreFilter instance from settings (sync version).

Note: This method cannot set inc_exc patterns asynchronously. Use from_settings_async() for proper async initialization, or manually configure the walker’s inc_exc patterns after creation.

Args: project_path: The resolved project path dependency index_settings: The resolved indexer settings dependency

Returns: Configured IgnoreFilter instance (may need async initialization)

### Method: `from_settings_async`
[Section titled “Method: from_settings_async”](#method-from_settings_async)

**

```
from_settings_async()
```

Create an IgnoreFilter instance from settings with full async initialization.

This method properly awaits all async operations including inc_exc pattern setting. Recommended over from_settings() for production use.

Args: settings: Optional settings dictionary

Returns: Fully initialized IgnoreFilter instance