iTools Walker
Asynchronous directory traversal library with concurrent processing and glob pattern support.
Features
- Asynchronous: Built on Tokio for non-blocking I/O operations
- Concurrent: Parallel directory traversal with configurable concurrency limits
- Glob Pattern Support: Includes and excludes files using glob patterns (like .gitignore)
- Flexible API: Easy-to-use interface with both callback-based and collection-based methods
- Symbolic Link Support: Optional symbolic link following
- Recursive Traversal: Configurable recursive directory traversal
Usage Examples
Basic Async Traversal
use Walker;
async
Concurrent Traversal with Concurrency Limit
use ;
async
Glob Pattern Support
use ;
async
Walk with Glob (Convenient Function)
use ;
async
Performance Benefits
- Non-blocking: Uses Tokio's async I/O for efficient directory traversal
- Parallel Processing: Concurrent traversal speeds up processing of large directory structures
- Memory Efficient: Callback-based API allows processing entries as they are found
- Flexible: Configurable concurrency limits to balance performance and system resources
Use Cases
- File System Analysis: Quickly scan large directory structures
- Build Tools: Efficiently find and process source files
- Static Site Generators: Traverse content directories with pattern matching
- Dependency Scanners: Identify files matching specific patterns
- Backup Utilities: Select files for backup based on glob patterns
Why Choose itools-walker?
- Modern Async Design: Built with Tokio for optimal performance
- Concurrent Processing: Parallel traversal for faster results
- Glob Pattern Support: Powerful filtering capabilities
- Flexible API: Choose between collection-based or callback-based approaches
- Reliable: Handles errors gracefully and provides clear error messages
- Well Documented: Comprehensive documentation and examples
License
AGPL-3.0