npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

node-red-contrib-python-function

v0.0.5

Published

Define a function with Python instead of Javascript

Downloads

445

Readme

Python Function NodeRED Node

Node-RED is a wonderful tool, but Javascript can be a rather painful language to write. Being able to write functions with the language of your choice, and not just Javascript, might just be the last piece of functionality missing to make Node-RED perfect. Or not. In any case, this quick hacked node will let you write functions using Python instead of Javascript! How cool is that? Too cool to be used in production, that is for sure.

I repeat, don't use this in production. And when you do (cause you will), please tell your manager I already told you so.

Install

Requires Python (both 2.x and 3.x are supported) installed in the system.

npm install -g node-red-contrib-python-function

Usage

Just like the plain-old function node, but writting Python instead of Javascript. The msg is a dictionary, (almost) all the Node-RED helper functions are avaiable, and its behaviour is expected to be exactly the same (at some point in the future at least).

Caveats

  • Although it will accept virtually any msg you give it, any non-JSON data type will be silently dropped from the msg permanently.
  • Somethings is wrong with the current implementation of the IPC, that makes it blow up when there are +2 messages waiting to be processed
  • Python is by default a synchronous runtime. The function is run in a dedicated child process, therefore it won't block the NodeJS main process, but in any case only 1 message is processed at a time. That is, of course, unless you use any of the concurrency features available in Python, like multithreading, multiprocessing, Tornado, Twisted...
  • No sandboxing has been attempted whatsoever. After all, this is just to have some fun, not to be used in production, remember...?