Designing a Python SDK for non coders

How to design and develop Python SDKs for professionals who don't write code

Ran Zvi

APIs Architecture Clean Code Infrastructure Python 3

In recent years, the number of companies and non software engineer professionals who have started to use Python for their operational needs has skyrocketed, and with good reason!
Even those who haven't transferred their operations to Python can benefit greatly from doing so.

Python is very accessible and easy to use, readable and has a plethora of tools for every industry (data stack, ML stack, etc...).
However, as any seasoned developer would tell you, there is a difference between writing code that works, and writing good code, especially for larger scale systems.

Without sound design principles, code can quickly become:
- Difficult to understand
- Difficult to modify
- Underperforming
- Untestable
- Riddled with bugs

During this talk I will share insights for designing and creating Python SDKs that enables non coders to write code in a controlled environment, which transfers the burden of good software design principles from the users to the engineers.

The benefits of this approach are:
- Better performance
- High productivity by focusing on what matters to the users
- Lower learning curve
- Limiting the possibilities of bad practices

Topics:
- Identifying the need for an SDK
- Characterizing the different use cases
- Designing the SDK
- Python's import system
- Study case #1 - Data Analysis SQL workflow

Type: Talk (30 mins); Python level: Intermediate; Domain level: Intermediate


Ran Zvi

BlueVine

I'm a Software engineer with a strong interest in systems, infrastructure, and sound software design principles
I'm enjoy learning new things and discovering new technologies.