Appendix

Changelog

[3.0.8] - 2026-01-15

We fixed a bug in the UDPReceiver receiver.

  • Fixed a set/reset race condition in the UDPReceiver node

  • Fixed some bugs in the de/serialization procedure

[3.0.7] - 2026-01-12

We fixed a bug in the Router and GenericFilter nodes and updated the file writing mechanism. Also, the Equation node can now handle matrix operations.

  • Fixed a bug in synchronous/asynchronous signal propagation in the Router node.

  • Ensured numerical stability in GenericFilter nodes by avoiding FIR filters to be forced into biquad structures.

  • Split FileWriter class into a FileWriter base class and CsvWriter concrete class, to cleanly enable other formats in the future.

  • Updated the Equation node to accommodate matrix operations.

  • Minor changes in documentation

[3.0.6] - 2025-12-10 YANKED

This version contains a serious bug in the propagation of synchronous and asyncronous signals in the Router node, which has been fixed in version 3.0.7. Do not use this version.

Original changelog text:

We applied some small fixes in code and documentation and updated the FileWriter and Router node.

  • Updated FileWriter node to store timestamps instead of sample index

  • Improved performance of Router node

  • Minor fixes in documentation

[3.0.5] - 2025-10-07

We added Season 2 Episode 2 (Routing Signals) to the g.Pype Training, updated the documentation and switched the theme to dark. We also fixed some minor bugs in the g.Pype source code.

  • Migrated documentation to all black design

  • Fixed division by zero error in TimeSeriesScope

  • Router training page added

  • Changed Router input parameters from {input, output}_selector to {input, output}_channels

[3.0.4] - 2025-09-16

  • Updated unit tests

  • Updated documentation

  • Fingerprints fixed

[3.0.3] - 2025-08-04

  • BCI Core-8 source buffering optimized

  • Updated build procedure

[3.0.1] - 2025-07-17

  • Small bugfix in examples

  • New build procedure

[3.0.0] - 2025-07-15

  • Moved from metadata to contexts

  • Added various nodes (Framer, Decimator, …)

  • Implemented frames

  • Implemented multirate support

[2.1.2] - 2025-05-05

  • Added support for Python 3.8-3.13

  • Added support for macOS

  • Added basic extra nodes

  • Refactored filter implementations into distinct categories (Arithmetic, Delay, LTI, Nonlinear).

  • Added SineGenerator source node and example.

  • Significantly expanded test coverage across modules.

  • General improvements and updates across backend, frontend, examples, and configuration.

[2.1.1] - 2025-04-30

  • Minor bugfixes

[2.1.0] - 2025-04-30

  • Bugfixing

  • g.Nautilus integrated (Win only)

  • ParadigmPresenter integrated (Win only)

[2.0.0] - 2025-02-26

  • First public beta release

License

g.tec Non-Commercial License (GNCL) v1.0

Copyright (c) 2025 g.tec medical engineering GmbH

1. License Grant
Permission is hereby granted, free of charge, to any individual or
organization (the "Licensee") to use this software (the "Software")
solely for private or educational purposes, subject to the following
conditions.

2. Permitted Uses
The Licensee may use the Software:
- For private or educational purposes (e.g., academic research,
  teaching).
- In combination with a biosignal amplifier manufactured by g.tec
  medical engineering GmbH.

3. Prohibited Uses
The Licensee may not:
- Use the Software for any commercial purpose.
- Modify, distribute, or sublicense the Software in any form.
- Compile the Software into standalone executables for use outside
  an integrated development environment (IDE).
- Remove or alter any copyright, trademark, or attribution notices.
- Use the Software with third-party hardware (e.g., biosignal
  amplifiers not manufactured by g.tec medical engineering GmbH).

4. Commercial Licensing
To use the Software for commercial purposes, including but not
limited to:
- Integrating it into a product or service sold or offered for a fee.
- Deploying it as part of a commercial SaaS or cloud-based service.
A separate commercial license must be obtained from the copyright
holder. For licensing inquiries, please contact g.tec medical
engineering GmbH.

5. No Warranty
THE SOFTWARE IS PROVIDED "AS IS," WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT.

Bug Reports

To help us improve g.Pype, please file bug reports at:

When reporting a bug, include the following details for the best chance of a quick fix:

  • A clear, descriptive title

  • Steps to reproduce the issue (what you did, what you expected, what happened)

  • Your operating system and Python version

  • Any error messages or screenshots

  • (Optional) Example code or files that trigger the problem

Thanks for helping make g.Pype better!

How to Cite g.Pype

A peer-reviewed publication describing g.Pype in detail is currently in preparation and will be announced once available. In the meantime, please cite g.Pype as software using the following reference:

g.tec medical engineering GmbH. (2026). g.Pype: A Python-based real-time neuroscience and BCI framework (Version 3.0.8) [Computer software]. Available at https://github.com/gtec-medical-engineering/gpype.

Acknowledgements

Big thanks to Martin Walchshofer for early prototyping, idea exchanges, and all the inspiration. And hats off to our beta testers for reporting countless bugs and helping make g.Pype better for everyone.

References