Why I'm Building Qik
I'm a fan of monorepos. I like to avoid overly complex infrastructure. However, the consequences can oftentimes be painfully slow CI and a poor developer experience.
For example, huge Django projects can have seconds of latency to run a command, not to mention minutes of running migrations in CI just to start your test suite. Oh, you have a failing test? Have fun literally re-running everything from scratch on the next commit.
Although tools like nx have greatly benefitted JavaScript monorepos, I desired a tool like make for large Python projects that could:
- Understand the import graph, running only the things that matter.
- Support multiple virtual environments and enforce import boundaries.
- Use full file hashing to understand what's changed vs. file modification times.
Enter qik (quick).