title: Large scale server application using DDD with Python?
body: <p>We are preparing to build a large scale server application.</p>
  <p>To model the logic effectively we're planning to use DDD, including the tactical patterns such as domain events, specifications, repositories and etc...</p>
  <p>Is onion architecture applicable in Python? Are the abstraction abilities sufficient in Python?</p>
  <p>Technically speaking:</p>
  <p>I've done a little research and saw that there is no popular DI container and actually DI is considered a bad practice in Python, considering that DI is how I'm used to instantiating complex  objects in the <em>application layer</em> it seems suspicious...</p>
  <p>Architecturally speaking,
  There is no built in multithreading support in Python (CPython).
  The cooperative multithreading model offered by Python could be sufficient for single threaded architectures, with scale out options. or is it?</p>
  <p>Are there more challenges and things worth considering before diving in?</p>
  <p>The bottom line is :
  Did anyone have experience implementing a large scale enterprise application using DDD with Python?
  Or should  we stick to .NET/Java and be on the safe side?</p>