Package: nodedge
NodedgeA Python3 graphic environment for next-generation engineering.Nodedge.ioWhat is Nodedge?Nodedge is the first open-source Python editor for scientific and engineering applications.
It provides a comprehensive graphic environment for
accelerating the design, simulation, analysis, and deployment of complex scientific and engineering systems.
With Nodedge, you can:design andsimulate dynamical systemssuch as robotic, physical, and chemical systemsgenerate Python codefrom your graphic models with a simple clickinteractively plot and edit the data generated by your simulationplot and analyze log fileswith common extensions like csv, mf4, mat, and others.InstallationYou can install Nodedge in different ways.Download the installerWindows:download latest releasemacOS: please bear with us, we are currently in the process of developing it!Linux: please bear with us, we are currently in the process of developing it!Install from pipAlternatively, you can install Nodedge form pip with:pip install nodedgeClone from GitHubAlternatively, you can clone our project fromGithuband install the requirements with:git clone https://github.com/nodedge/nodedge nodedge
cd nodedge
pip install -r .\requirements\freeze\requirements_dev.txtQuick start examplesThe list of examples is constantly expanding. You can find an up-to-date list in theexamplesfolderon GitHub.
The examples provided below will allow you to get started with Nodedge.Create a model in NodedgeIn this example, we demonstrate how to create a model in Nodedge to calculate the gravitational force between two objects:In Nodedge, create a new file by clicking onFile>NewAdd input nodes to your model to represent the constant variables of the gravitational force.
From theNode librarieswidget on the right, drag-and-dropInputnodes to the scene and insert the constant values in their labelsRename the input nodes by editing their title in theNode detailswidget on the rightFrom theOperatorlibrary, drag-and-dropMultiplication,Division, andPowernodes to the scene and connect them to the input nodesConnect an output node to display the result of the computation.Congratulations! You have just created your first Nodedge model!
If you want to compute the gravitational force for different objects, simply edit the mass values in the input nodes.
Nodedge will instantly re-evaluate the model and display the updated result.Open a dataset in DatsIn this example, we show you how to import a dataset into Dats, plot the signals contained within it, and add new ones:Open Dats by clicking on its icon in the home pageClick onFile>Openthen navigate to the example fileexamples/csv_analyzer/reinforcement_learning_data.csvClick onOpenFrom theVariableswidget on the left, selectinit_xandtarget_xby clicking on their labelsPlot the curves by:clicking on thePlotbutton, ordrag-and-dropping the signals to the worksheetRight-click on the worksheet window, then click onAdd subplotPlot theinit_yandtarget_ysignals as done at step 5To save the current Dats configuration, click onFile>Save configuration, then navigate to the folder where you want to save the configuration file
and enter a file name likecsv_analyzer_config.json. Click onSaveCongratulations! You have successfully analyzed your first dataset in Dats!RoadmapNodedge development team has a lot of exciting features planned for the future!
The project is actively being developed and there are plans to add support for a wide range of features.
If you wish to join our efforts, do not hesitate to contact us. Any help is welcome!Our roadmap includes, and is not limited to:In Dats, extend support to other file formats, includinghdf,rosag, etc.In Nodedge, add support for saving and sharing Python custom nodes in a node library. In a custom node, the user can enter a custom piece of Python code
that runs within the current Nodedge model. The custom node can be saved to the nodes library and reused it in the futureIn Nodedge, add support for thesimulationof dynamic systems. In particular, add a widget for the selection of a solver
and its configuration, as well as start/pause/stop buttons and othersIn Nodedge and Dats, add support for robotics-specific features, such asembedded code generationfor common hardware platform,
real-time data acquisition and inspectionContributingYou can contribute to Nodedge in several ways:Donate to keep Nodedge core free and open-source, provide support for current features and implement new onesSubmit your feedback. Share your goals and tell us how Nodedge can helpShare example filesReport bugs onNodedge issue trackerFix bugs and write documentation. To start contributing to Nodedge, you can check out theguidelines for contributorsFor developing Nodedge, we recommend using PyCharm IDE.
You can find helpful information on how to install and set it up onNodedge WikiandPyCharm website.History0.1.0 (2019-12-12)First release as a library0.2.0 (2020-01-06)First implementation of calculator functions0.2.1 (2020-03-22)Cleaning and add documentation0.2.2 (2020-08-02)Improve style.Add history dock widget.Add scene items dock widget.Fix crash after edge deletion.0.2.3 (2020-11-29)Add embedded python console.Add scene code generation.Add more mathematical blocks.Refine style and node displacement.Add item details widget.0.3.0 (2022-11-09)Add support for numpy operations.Add comment element.Add dats, a log analyser.