Towards idiomatic Python with types for the Odoo ORM

The Odoo ORM is extremely powerful and perfectly adapted to the dynamic and modular nature of Odoo.

However, its approach to declaring fields and class inheritance makes it difficult to leverage the capabilities of modern Python IDEs and static code analysis tools. It also leads to code that can be hard to navigate and verify as the field and method argument types are often not expressed explicitly, and the code of base classes is hard to locate.

In this fireside conversation, we shall discuss how the Odoo ORM could evolve to take advantage of syntactic Python features such as native class inheritance and type annotation.

Such an approach would open the door to leveraging modern tooling such as IDEs (for code completion, navigation, cross-referencing, and refactoring), static type checking, and code documentation.

The talk will be supported by a small, fully functional, and backward compatible patch to the Odoo ORM.
Be the first to comment