bonsai

The compiler, IDE, and standard library for the Bonsai visual programming language for reactive systems

https://github.com/bonsai-rx/bonsai

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.8%) to scientific vocabulary

Keywords

bonsai-rx language
Last synced: 6 months ago · JSON representation ·

Repository

The compiler, IDE, and standard library for the Bonsai visual programming language for reactive systems

Basic Info
  • Host: GitHub
  • Owner: bonsai-rx
  • License: mit
  • Language: C#
  • Default Branch: main
  • Homepage: https://bonsai-rx.org
  • Size: 11 MB
Statistics
  • Stars: 160
  • Watchers: 13
  • Forks: 32
  • Open Issues: 314
  • Releases: 29
Topics
bonsai-rx language
Created almost 6 years ago · Last pushed 8 months ago
Metadata Files
Readme License Code of conduct Citation

README.md

Bonsai - Visual Reactive Programming

Download Bonsai CI Status Discord Community GitHub Discussions

This is the main repository for the Bonsai visual programming language. It contains source code for the compiler, IDE, and standard library.

With Bonsai you tell your computer what to do not through long listings of text but by manipulating graphical elements in a workflow. Bonsai is built on top of Rx.NET, and like in Rx, workflow elements in Bonsai represent asynchronous streams of data called Observables which can be connected together to perform complex operations.

Building from Source

Windows

  1. Install Visual Studio 2022. The Community Edition is available free of charge for open-source projects. Make sure the .NET Desktop Development workload is selected when running the installer.
  2. Open Bonsai.sln and select Build > Build Solution from the VS menu.

Installer

  1. Install the Wix Toolset build tools version 3.11 or greater.
  2. From Visual Studio menu, select Extensions > Manage Extensions and install the WiX Toolset Visual Studio 2022 Extension.

Debugging

The new bootstrapper logic makes use of isolated child processes to manage local editor extensions. To make it easier to debug the entire process tree we recommend installing the Child Process Debugging Power Tool extension.

Getting Help

You can find the Bonsai community in a few places: * GitHub - Announcements, general discussion and Q&A * Discord - General discussion

Contributing

Bonsai is a programming language with a growing community of users and developers. Anyone is welcome to participate by reporting bugs, proposing features or improvements, or contributing pull requests directly to our open-source repositories.

For more information please see our Contributor Guide. By contributing to our project, we also expect you to uphold our community Code of Conduct.

Documentation

The Bonsai documentation is open to community contributions. If you are interested in helping us to improve it, please take a look at our docs repo.

Owner

  • Name: Bonsai
  • Login: bonsai-rx
  • Kind: organization

A visual language for reactive programming

Citation (CITATION.cff)

cff-version: 1.2.0
title: Bonsai
repository-code: 'https://github.com/bonsai-rx/bonsai'
url: 'https://bonsai-rx.org/'
license: MIT
preferred-citation:
  type: article
  authors:
    - given-names: Gonçalo
      family-names: Lopes
      orcid: 'https://orcid.org/0000-0003-0731-4945'
    - given-names: Niccolò
      family-names: Bonacchi
    - given-names: João
      family-names: Frazão
    - given-names: Joana P.
      family-names: Neto
    - given-names: Bassam V.
      family-names: Atallah
    - given-names: Sofia
      family-names: Soares
    - given-names: Luís
      family-names: Moreira
    - given-names: Sara
      family-names: Matias
    - given-names: Pavel M.
      family-names: Itskov
    - given-names: Patrícia A.
      family-names: Correia
    - given-names: Roberto E.
      family-names: Medina
    - given-names: Lorenza
      family-names: Calcaterra
    - given-names: Elena
      family-names: Dreosti
    - given-names: Joseph J.
      family-names: Paton
    - given-names: Adam R.
      family-names: Kampff
  doi: "10.3389/fninf.2015.00007"
  journal: "Frontiers in Neuroinformatics"
  title: "Bonsai: an event-based framework for processing and controlling data streams"
  issue: 7
  volume: 9
  year: 2015

GitHub Events

Total
  • Issues event: 194
  • Watch event: 16
  • Issue comment event: 190
  • Push event: 58
  • Pull request review comment event: 30
  • Pull request review event: 38
  • Pull request event: 112
  • Fork event: 3
  • Create event: 1
Last Year
  • Issues event: 194
  • Watch event: 16
  • Issue comment event: 190
  • Push event: 58
  • Pull request review comment event: 30
  • Pull request review event: 38
  • Pull request event: 112
  • Fork event: 3
  • Create event: 1

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 5,028
  • Total Committers: 5
  • Avg Commits per committer: 1,005.6
  • Development Distribution Score (DDS): 0.01
Past Year
  • Commits: 450
  • Committers: 4
  • Avg Commits per committer: 112.5
  • Development Distribution Score (DDS): 0.022
Top Committers
Name Email Commits
glopes g****v 4,978
David Maas d****t@n****g 44
github-actions[bot] g****] 3
bruno-f-cruz b****z@g****m 2
Shawn Tan b****n@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 232
  • Total pull requests: 128
  • Average time to close issues: 4 months
  • Average time to close pull requests: 15 days
  • Total issue authors: 32
  • Total pull request authors: 8
  • Average comments per issue: 0.62
  • Average comments per pull request: 0.48
  • Merged pull requests: 87
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 123
  • Pull requests: 57
  • Average time to close issues: 27 days
  • Average time to close pull requests: 4 days
  • Issue authors: 20
  • Pull request authors: 6
  • Average comments per issue: 0.46
  • Average comments per pull request: 0.37
  • Merged pull requests: 41
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • glopesdev (108)
  • PathogenDavid (48)
  • bruno-f-cruz (24)
  • banchan86 (12)
  • ncguilbeault (6)
  • bparks13 (3)
  • J-M-White (3)
  • JO-PANDA (3)
  • cjsha (3)
  • NeuroThom (2)
  • RoboDoig (2)
  • jonnew (2)
  • vruetten (1)
  • tomasmanu (1)
  • matiasandina (1)
Pull Request Authors
  • glopesdev (91)
  • PathogenDavid (29)
  • bruno-f-cruz (4)
  • banchan86 (1)
  • monoman (1)
  • RoboDoig (1)
  • ncguilbeault (1)
  • aacuevas (1)
Top Labels
Issue Labels
bug (69) proposal (56) critical (8) feature (4) documentation (3) question (1) extensions.csproj (1) dear-imgui (1) duplicate (1)
Pull Request Labels
fix (67) feature (38) documentation (5) proposal (3) dependencies (1) bug (1)

Packages

  • Total packages: 23
  • Total downloads:
    • nuget 1,040,224 total
  • Total dependent packages: 131
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 513
  • Total maintainers: 2
nuget.org: bonsai.osc

This package provides operators to communicate with devices implementing the Open Sound Control specification.

  • Versions: 16
  • Dependent Packages: 3
  • Dependent Repositories: 0
  • Downloads: 28,623 Total
Rankings
Dependent repos count: 10.2%
Downloads: 10.7%
Average: 11.6%
Dependent packages count: 13.9%
Maintainers (2)
Last synced: 6 months ago
nuget.org: bonsai.windows.input

This package provides operators for interfacing with Windows operating system input devices.

  • Versions: 12
  • Dependent Packages: 2
  • Dependent Repositories: 0
  • Downloads: 24,774 Total
Rankings
Dependent repos count: 10.2%
Downloads: 11.9%
Average: 12.0%
Dependent packages count: 13.9%
Maintainers (2)
Last synced: 6 months ago
nuget.org: bonsai.core

This package provides common compiler and runtime infrastructure for the Bonsai programming language.

  • Versions: 38
  • Dependent Packages: 55
  • Dependent Repositories: 0
  • Downloads: 161,369 Total
Rankings
Downloads: 4.6%
Average: 12.4%
Dependent repos count: 13.8%
Dependent packages count: 18.8%
Maintainers (2)
Last synced: 6 months ago
nuget.org: bonsai.design

This package provides common visualizer and editor infrastructure for the Bonsai programming language.

  • Versions: 32
  • Dependent Packages: 18
  • Dependent Repositories: 0
  • Downloads: 86,811 Total
Rankings
Downloads: 5.6%
Average: 12.8%
Dependent repos count: 13.8%
Dependent packages count: 18.8%
Maintainers (2)
Last synced: 6 months ago
nuget.org: bonsai.system

This package provides operators to interface with the underlying operating system.

  • Versions: 26
  • Dependent Packages: 15
  • Dependent Repositories: 0
  • Downloads: 80,589 Total
Rankings
Downloads: 5.9%
Average: 12.9%
Dependent repos count: 13.8%
Dependent packages count: 18.8%
Maintainers (2)
Last synced: 6 months ago
nuget.org: bonsai

The compiler, package manager, and IDE for the Bonsai visual reactive programming language.

  • Versions: 44
  • Dependent Packages: 2
  • Dependent Repositories: 0
  • Downloads: 70,937 Total
Rankings
Downloads: 6.5%
Average: 13.0%
Dependent repos count: 13.8%
Dependent packages count: 18.8%
Maintainers (2)
Last synced: 6 months ago
nuget.org: bonsai.shaders

This package provides operators for graphics rendering and dynamic control of OpenGL shader stages.

  • Versions: 33
  • Dependent Packages: 3
  • Dependent Repositories: 0
  • Downloads: 69,473 Total
Rankings
Downloads: 6.5%
Average: 13.1%
Dependent repos count: 13.8%
Dependent packages count: 18.8%
Maintainers (2)
Last synced: 6 months ago
nuget.org: bonsai.editor

This package provides an integrated development environment for the Bonsai programming language.

  • Versions: 44
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 69,539 Total
Rankings
Downloads: 6.6%
Average: 13.1%
Dependent repos count: 13.8%
Dependent packages count: 18.8%
Maintainers (2)
Last synced: 6 months ago
nuget.org: bonsai.dsp

This package provides operators for real-time digital signal processing.

  • Versions: 23
  • Dependent Packages: 4
  • Dependent Repositories: 0
  • Downloads: 53,917 Total
Rankings
Downloads: 7.7%
Average: 13.5%
Dependent repos count: 13.8%
Dependent packages count: 18.8%
Maintainers (2)
Last synced: 6 months ago
nuget.org: bonsai.shaders.design

This package provides editor classes for specification of OpenGL shader stages.

  • Versions: 32
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 45,427 Total
Rankings
Downloads: 8.3%
Average: 13.7%
Dependent repos count: 13.8%
Dependent packages count: 18.8%
Maintainers (2)
Last synced: 6 months ago
nuget.org: bonsai.vision.design

This package provides type visualizers and editors for image processing operators.

  • Versions: 28
  • Dependent Packages: 5
  • Dependent Repositories: 0
  • Downloads: 48,420 Total
Rankings
Downloads: 9.1%
Dependent repos count: 13.8%
Average: 13.9%
Dependent packages count: 18.8%
Maintainers (2)
Last synced: 6 months ago
nuget.org: bonsai.vision

This package provides operators for real-time computer vision and image processing.

  • Versions: 24
  • Dependent Packages: 6
  • Dependent Repositories: 0
  • Downloads: 51,105 Total
Rankings
Downloads: 9.2%
Dependent repos count: 13.8%
Average: 13.9%
Dependent packages count: 18.8%
Maintainers (2)
Last synced: 6 months ago
nuget.org: bonsai.design.visualizers

This package provides visualizers for time series and other common data streams.

  • Versions: 21
  • Dependent Packages: 3
  • Dependent Repositories: 0
  • Downloads: 46,757 Total
Rankings
Downloads: 9.3%
Dependent repos count: 13.8%
Average: 14.0%
Dependent packages count: 18.8%
Maintainers (2)
Last synced: 6 months ago
nuget.org: bonsai.audio

This package provides reactive operators for sound capture and playback.

  • Versions: 20
  • Dependent Packages: 2
  • Dependent Repositories: 0
  • Downloads: 34,977 Total
Rankings
Downloads: 9.7%
Dependent repos count: 13.8%
Average: 14.1%
Dependent packages count: 18.8%
Maintainers (2)
Last synced: 6 months ago
nuget.org: bonsai.system.design

This package provides editors for IO and other system configurations.

  • Versions: 18
  • Dependent Packages: 4
  • Dependent Repositories: 0
  • Downloads: 31,584 Total
Rankings
Downloads: 10.3%
Dependent repos count: 13.8%
Average: 14.3%
Dependent packages count: 18.8%
Maintainers (2)
Last synced: 6 months ago
nuget.org: bonsai.scripting

Bonsai Scripting Library containing scripting infrastructure for Bonsai.

  • Versions: 16
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 30,175 Total
Rankings
Downloads: 10.4%
Dependent repos count: 13.8%
Average: 14.3%
Dependent packages count: 18.8%
Maintainers (2)
Last synced: 6 months ago
nuget.org: bonsai.dsp.design

This package provides type visualizers and editors for signal processing operators.

  • Versions: 18
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 30,979 Total
Rankings
Downloads: 10.4%
Dependent repos count: 13.8%
Average: 14.4%
Dependent packages count: 18.8%
Maintainers (2)
Last synced: 6 months ago
nuget.org: bonsai.starterpack

This package includes everything you need to get started building data processing workflows.

  • Versions: 23
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 26,280 Total
Rankings
Downloads: 11.7%
Dependent repos count: 13.8%
Average: 14.8%
Dependent packages count: 18.8%
Maintainers (2)
Last synced: 6 months ago
nuget.org: bonsai.player

A tool for running Bonsai workflows from the command-line.

  • Versions: 22
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 19,499 Total
Rankings
Downloads: 13.5%
Dependent repos count: 13.8%
Average: 15.4%
Dependent packages count: 18.8%
Maintainers (2)
Last synced: 6 months ago
nuget.org: bonsai.shaders.rendering

This package provides operators for rendering complex 3D scenes.

  • Versions: 7
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 6,276 Total
Rankings
Dependent repos count: 10.2%
Dependent packages count: 13.9%
Average: 16.6%
Downloads: 25.8%
Maintainers (2)
Last synced: 6 months ago
nuget.org: bonsai.templates

Templates for creating a Bonsai C# package or bootstrapping a Bonsai environment.

  • Versions: 8
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 5,458 Total
Rankings
Dependent repos count: 13.8%
Dependent packages count: 18.8%
Average: 19.9%
Downloads: 26.9%
Maintainers (1)
Last synced: 6 months ago
nuget.org: bonsai.scripting.expressions

This package provides operators implementing expression scripting infrastructure.

  • Versions: 4
  • Dependent Packages: 3
  • Dependent Repositories: 0
  • Downloads: 9,625 Total
Rankings
Dependent repos count: 13.8%
Dependent packages count: 18.8%
Average: 20.2%
Downloads: 28.0%
Maintainers (2)
Last synced: 6 months ago
nuget.org: bonsai.scripting.expressions.design

This package provides editors for expression scripting in the Bonsai programming language.

  • Versions: 4
  • Dependent Packages: 2
  • Dependent Repositories: 0
  • Downloads: 7,630 Total
Rankings
Dependent repos count: 13.8%
Dependent packages count: 18.8%
Average: 20.5%
Downloads: 28.7%
Maintainers (2)
Last synced: 6 months ago

Dependencies

Bonsai.Core.Tests/Bonsai.Core.Tests.csproj nuget
  • MSTest.TestAdapter 2.2.10
  • MSTest.TestFramework 2.2.10
  • Microsoft.NET.Test.Sdk 17.1.0
  • coverlet.collector 3.1.2
Bonsai.Setup/packages.config nuget
  • WiX 3.11.2
Bonsai.Setup.Bootstrapper/packages.config nuget
  • WiX 3.11.2
  • vc110.wixproj.redist 0.1.1
Bonsai.System.Tests/Bonsai.System.Tests.csproj nuget
  • MSTest.TestAdapter 2.2.10
  • MSTest.TestFramework 2.2.10
  • Microsoft.NET.Test.Sdk 17.1.0
  • coverlet.collector 3.1.2
Bonsai.Templates/Bonsai.PackageTemplate/ProjectTemplate.csproj nuget
  • Bonsai.Core 2.7.0
.github/workflows/build.yml actions
  • NuGet/setup-nuget v1.0.5 composite
  • actions/checkout v2.3.4 composite
  • darenm/Setup-VSTest v1 composite
  • microsoft/setup-msbuild v1 composite
Bonsai/Bonsai.csproj nuget
Bonsai.Arduino/Bonsai.Arduino.csproj nuget
Bonsai.Audio/Bonsai.Audio.csproj nuget
Bonsai.Configuration/Bonsai.Configuration.csproj nuget
Bonsai.Core/Bonsai.Core.csproj nuget
Bonsai.Design/Bonsai.Design.csproj nuget
Bonsai.Design.Visualizers/Bonsai.Design.Visualizers.csproj nuget
Bonsai.Dsp/Bonsai.Dsp.csproj nuget
Bonsai.Dsp.Design/Bonsai.Dsp.Design.csproj nuget
Bonsai.Editor/Bonsai.Editor.csproj nuget
Bonsai.Editor.Tests/Bonsai.Editor.Tests.csproj nuget
  • coverlet.collector 6.0.0 development
  • MSTest.TestAdapter 3.0.4
  • MSTest.TestFramework 3.0.4
  • Microsoft.NET.Test.Sdk 17.6.3
Bonsai.NuGet/Bonsai.NuGet.csproj nuget
Bonsai.NuGet.Design/Bonsai.NuGet.Design.csproj nuget
Bonsai.Osc/Bonsai.Osc.csproj nuget
Bonsai.Player/Bonsai.Player.csproj nuget
Bonsai.Scripting/Bonsai.Scripting.csproj nuget
Bonsai.Scripting.Expressions/Bonsai.Scripting.Expressions.csproj nuget
Bonsai.Scripting.Expressions.Design/Bonsai.Scripting.Expressions.Design.csproj nuget
Bonsai.Scripting.IronPython/Bonsai.Scripting.IronPython.csproj nuget
Bonsai.Scripting.IronPython.Design/Bonsai.Scripting.IronPython.Design.csproj nuget
Bonsai.Shaders/Bonsai.Shaders.csproj nuget
Bonsai.Shaders.Design/Bonsai.Shaders.Design.csproj nuget
Bonsai.Shaders.Rendering/Bonsai.Shaders.Rendering.csproj nuget
Bonsai.StarterPack/Bonsai.StarterPack.csproj nuget
Bonsai.System/Bonsai.System.csproj nuget
Bonsai.System.Design/Bonsai.System.Design.csproj nuget
Bonsai.Templates/Bonsai.PackageTemplate/Bonsai.PackageTemplate.csproj nuget
Bonsai.Templates/Bonsai.SinkTemplate/Bonsai.SinkTemplate.csproj nuget
Bonsai.Templates/Bonsai.SourceTemplate/Bonsai.SourceTemplate.csproj nuget
Bonsai.Templates/Bonsai.Templates/Bonsai.Templates.csproj nuget
Bonsai.Templates/Bonsai.Templates.csproj nuget
Bonsai.Templates/Bonsai.TransformTemplate/Bonsai.TransformTemplate.csproj nuget
Bonsai.Templates/Bonsai.VisualizerTemplate/Bonsai.VisualizerTemplate.csproj nuget
Bonsai.Templates/Bonsai.WorkflowTemplate/Bonsai.WorkflowTemplate.csproj nuget
Bonsai.Vision/Bonsai.Vision.csproj nuget
Bonsai.Vision.Design/Bonsai.Vision.Design.csproj nuget
Bonsai.Windows.Input/Bonsai.Windows.Input.csproj nuget
Bonsai32/Bonsai32.csproj nuget