Security News
New Python Packaging Proposal Aims to Solve Phantom Dependency Problem with SBOMs
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.
a templating driven low-code framework for rapid application developmnet
:construction: Proper readme coming soon... All of this is a work in progress
low
is a framework for building systems without having to do too much programming. It's aim isn't to be an App Builder™ that require zero development experience, often systems that claim to be that have to make compromises and suffer as a result. Here are the goals:
Goal | Description | |
---|---|---|
:wrench: | Configuration driven | everything is stored as a big JSON blob (don't worry, it comes with tools to manage this and some day a UI!) |
:ballot_box_with_check: | Task driven | all functions and bits of work are broken down into simple tasks that are executed by single purpose modules called Doers |
:triangular_ruler: | Templateable | any bit of a task's configuration can be represented by a template which is compiled given an execution context |
:symbols: | Modular | everything is modules! We will provide a number of common modules that can be dropped into an system and you can very easily write your own using Typescript |
:repeat: | Cachable | outputs for each task and templated bits of task configurations can be cached given whatever parameters from the current context you want |
:recycle: | Reusable | there might be certain common tasks that are interacted with in a number of ways (web applications, task queue processors, system messages) and you might want to re-use them no matter the source of execution |
:package: | Scalable and portable | have as many nodes running your system as you like |
:fast_forward: | Rapid development | most of the above points lead to much quicker development times |
:baby_bottle: | Easy to use | once you get your head around the basic concepts, developing complex systems gets really quite simple |
There are a few concepts to help you get your head around how all of this works. The Environment
, TaskConfiguration
, ObjectCompiler
, and the 5 types of Module
. Each are explained below.
Environment
This is the base of the entire low
system. An instance of this is created and loaded with all of your task configurations and modules. It does little other than initialise everything and act as your programs reference to the low
system.
TaskConfiguration
Every program, job, website route, or whatever can be broken down into a simple task. Think of it as a function call. Take a web request for a not so simple search results page for instance, the entire arc can be broken down as follows:
In low
each of these steps can be represented as a simple configuration and grouped together using a special task type that executes tasks serially. Each of these tasks requires a bit of dynamic input based on the incoming HTTP request and results from previous tasks in the chain. That is where the ObjectCompiler
comes in.
ObjectCompiler
There are certain bits of JSON - such as your task configurations - which may need to change depending on what is being run.
TODO: Finish writing key concepts!
None of this is ready for use yet! Here is a high level list of things that need to be done.
Doers
Connector
Connector
Connector
Cache Manager
Cache Manager
Doer
Doer
Doer
Renderer
Renderer
Renderer
master
to NPMNot all of this is completely necessary to start using the system. I will be working through the tasks loosely from top to bottom. Hopefully I'll soon start to use Github Issues and Projects to manage all this. I'm a lone developer with a full time job and a wife and toddler so finding the time to get through all this isn't super easy.
FAQs
a templating driven low-code framework for rapid systems development
The npm package low receives a total of 14 weekly downloads. As such, low popularity was classified as not popular.
We found that low demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.
Security News
Socket CEO Feross Aboukhadijeh discusses open source security challenges, including zero-day attacks and supply chain risks, on the Cyber Security Council podcast.
Security News
Research
Socket researchers uncover how threat actors weaponize Out-of-Band Application Security Testing (OAST) techniques across the npm, PyPI, and RubyGems ecosystems to exfiltrate sensitive data.