-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Description
Add support for loading flags from various sources beyond HTTP endpoints, making the library more versatile for different deployment scenarios.
Goals
- Support multiple storage backends
- Allow easy addition of new backends
- Maintain consistent API across backends
Proposed Storage Backends
- File System (JSON, YAML)
- Environment Variables
- Redis
- Database (SQLite, PostgreSQL)
- etcd/Consul
Example Interface
class FlagStorage(ABC):
@abstractmethod
async def load_flags(self) -> dict:
pass
@abstractmethod
async def save_flags(self, flags: dict) -> None:
pass
flaggle = Flaggle(storage=FileSystemStorage("flags.json"))Acceptance Criteria
- Abstract storage interface
- At least 2 storage implementations
- Documentation for each backend
- Migration guide for existing users
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request