flojoy-ai / nodes Goto Github PK
View Code? Open in Web Editor NEWPlug & play nodes for the Flojoy visual scripting platform
Home Page: https://docs.flojoy.io/custom-nodes/creating-custom-node/
License: MIT License
Plug & play nodes for the Flojoy visual scripting platform
Home Page: https://docs.flojoy.io/custom-nodes/creating-custom-node/
License: MIT License
File "/home/angelchauffray/studio/PYTHON/./nodes/VISUALIZERS/PLOTLY/BAR/BAR.py", line 16, in BAR
[3] fig = px.scatter(x=x, y=y, mode="markers")
[3] TypeError: scatter() got an unexpected keyword argument 'mode'
I get the following error cloning the repo on my local machine, should I ignore it?
Cloning into 'nodes'...
remote: Enumerating objects: 2688, done.
remote: Counting objects: 100% (738/738), done.
remote: Compressing objects: 100% (392/392), done.
remote: Total 2688 (delta 391), reused 551 (delta 330), pack-reused 1950
Receiving objects: 100% (2688/2688), 5.08 MiB | 9.81 MiB/s, done.
Resolving deltas: 100% (1121/1121), done.
warning: the following paths have collided (e.g. case-sensitive paths
on a case-insensitive filesystem) and only one from the same
colliding group is in the working tree:
'INSTRUMENTS/SERIAL/SERIAL_SINGLE_MEASUREMENT/SERIAL_SINGLE_MEASUREMENT.py'
'INSTRUMENTS/Serial/SERIAL_SINGLE_MEASUREMENT/SERIAL_SINGLE_MEASUREMENT.py'
'INSTRUMENTS/SERIAL/SERIAL_TIMESERIES/SERIAL_TIMESERIES.py'
'INSTRUMENTS/Serial/Serial_timeseries/SERIAL_TIMESERIES.py'
Adding a TODO for myself to replace all `@flojoy(deps={...})` with `run_in_venv` in a single PR + decide what goes in the main env
Originally posted by @Roulbac in #276 (comment)
Not sure it already exists, but it would be nice to support hierarchical nodes. For instance, it would allow to model digital hardware (see flojoy-ai/studio#858).
Node programmers shouldn't have to implement checks for the incoming DataContainer types (i.e. make sure input 1 is of type ordered_pair
, and input 2 is matrix
) . At most, Node programmers should only have to specify "acceptable types" once in their Node class and be done with it
when we started flojoy, there was no DataContainer
class, so as convention, we used v
to denote "vector" for every input variable. Most of the nodes still use v
, but we should update it to dc
to be more precise
Eg, all instances of
@flojoy
def SOME_FUNCTION(v, params):
# bla..
should be
@flojoy
def SOME_FUNCTION(dc, params):
# bla..
we should have detailed, easy-to-follow instructions for adding python-based tests to node folders like
https://github.com/flojoy-io/nodes/tree/main/TRANSFORMERS/ARITHMETIC/ADD
keep in mind that most folks contributing nodes will be scientists/engineers who have no prior experience writing tests or even writing code outside of Python/MATLAB. so we wouldn't want to encourage JS-based cypress tests, for example
Given this flow
After being executed, the timeseries plot won't load.
I took the dc_input
from the LINE node of the timeseries, and saved it to disk. I loaded it in jupyter and the plot rendered just fine, both using px.express
and px.graph_object
Not sure why the UI can't render the timeseries plot, but it has something to do with the x
being timeseries data. If I replace it with None
or np.random.rand
in the TIMESERIES
node code, it renders as expected
This first section of documentation pages was designed to be auto-generated if the node (code) exists but the documentation page does not:
(The description at the top would be pulled from the node function docstring, and the i/o parameters would be pulled from its parameter's manifest)
Most of the nodes in this repo currently do not have a docs page, so it would be a high leverage time to write this script so that it can be used by CI or anyone contributing a node in the future. (it will also help us ensure that every node has a quality docs string!)
The scalar DataContainer is not supported by nodes such as ARITHMETIC, and VIZ nodes.
Will have to add match-case clauses to handle it.
Please add more nodes to the list that you think should handle scalars: ARITHMETIC, BIG_NUMBER, RAND, CONSTANT.
Not urgent, not related to this PR: probably we should have shared `assets` for Node at a point.
Originally posted by @jjerphan in #234 (comment)
Many nodes have this in their docstring:
If 2 arrays or matrices of different
sizes are added, the output will be the size of the larger array or matrix with
only the overlapping elements changed.
This isn't true! If you try this on the nodes now, they'll complain and fail. We need to actually implement this
@Angchau and @smahmed776 have noted that the node contribution workflow can likely be simplified with CI to only involve this repo (eg not requiring that contributors touch the studio
repo, also)
(see https://plotly.com/python/imshow/ for some usage examples)
The image key, as a string, should be the input parameter (eg, camera
or astronaut
)
(Again, with the dataset key as a param
)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.