Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

README.md

Resource Manager Documentation

A powerful framework for managing resource dependencies in complex systems

📚 Documentation Overview

This documentation is organized to help you effectively learn and use the Resource Manager library:

Begin your journey with the Resource Manager through our step-by-step tutorials:

  1. Introduction - Core concepts and benefits
  2. Basic Usage - Simple examples to get started
  3. Defining Resources - Detailed guide to resources
  4. Dependency Resolution - Understanding resolution
  5. Visualization - Creating dependency graphs
  6. Advanced Usage - Advanced techniques

Practical solutions for common tasks:

  1. Custom Resolution - Customize resolution logic
  2. Multiple Environments - Dev, staging, production
  3. Feature Flags - Implementing feature flags
  4. Optional Dependencies - Handle optional resources
  5. Organizing Resources - Structure complex applications

Understand how it works internally:

  1. Resource Model - Core resource concepts
  2. Resource Linking - Link mechanics
  3. Dependency Resolution - Resolution algorithm
  4. Extension Points - Extending the library

🌟 Quick Example

from resource_manager.resources import ResourceManager
from resource_manager.resolver import DepBuilder

# Create a resource manager
manager = ResourceManager()

# Add resources with dependencies
manager.add_resource(
    "database",
    config={"provides": ["database.main"]}
)

manager.add_resource(
    "application",
    config={
        "requires": ["database.main"],
        "provides": ["app.web"]
    }
)

# Resolve dependencies
resolver = DepBuilder(resources=manager, feature_names=["app.web"])
resolver.resolve()

# Print the resolved dependency order
print("Dependency order:", resolver.dep_order)

🔗 Navigation

Section Description
Tutorials Step-by-step learning path
How-To Guides Task-oriented guides
Implementation Technical details