YAPFM Documentation¶
Welcome to the comprehensive documentation for YAPFM (Yet Another Python File Manager). This documentation covers all aspects of the library, from basic usage to advanced features.
📚 Documentation Structure¶
Getting Started¶
- Installation Guide - How to install and set up YAPFM
- Quick Start - Get up and running in minutes
- User Guide - Comprehensive step-by-step guide
API Reference¶
- API Reference - Complete API documentation with examples
- Core Classes - YAPFileManager, FileManagerProxy
- Strategies - File format handlers
- Mixins - Modular functionality components
Examples and Patterns¶
- Examples - Code examples and common patterns
- Configuration Management - Real-world config examples
- Multi-Environment Setup - Managing different environments
- Advanced Patterns - Complex usage scenarios
Advanced Topics¶
- Performance Features - Caching, lazy loading, and streaming capabilities
- Advanced Features - Proxy, mixins, and strategies
- Custom Strategies - Creating your own file format handlers
- Performance Optimization - Tips for better performance
- Thread Safety - Using YAPFM in multi-threaded environments
Troubleshooting¶
- Troubleshooting - Common issues and solutions
- FAQ - Frequently asked questions
- Error Reference - Complete error reference
Development & Future¶
- Roadmap - Future enhancements and planned features
- Contributing - How to contribute to YAPFM
🚀 Quick Navigation¶
By Use Case¶
- Configuration Files: Start with User Guide → Configuration Management
- Performance & Caching: Performance Features → Caching & Streaming Examples
- Multi-Format Support: API Reference → Custom Strategies
- Logging & Monitoring: Advanced Features → Examples
- Performance Optimization: Performance Features → Troubleshooting
By Experience Level¶
- Beginner: Installation → Quick Start → User Guide
- Intermediate: Examples → API Reference → Advanced Features
- Advanced: Custom Strategies → Performance → Troubleshooting
💡 Key Concepts¶
File Manager¶
The core class that combines all functionality through mixins. Handles file operations, data access, and persistence.
Strategies¶
Format-specific handlers that know how to read and write different file types (JSON, TOML, YAML).
Mixins¶
Modular components that provide specific functionality: - FileOperationsMixin: Basic file operations (load, save, exists) - KeyOperationsMixin: Key-based data access with dot notation - SectionOperationsMixin: Section-based data management - ContextMixin: Context manager support - CacheMixin: Intelligent caching with TTL, LRU eviction, and statistics - LazySectionsMixin: Lazy loading for memory-efficient section access - StreamingMixin: Streaming functionality for large files
Proxy Pattern¶
Wrapper that adds logging, metrics, and auditing to file operations without modifying the core functionality.
🔗 External Resources¶
- GitHub Repository - Source code and issue tracking
- PyPI Package - Package installation
- Changelog - Version history and changes
📝 Contributing to Documentation¶
Found an error or want to improve the documentation? Please:
- Check the Contributing Guide
- Open an issue or pull request
- Follow the documentation style guide
This documentation is automatically generated and updated with each release.