tfw you’ve created something that excites you like nothing in years but it feels like you have to write a book first to lay the context to make wide appreciation even possible

@hynek I was wondering if you'd be solving the worst part, but I think "The main downside is that it's impossible to verify whether all required dependencies have been configured without running the code." answers my question there.

That's always the tough thing; how to be sure your various environments provide the same necessary set of capabilities when not every code path is going to reach those service discovery steps. Even 100% test coverage doesn't save you :(

@offby1 @hynek I've been pestering him about this too, but I think this is surprisingly difficult to do while keeping the result actually usable. I have a completely different style of architecting my services which is also vulnerable to this.

@tintvrtkovic @hynek honestly, after a decade or more of professional focus on availability, this is largely why I avoid late-binding dependencies.

That's not to say it's automatically bad; it is, as so many things are, a tradeoff between developer ergonomics, architecture, stability, startup time, etc, etc... this definitely fills a need, and I can see why someone would use it. I’d probably use it depending on what I was building.

@offby1 @hynek Yeah, def agreed. If your errors can't be statically detected, they should at least be at import time (or start time), not request time.