Robust Deployment.

Running/Debugging Core-Lib is as simple as running the __main__ function. Core-Lib class instance can be placed after any interface such as UnitTest, WEB, Microservice, And more.

Unit test your entire product.

Cover all your library code and dependent libraries with unit-test.

Write code that matters.

Core-Lib delegates operations that frequently repeat into tools and decorators such as Cache, Transform Data, RuleValidator, etc. Leaving you to focus on the problem at hand.

Short learning curve.

Core-Lib provides out-of-the-box a tiny subset of simple tools that are easy to master.

Risk management

Core-Lib does not delegate any third-party dependencies. It provides unique tools to manage multiple dependencies rather than being dependent on a single dependency with a risk of becoming obsolete.

Divide and Conquer

With Core-Lib, it’s easy to break, separate or change an existing product into smaller libraries (Core-Libs) and Data-Layers that are easier to read, develop, pinpoint a problem, and test.

Longevity

Core-Lib embraces the Onion Architecture 1 2 for code reuse and data flow across libraries. Reusing code and moving logic from one Data-Layer to another is straightforward.

Discover other Core-Lib’s

Core-Lib uses hydra to discover other Core-Libs configurations. And instantiate Core-Lib and its dependencies from config.

Shared knowledge

Architecture, code structure, problem resolution, state of mind, approach, knowledge, and experience will be almost the same from one Core-Lib to another.