Skip to main content

Graphical editor for physical modeling and simulation.

Project description

drawing

Nodedge

A Python3 graphic environment for next-generation engineering.

Nodedge.io

PyPI - Nodedge Version PyPI - Python Version License Test Status Test Coverage Documentation Status Code Style Code Scanning

What 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 and simulate dynamical systems such as robotic, physical, and chemical systems
  • generate Python code from your graphic models with a simple click
  • interactively plot and edit the data generated by your simulation
  • plot and analyze log files with common extensions like csv, mf4, mat, and others.

nodedge

Installation

You can install Nodedge in different ways.

Download the installer

  • Windows: download latest release
  • macOS: 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 pip

Alternatively, you can install Nodedge form pip with:

pip install nodedge

Clone from GitHub

Alternatively, you can clone our project from Github and install the requirements with:

git clone https://github.com/nodedge/nodedge nodedge
cd nodedge
pip install -r .\requirements\freeze\requirements_dev.txt

Quick start examples

The list of examples is constantly expanding. You can find an up-to-date list in the examples folder on GitHub. The examples provided below will allow you to get started with Nodedge.

Create a model in Nodedge

In this example, we demonstrate how to create a model in Nodedge to calculate the gravitational force between two objects:

  1. In Nodedge, create a new file by clicking on File > New
  2. Add input nodes to your model to represent the constant variables of the gravitational force. From the Node libraries widget on the right, drag-and-drop Input nodes to the scene and insert the constant values in their labels
  3. Rename the input nodes by editing their title in the Node details widget on the right
  4. From the Operator library, drag-and-drop Multiplication, Division, and Power nodes to the scene and connect them to the input nodes
  5. Connect 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.


gravitational_force_example

Open a dataset in Dats

In this example, we show you how to import a dataset into Dats, plot the signals contained within it, and add new ones:

  1. Open Dats by clicking on its icon in the home page
  2. Click on File > Open then navigate to the example file examples/csv_analyzer/reinforcement_learning_data.csv
  3. Click on Open
  4. From the Variables widget on the left, select init_x and target_x by clicking on their labels
  5. Plot the curves by:
    • clicking on the Plot button, or
    • drag-and-dropping the signals to the worksheet
  6. Right-click on the worksheet window, then click on Add subplot
  7. Plot the init_y and target_y signals as done at step 5
  8. To save the current Dats configuration, click on File > Save configuration, then navigate to the folder where you want to save the configuration file and enter a file name like csv_analyzer_config.json. Click on Save

Congratulations! You have successfully analyzed your first dataset in Dats!


csv_analyzer_example

Roadmap

Nodedge 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, including hdf, 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 future
  • In Nodedge, add support for the simulation of dynamic systems. In particular, add a widget for the selection of a solver and its configuration, as well as start/pause/stop buttons and others
  • In Nodedge and Dats, add support for robotics-specific features, such as embedded code generation for common hardware platform, real-time data acquisition and inspection

Contributing

You can contribute to Nodedge in several ways:

For developing Nodedge, we recommend using PyCharm IDE. You can find helpful information on how to install and set it up on Nodedge Wiki and PyCharm website.

History

0.1.0 (2019-12-12)

  • First release as a library

0.2.0 (2020-01-06)

  • First implementation of calculator functions

0.2.1 (2020-03-22)

  • Cleaning and add documentation

0.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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nodedge-0.5.1.tar.gz (48.2 MB view details)

Uploaded Source

Built Distribution

nodedge-0.5.1-py3-none-any.whl (219.8 kB view details)

Uploaded Python 3

File details

Details for the file nodedge-0.5.1.tar.gz.

File metadata

  • Download URL: nodedge-0.5.1.tar.gz
  • Upload date:
  • Size: 48.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for nodedge-0.5.1.tar.gz
Algorithm Hash digest
SHA256 7124e1bf645fb7eaf9da4cd9d7a2aa9915a6efabff387908f5adc631de6c15af
MD5 f105a09651be2c8b1d14cba8382f8225
BLAKE2b-256 ff7a26320c44d6b268b2666ae740694d1707dafcaf829843aebf4df26c9b3092

See more details on using hashes here.

File details

Details for the file nodedge-0.5.1-py3-none-any.whl.

File metadata

  • Download URL: nodedge-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 219.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for nodedge-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2382b2e16a0529312925e6b1aa1af631f5c51fabe4bd6791aae45a3cb7efd81f
MD5 8f941142ddcd106ee282f11c6aa7a7c3
BLAKE2b-256 6e9b73a2ddf8201fb97fc3dbd64b273023fcc285d02c03fc9eeee887b0595ce7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page