Your Data Place Projects - Shareable Common Libraries

Sharing libraries is core to Pythons swift useability, but Python on steroids is the ability is to share them in every project, with one click.

One big feature I want to have built out before initial launch of Your Data Place is the ability to not only assemble Python projects in the cloud using a smart server-first file-system, but also the ability to flag files (then folders later) as "common SDKs", SDK being a "software development kit" which will be shareable from any form of project in Your Data Place.

This means one major thing: your functions become importable anywhere, just like your datasets, and your functions/modules basically become a form of data.

Example use-cases for this feature

The reality is there's no use-case which will come anywhere near what we'll (cause I use this platform) end up using it for. A few basic use-cases I'll be using it for are:

  • Creating short and sweet scrapers which can be orchestrated in multiple projects.
  • Create common networking protocols or requests which can be invoked from multiple projects to send data somewhere.
  • Create API wrappers which serve for the most common calls in your organization/business.
  • Create email template functions with specific business HTML which can be called in multiple projects for marketing or business logic.

How will you take this feature to another level for developers?

I've got a few ideas for how to take this new feature, and attempt to push it to its limits and create a completely progressive experience. Some ideas as of now are:

  • The quick ability to use relative paths, to create atomic SDKs which work in the project they sit in, as well as the projects they don't even expect to be in yet.
  • YDP atomicism helper - I plan to write some smart hacky Python in the YDP lib to make the imports in the code layer, and not in the UI layer. The reason is because as I've stated before, is because I believe more can be expressed in code by providing SDKs than in UIs. Anyway... I plan to make it possible to expose scripts as shareable using a simple UI flag, then importable using the common YDP library at runtime. It may be as simple as ydp.common.script_name(1, 2).

What on earth is atomic?

Just a buzzword really. All it means is that the developer/programmer has decided he'd take some more time in making sure his code is able to be used in multiple areas. I use the idea of atomic code since I found the useability/repeatability a life-saver after learning React/NextJS and TailwindCSS (which is what YDP's UI is built in).


Comments

Popular posts from this blog

Shareable data and code in YDP Projects

Siesta of YDP

The start: a week of Rust