Package Summary
Tags | No category tags. |
Version | 0.6.12 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/plasmodic/ecto.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2018-05-14 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vincent Rabaud
- Daniel Stonier
Authors
- Ethan Rublee
- Troy Straszheim
Ecto
Ecto is a hybrid C++/Python development framework for constructing and
maintaining pipelines. In Ecto, pipelines are constructed in terms of
processing units, Cells
, connected by data paths, Tendrils
, that
form Directed Acyclic Graphs, Plasms
. Cells are typically written in
C++, tendrils may be any type, and the plasm may be executed in a
variety of clever ways. Python is uses as a the graph DSL.
Ecto may be found useful in domains such as perception, audio, or robotics.
To get started see the online docs at http://plasmodic.github.io/ecto/
Get and Build Ecto
These instructions are useful if you wish to work with Ecto from source, as a standalone library.
source
We use git for our source control. You can get a copy of our repo by doing the following:
git clone git://github.com/plasmodic/ecto.git
dependencies
Ecto requires
-
- CMake
-
CMake is used for our build system, and you will need a version >= 2.8
-
- Boost
-
Anything over 1.40 http://www.boost.org
-
- Python
-
Ecto should work with 2.6 and up. You should have the development libraries. If you are bellow 2.7 you should install the argparse library
-
- optional Sphinx
-
Docs are built with sphinx, >= v1.0.7
-
- optional gtest
On ubuntu you can get most of these through apt:
sudo apt-get install cmake libboost-all-dev python-dev python-argparse python-yaml libgtest-dev
To build the docs, you should use a very recent version of Sphinx:
sudo easy_install -U sphinx
build
To build you should just follow a normal cmake recipe:
cd ecto
mkdir -p build
cd build
cmake ..
make
test
To validate ecto using our test suite, you may:
cd ecto/build
make
ctest
This should report zero test errors. If it does report an error, please tell us about it here: https://github.com/plasmodic/ecto/issues/new
docs
To create the latest documentation for Ecto:
sudo pip install -U catkin_sphinx
sphinx-build -b html ./doc/source/ ./doc/build
To build documentation for the kitchen: :
File truncated at 100 lines see the full file
0.6.12 (2016-04-17)
- fix tests on Kinetic
- fix PySide dependency
- add missing implementation for executing That fixes #233
- install the ecto library of test cells for users to utilise in their own tests.
- checking for ecto-test target existence
- Contributors: Daniel Stonier, Vincent Rabaud, edgarriba
0.6.11 (2015-09-21)
- minor doc syntax fixes
- saner installation instructions from source.
- add missing includes to make headers compile standalone
- add cstddef to introduce std::size_t
- add parameters.hpp to its implementation (works because of #pragma once)
- fix bsd-license check script Not all Copyright is (1.) from 2011 and (2.) by Willow Garage autofix is undefined if ECTO_LICENSE_AUTOFIX is not exported.
- Re-add thread library to linker list Regression caused by 8e354b5aa8281ea8117fc93adb290998b7810be7
- docs about various entities that affect graph execution, also other minor cleanups. Removed the redundancies in the install docs (2x install instructions and 2x dependencies) and cleaned the place up a bit.
- Provide test for ecto::BREAK return value.
- implement ecto::BREAK behavior This patch makes ecto schedule the next iteration through the plasm with ecto::BREAK as discussed in https://github.com/plasmodic/ecto/issues/251
- remove some old Willow Garage URLs
- update doc's url
- Contributors: Daniel Stonier, Michael Görner, Po-Jen Lai, Scott K Logan, Vincent Rabaud, v4hn
0.6.10 (2015-07-22)
- update test for future fix
- potentially fix compilation with Boost 1.58 could be a fix for #275
- Contributors: Vincent Rabaud
0.6.9 (2015-05-08)
- re-add some Python tests
- add missing PySide dependency
- Contributors: Vincent Rabaud
0.6.8 (2015-03-13)
- threadable plasms update. This reintroduces some level of threading into ecto. It was initially removed in c2a24a51, but this left some legacy code wasn't working as expressed in the documentation. These updates allow parallel execution of plasms in separate threads. It doesn't quite reach the scope of the original plan for ecto (threading for free inside a plasms computation), but it does cover several useful scenarios.
- convenience class for scheduling plasms across threads.
- Reformatted cell processing result handler (trivial). For clarity, and points back to an issue created which discusses the BREAK/CONTINUE options.
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
- Be free of the GIL! This lets ecto pipeline processing be free of its evil overlord, the [GIL](https://wiki.python.org/moin/GlobalInterpreterLock). That is, you can now schedule different plasms in different threads...e.g. some pseudocode: # ...construct some plasms image_scheduler = ecto.Scheduler(image_plasm) odometry_scheduler = ecto.Scheduler(odometry_plasm) image_thread = threading.Thread(name="image_thread", target=image_scheduler.execute) odometry_thread = threading.Thread(name="odometry_thread", target=odometry_scheduler.execute) image_thread.start() odometry_thread.start() image_thread.join() odometry_thread.join() ``[ Of course, inside a cell's `process()]{.title-ref} call, you can always grab the GIL momentarily if you need to using the opposite macro...[ECTO_SCOPED_CALLPYTHON]{.title-ref}.
- Bugfix python lookup for internal class variables Probably went unnoticed for a long time since it wasn't used. Came across this (I think - was quite a while ago) while fleshing out pythonic cell construction with names and parameter args. Should have gone in at the same time as 39b9cad9.
- fix doc fixes #239
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ecto at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.6.12 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/plasmodic/ecto.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2018-05-14 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vincent Rabaud
- Daniel Stonier
Authors
- Ethan Rublee
- Troy Straszheim
Ecto
Ecto is a hybrid C++/Python development framework for constructing and
maintaining pipelines. In Ecto, pipelines are constructed in terms of
processing units, Cells
, connected by data paths, Tendrils
, that
form Directed Acyclic Graphs, Plasms
. Cells are typically written in
C++, tendrils may be any type, and the plasm may be executed in a
variety of clever ways. Python is uses as a the graph DSL.
Ecto may be found useful in domains such as perception, audio, or robotics.
To get started see the online docs at http://plasmodic.github.io/ecto/
Get and Build Ecto
These instructions are useful if you wish to work with Ecto from source, as a standalone library.
source
We use git for our source control. You can get a copy of our repo by doing the following:
git clone git://github.com/plasmodic/ecto.git
dependencies
Ecto requires
-
- CMake
-
CMake is used for our build system, and you will need a version >= 2.8
-
- Boost
-
Anything over 1.40 http://www.boost.org
-
- Python
-
Ecto should work with 2.6 and up. You should have the development libraries. If you are bellow 2.7 you should install the argparse library
-
- optional Sphinx
-
Docs are built with sphinx, >= v1.0.7
-
- optional gtest
On ubuntu you can get most of these through apt:
sudo apt-get install cmake libboost-all-dev python-dev python-argparse python-yaml libgtest-dev
To build the docs, you should use a very recent version of Sphinx:
sudo easy_install -U sphinx
build
To build you should just follow a normal cmake recipe:
cd ecto
mkdir -p build
cd build
cmake ..
make
test
To validate ecto using our test suite, you may:
cd ecto/build
make
ctest
This should report zero test errors. If it does report an error, please tell us about it here: https://github.com/plasmodic/ecto/issues/new
docs
To create the latest documentation for Ecto:
sudo pip install -U catkin_sphinx
sphinx-build -b html ./doc/source/ ./doc/build
To build documentation for the kitchen: :
File truncated at 100 lines see the full file
0.6.12 (2016-04-17)
- fix tests on Kinetic
- fix PySide dependency
- add missing implementation for executing That fixes #233
- install the ecto library of test cells for users to utilise in their own tests.
- checking for ecto-test target existence
- Contributors: Daniel Stonier, Vincent Rabaud, edgarriba
0.6.11 (2015-09-21)
- minor doc syntax fixes
- saner installation instructions from source.
- add missing includes to make headers compile standalone
- add cstddef to introduce std::size_t
- add parameters.hpp to its implementation (works because of #pragma once)
- fix bsd-license check script Not all Copyright is (1.) from 2011 and (2.) by Willow Garage autofix is undefined if ECTO_LICENSE_AUTOFIX is not exported.
- Re-add thread library to linker list Regression caused by 8e354b5aa8281ea8117fc93adb290998b7810be7
- docs about various entities that affect graph execution, also other minor cleanups. Removed the redundancies in the install docs (2x install instructions and 2x dependencies) and cleaned the place up a bit.
- Provide test for ecto::BREAK return value.
- implement ecto::BREAK behavior This patch makes ecto schedule the next iteration through the plasm with ecto::BREAK as discussed in https://github.com/plasmodic/ecto/issues/251
- remove some old Willow Garage URLs
- update doc's url
- Contributors: Daniel Stonier, Michael Görner, Po-Jen Lai, Scott K Logan, Vincent Rabaud, v4hn
0.6.10 (2015-07-22)
- update test for future fix
- potentially fix compilation with Boost 1.58 could be a fix for #275
- Contributors: Vincent Rabaud
0.6.9 (2015-05-08)
- re-add some Python tests
- add missing PySide dependency
- Contributors: Vincent Rabaud
0.6.8 (2015-03-13)
- threadable plasms update. This reintroduces some level of threading into ecto. It was initially removed in c2a24a51, but this left some legacy code wasn't working as expressed in the documentation. These updates allow parallel execution of plasms in separate threads. It doesn't quite reach the scope of the original plan for ecto (threading for free inside a plasms computation), but it does cover several useful scenarios.
- convenience class for scheduling plasms across threads.
- Reformatted cell processing result handler (trivial). For clarity, and points back to an issue created which discusses the BREAK/CONTINUE options.
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
- Be free of the GIL! This lets ecto pipeline processing be free of its evil overlord, the [GIL](https://wiki.python.org/moin/GlobalInterpreterLock). That is, you can now schedule different plasms in different threads...e.g. some pseudocode: # ...construct some plasms image_scheduler = ecto.Scheduler(image_plasm) odometry_scheduler = ecto.Scheduler(odometry_plasm) image_thread = threading.Thread(name="image_thread", target=image_scheduler.execute) odometry_thread = threading.Thread(name="odometry_thread", target=odometry_scheduler.execute) image_thread.start() odometry_thread.start() image_thread.join() odometry_thread.join() ``[ Of course, inside a cell's `process()]{.title-ref} call, you can always grab the GIL momentarily if you need to using the opposite macro...[ECTO_SCOPED_CALLPYTHON]{.title-ref}.
- Bugfix python lookup for internal class variables Probably went unnoticed for a long time since it wasn't used. Came across this (I think - was quite a while ago) while fleshing out pythonic cell construction with names and parameter args. Should have gone in at the same time as 39b9cad9.
- fix doc fixes #239
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ecto at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.6.12 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/plasmodic/ecto.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2018-05-14 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vincent Rabaud
- Daniel Stonier
Authors
- Ethan Rublee
- Troy Straszheim
Ecto
Ecto is a hybrid C++/Python development framework for constructing and
maintaining pipelines. In Ecto, pipelines are constructed in terms of
processing units, Cells
, connected by data paths, Tendrils
, that
form Directed Acyclic Graphs, Plasms
. Cells are typically written in
C++, tendrils may be any type, and the plasm may be executed in a
variety of clever ways. Python is uses as a the graph DSL.
Ecto may be found useful in domains such as perception, audio, or robotics.
To get started see the online docs at http://plasmodic.github.io/ecto/
Get and Build Ecto
These instructions are useful if you wish to work with Ecto from source, as a standalone library.
source
We use git for our source control. You can get a copy of our repo by doing the following:
git clone git://github.com/plasmodic/ecto.git
dependencies
Ecto requires
-
- CMake
-
CMake is used for our build system, and you will need a version >= 2.8
-
- Boost
-
Anything over 1.40 http://www.boost.org
-
- Python
-
Ecto should work with 2.6 and up. You should have the development libraries. If you are bellow 2.7 you should install the argparse library
-
- optional Sphinx
-
Docs are built with sphinx, >= v1.0.7
-
- optional gtest
On ubuntu you can get most of these through apt:
sudo apt-get install cmake libboost-all-dev python-dev python-argparse python-yaml libgtest-dev
To build the docs, you should use a very recent version of Sphinx:
sudo easy_install -U sphinx
build
To build you should just follow a normal cmake recipe:
cd ecto
mkdir -p build
cd build
cmake ..
make
test
To validate ecto using our test suite, you may:
cd ecto/build
make
ctest
This should report zero test errors. If it does report an error, please tell us about it here: https://github.com/plasmodic/ecto/issues/new
docs
To create the latest documentation for Ecto:
sudo pip install -U catkin_sphinx
sphinx-build -b html ./doc/source/ ./doc/build
To build documentation for the kitchen: :
File truncated at 100 lines see the full file
0.6.12 (2016-04-17)
- fix tests on Kinetic
- fix PySide dependency
- add missing implementation for executing That fixes #233
- install the ecto library of test cells for users to utilise in their own tests.
- checking for ecto-test target existence
- Contributors: Daniel Stonier, Vincent Rabaud, edgarriba
0.6.11 (2015-09-21)
- minor doc syntax fixes
- saner installation instructions from source.
- add missing includes to make headers compile standalone
- add cstddef to introduce std::size_t
- add parameters.hpp to its implementation (works because of #pragma once)
- fix bsd-license check script Not all Copyright is (1.) from 2011 and (2.) by Willow Garage autofix is undefined if ECTO_LICENSE_AUTOFIX is not exported.
- Re-add thread library to linker list Regression caused by 8e354b5aa8281ea8117fc93adb290998b7810be7
- docs about various entities that affect graph execution, also other minor cleanups. Removed the redundancies in the install docs (2x install instructions and 2x dependencies) and cleaned the place up a bit.
- Provide test for ecto::BREAK return value.
- implement ecto::BREAK behavior This patch makes ecto schedule the next iteration through the plasm with ecto::BREAK as discussed in https://github.com/plasmodic/ecto/issues/251
- remove some old Willow Garage URLs
- update doc's url
- Contributors: Daniel Stonier, Michael Görner, Po-Jen Lai, Scott K Logan, Vincent Rabaud, v4hn
0.6.10 (2015-07-22)
- update test for future fix
- potentially fix compilation with Boost 1.58 could be a fix for #275
- Contributors: Vincent Rabaud
0.6.9 (2015-05-08)
- re-add some Python tests
- add missing PySide dependency
- Contributors: Vincent Rabaud
0.6.8 (2015-03-13)
- threadable plasms update. This reintroduces some level of threading into ecto. It was initially removed in c2a24a51, but this left some legacy code wasn't working as expressed in the documentation. These updates allow parallel execution of plasms in separate threads. It doesn't quite reach the scope of the original plan for ecto (threading for free inside a plasms computation), but it does cover several useful scenarios.
- convenience class for scheduling plasms across threads.
- Reformatted cell processing result handler (trivial). For clarity, and points back to an issue created which discusses the BREAK/CONTINUE options.
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
- Be free of the GIL! This lets ecto pipeline processing be free of its evil overlord, the [GIL](https://wiki.python.org/moin/GlobalInterpreterLock). That is, you can now schedule different plasms in different threads...e.g. some pseudocode: # ...construct some plasms image_scheduler = ecto.Scheduler(image_plasm) odometry_scheduler = ecto.Scheduler(odometry_plasm) image_thread = threading.Thread(name="image_thread", target=image_scheduler.execute) odometry_thread = threading.Thread(name="odometry_thread", target=odometry_scheduler.execute) image_thread.start() odometry_thread.start() image_thread.join() odometry_thread.join() ``[ Of course, inside a cell's `process()]{.title-ref} call, you can always grab the GIL momentarily if you need to using the opposite macro...[ECTO_SCOPED_CALLPYTHON]{.title-ref}.
- Bugfix python lookup for internal class variables Probably went unnoticed for a long time since it wasn't used. Came across this (I think - was quite a while ago) while fleshing out pythonic cell construction with names and parameter args. Should have gone in at the same time as 39b9cad9.
- fix doc fixes #239
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ecto at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.6.12 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/plasmodic/ecto.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2018-05-14 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vincent Rabaud
- Daniel Stonier
Authors
- Ethan Rublee
- Troy Straszheim
Ecto
Ecto is a hybrid C++/Python development framework for constructing and
maintaining pipelines. In Ecto, pipelines are constructed in terms of
processing units, Cells
, connected by data paths, Tendrils
, that
form Directed Acyclic Graphs, Plasms
. Cells are typically written in
C++, tendrils may be any type, and the plasm may be executed in a
variety of clever ways. Python is uses as a the graph DSL.
Ecto may be found useful in domains such as perception, audio, or robotics.
To get started see the online docs at http://plasmodic.github.io/ecto/
Get and Build Ecto
These instructions are useful if you wish to work with Ecto from source, as a standalone library.
source
We use git for our source control. You can get a copy of our repo by doing the following:
git clone git://github.com/plasmodic/ecto.git
dependencies
Ecto requires
-
- CMake
-
CMake is used for our build system, and you will need a version >= 2.8
-
- Boost
-
Anything over 1.40 http://www.boost.org
-
- Python
-
Ecto should work with 2.6 and up. You should have the development libraries. If you are bellow 2.7 you should install the argparse library
-
- optional Sphinx
-
Docs are built with sphinx, >= v1.0.7
-
- optional gtest
On ubuntu you can get most of these through apt:
sudo apt-get install cmake libboost-all-dev python-dev python-argparse python-yaml libgtest-dev
To build the docs, you should use a very recent version of Sphinx:
sudo easy_install -U sphinx
build
To build you should just follow a normal cmake recipe:
cd ecto
mkdir -p build
cd build
cmake ..
make
test
To validate ecto using our test suite, you may:
cd ecto/build
make
ctest
This should report zero test errors. If it does report an error, please tell us about it here: https://github.com/plasmodic/ecto/issues/new
docs
To create the latest documentation for Ecto:
sudo pip install -U catkin_sphinx
sphinx-build -b html ./doc/source/ ./doc/build
To build documentation for the kitchen: :
File truncated at 100 lines see the full file
0.6.12 (2016-04-17)
- fix tests on Kinetic
- fix PySide dependency
- add missing implementation for executing That fixes #233
- install the ecto library of test cells for users to utilise in their own tests.
- checking for ecto-test target existence
- Contributors: Daniel Stonier, Vincent Rabaud, edgarriba
0.6.11 (2015-09-21)
- minor doc syntax fixes
- saner installation instructions from source.
- add missing includes to make headers compile standalone
- add cstddef to introduce std::size_t
- add parameters.hpp to its implementation (works because of #pragma once)
- fix bsd-license check script Not all Copyright is (1.) from 2011 and (2.) by Willow Garage autofix is undefined if ECTO_LICENSE_AUTOFIX is not exported.
- Re-add thread library to linker list Regression caused by 8e354b5aa8281ea8117fc93adb290998b7810be7
- docs about various entities that affect graph execution, also other minor cleanups. Removed the redundancies in the install docs (2x install instructions and 2x dependencies) and cleaned the place up a bit.
- Provide test for ecto::BREAK return value.
- implement ecto::BREAK behavior This patch makes ecto schedule the next iteration through the plasm with ecto::BREAK as discussed in https://github.com/plasmodic/ecto/issues/251
- remove some old Willow Garage URLs
- update doc's url
- Contributors: Daniel Stonier, Michael Görner, Po-Jen Lai, Scott K Logan, Vincent Rabaud, v4hn
0.6.10 (2015-07-22)
- update test for future fix
- potentially fix compilation with Boost 1.58 could be a fix for #275
- Contributors: Vincent Rabaud
0.6.9 (2015-05-08)
- re-add some Python tests
- add missing PySide dependency
- Contributors: Vincent Rabaud
0.6.8 (2015-03-13)
- threadable plasms update. This reintroduces some level of threading into ecto. It was initially removed in c2a24a51, but this left some legacy code wasn't working as expressed in the documentation. These updates allow parallel execution of plasms in separate threads. It doesn't quite reach the scope of the original plan for ecto (threading for free inside a plasms computation), but it does cover several useful scenarios.
- convenience class for scheduling plasms across threads.
- Reformatted cell processing result handler (trivial). For clarity, and points back to an issue created which discusses the BREAK/CONTINUE options.
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
- Be free of the GIL! This lets ecto pipeline processing be free of its evil overlord, the [GIL](https://wiki.python.org/moin/GlobalInterpreterLock). That is, you can now schedule different plasms in different threads...e.g. some pseudocode: # ...construct some plasms image_scheduler = ecto.Scheduler(image_plasm) odometry_scheduler = ecto.Scheduler(odometry_plasm) image_thread = threading.Thread(name="image_thread", target=image_scheduler.execute) odometry_thread = threading.Thread(name="odometry_thread", target=odometry_scheduler.execute) image_thread.start() odometry_thread.start() image_thread.join() odometry_thread.join() ``[ Of course, inside a cell's `process()]{.title-ref} call, you can always grab the GIL momentarily if you need to using the opposite macro...[ECTO_SCOPED_CALLPYTHON]{.title-ref}.
- Bugfix python lookup for internal class variables Probably went unnoticed for a long time since it wasn't used. Came across this (I think - was quite a while ago) while fleshing out pythonic cell construction with names and parameter args. Should have gone in at the same time as 39b9cad9.
- fix doc fixes #239
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ecto at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.6.12 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/plasmodic/ecto.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2018-05-14 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vincent Rabaud
- Daniel Stonier
Authors
- Ethan Rublee
- Troy Straszheim
Ecto
Ecto is a hybrid C++/Python development framework for constructing and
maintaining pipelines. In Ecto, pipelines are constructed in terms of
processing units, Cells
, connected by data paths, Tendrils
, that
form Directed Acyclic Graphs, Plasms
. Cells are typically written in
C++, tendrils may be any type, and the plasm may be executed in a
variety of clever ways. Python is uses as a the graph DSL.
Ecto may be found useful in domains such as perception, audio, or robotics.
To get started see the online docs at http://plasmodic.github.io/ecto/
Get and Build Ecto
These instructions are useful if you wish to work with Ecto from source, as a standalone library.
source
We use git for our source control. You can get a copy of our repo by doing the following:
git clone git://github.com/plasmodic/ecto.git
dependencies
Ecto requires
-
- CMake
-
CMake is used for our build system, and you will need a version >= 2.8
-
- Boost
-
Anything over 1.40 http://www.boost.org
-
- Python
-
Ecto should work with 2.6 and up. You should have the development libraries. If you are bellow 2.7 you should install the argparse library
-
- optional Sphinx
-
Docs are built with sphinx, >= v1.0.7
-
- optional gtest
On ubuntu you can get most of these through apt:
sudo apt-get install cmake libboost-all-dev python-dev python-argparse python-yaml libgtest-dev
To build the docs, you should use a very recent version of Sphinx:
sudo easy_install -U sphinx
build
To build you should just follow a normal cmake recipe:
cd ecto
mkdir -p build
cd build
cmake ..
make
test
To validate ecto using our test suite, you may:
cd ecto/build
make
ctest
This should report zero test errors. If it does report an error, please tell us about it here: https://github.com/plasmodic/ecto/issues/new
docs
To create the latest documentation for Ecto:
sudo pip install -U catkin_sphinx
sphinx-build -b html ./doc/source/ ./doc/build
To build documentation for the kitchen: :
File truncated at 100 lines see the full file
0.6.12 (2016-04-17)
- fix tests on Kinetic
- fix PySide dependency
- add missing implementation for executing That fixes #233
- install the ecto library of test cells for users to utilise in their own tests.
- checking for ecto-test target existence
- Contributors: Daniel Stonier, Vincent Rabaud, edgarriba
0.6.11 (2015-09-21)
- minor doc syntax fixes
- saner installation instructions from source.
- add missing includes to make headers compile standalone
- add cstddef to introduce std::size_t
- add parameters.hpp to its implementation (works because of #pragma once)
- fix bsd-license check script Not all Copyright is (1.) from 2011 and (2.) by Willow Garage autofix is undefined if ECTO_LICENSE_AUTOFIX is not exported.
- Re-add thread library to linker list Regression caused by 8e354b5aa8281ea8117fc93adb290998b7810be7
- docs about various entities that affect graph execution, also other minor cleanups. Removed the redundancies in the install docs (2x install instructions and 2x dependencies) and cleaned the place up a bit.
- Provide test for ecto::BREAK return value.
- implement ecto::BREAK behavior This patch makes ecto schedule the next iteration through the plasm with ecto::BREAK as discussed in https://github.com/plasmodic/ecto/issues/251
- remove some old Willow Garage URLs
- update doc's url
- Contributors: Daniel Stonier, Michael Görner, Po-Jen Lai, Scott K Logan, Vincent Rabaud, v4hn
0.6.10 (2015-07-22)
- update test for future fix
- potentially fix compilation with Boost 1.58 could be a fix for #275
- Contributors: Vincent Rabaud
0.6.9 (2015-05-08)
- re-add some Python tests
- add missing PySide dependency
- Contributors: Vincent Rabaud
0.6.8 (2015-03-13)
- threadable plasms update. This reintroduces some level of threading into ecto. It was initially removed in c2a24a51, but this left some legacy code wasn't working as expressed in the documentation. These updates allow parallel execution of plasms in separate threads. It doesn't quite reach the scope of the original plan for ecto (threading for free inside a plasms computation), but it does cover several useful scenarios.
- convenience class for scheduling plasms across threads.
- Reformatted cell processing result handler (trivial). For clarity, and points back to an issue created which discusses the BREAK/CONTINUE options.
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
- Be free of the GIL! This lets ecto pipeline processing be free of its evil overlord, the [GIL](https://wiki.python.org/moin/GlobalInterpreterLock). That is, you can now schedule different plasms in different threads...e.g. some pseudocode: # ...construct some plasms image_scheduler = ecto.Scheduler(image_plasm) odometry_scheduler = ecto.Scheduler(odometry_plasm) image_thread = threading.Thread(name="image_thread", target=image_scheduler.execute) odometry_thread = threading.Thread(name="odometry_thread", target=odometry_scheduler.execute) image_thread.start() odometry_thread.start() image_thread.join() odometry_thread.join() ``[ Of course, inside a cell's `process()]{.title-ref} call, you can always grab the GIL momentarily if you need to using the opposite macro...[ECTO_SCOPED_CALLPYTHON]{.title-ref}.
- Bugfix python lookup for internal class variables Probably went unnoticed for a long time since it wasn't used. Came across this (I think - was quite a while ago) while fleshing out pythonic cell construction with names and parameter args. Should have gone in at the same time as 39b9cad9.
- fix doc fixes #239
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ecto at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.6.12 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/plasmodic/ecto.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2018-05-14 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vincent Rabaud
- Daniel Stonier
Authors
- Ethan Rublee
- Troy Straszheim
Ecto
Ecto is a hybrid C++/Python development framework for constructing and
maintaining pipelines. In Ecto, pipelines are constructed in terms of
processing units, Cells
, connected by data paths, Tendrils
, that
form Directed Acyclic Graphs, Plasms
. Cells are typically written in
C++, tendrils may be any type, and the plasm may be executed in a
variety of clever ways. Python is uses as a the graph DSL.
Ecto may be found useful in domains such as perception, audio, or robotics.
To get started see the online docs at http://plasmodic.github.io/ecto/
Get and Build Ecto
These instructions are useful if you wish to work with Ecto from source, as a standalone library.
source
We use git for our source control. You can get a copy of our repo by doing the following:
git clone git://github.com/plasmodic/ecto.git
dependencies
Ecto requires
-
- CMake
-
CMake is used for our build system, and you will need a version >= 2.8
-
- Boost
-
Anything over 1.40 http://www.boost.org
-
- Python
-
Ecto should work with 2.6 and up. You should have the development libraries. If you are bellow 2.7 you should install the argparse library
-
- optional Sphinx
-
Docs are built with sphinx, >= v1.0.7
-
- optional gtest
On ubuntu you can get most of these through apt:
sudo apt-get install cmake libboost-all-dev python-dev python-argparse python-yaml libgtest-dev
To build the docs, you should use a very recent version of Sphinx:
sudo easy_install -U sphinx
build
To build you should just follow a normal cmake recipe:
cd ecto
mkdir -p build
cd build
cmake ..
make
test
To validate ecto using our test suite, you may:
cd ecto/build
make
ctest
This should report zero test errors. If it does report an error, please tell us about it here: https://github.com/plasmodic/ecto/issues/new
docs
To create the latest documentation for Ecto:
sudo pip install -U catkin_sphinx
sphinx-build -b html ./doc/source/ ./doc/build
To build documentation for the kitchen: :
File truncated at 100 lines see the full file
0.6.12 (2016-04-17)
- fix tests on Kinetic
- fix PySide dependency
- add missing implementation for executing That fixes #233
- install the ecto library of test cells for users to utilise in their own tests.
- checking for ecto-test target existence
- Contributors: Daniel Stonier, Vincent Rabaud, edgarriba
0.6.11 (2015-09-21)
- minor doc syntax fixes
- saner installation instructions from source.
- add missing includes to make headers compile standalone
- add cstddef to introduce std::size_t
- add parameters.hpp to its implementation (works because of #pragma once)
- fix bsd-license check script Not all Copyright is (1.) from 2011 and (2.) by Willow Garage autofix is undefined if ECTO_LICENSE_AUTOFIX is not exported.
- Re-add thread library to linker list Regression caused by 8e354b5aa8281ea8117fc93adb290998b7810be7
- docs about various entities that affect graph execution, also other minor cleanups. Removed the redundancies in the install docs (2x install instructions and 2x dependencies) and cleaned the place up a bit.
- Provide test for ecto::BREAK return value.
- implement ecto::BREAK behavior This patch makes ecto schedule the next iteration through the plasm with ecto::BREAK as discussed in https://github.com/plasmodic/ecto/issues/251
- remove some old Willow Garage URLs
- update doc's url
- Contributors: Daniel Stonier, Michael Görner, Po-Jen Lai, Scott K Logan, Vincent Rabaud, v4hn
0.6.10 (2015-07-22)
- update test for future fix
- potentially fix compilation with Boost 1.58 could be a fix for #275
- Contributors: Vincent Rabaud
0.6.9 (2015-05-08)
- re-add some Python tests
- add missing PySide dependency
- Contributors: Vincent Rabaud
0.6.8 (2015-03-13)
- threadable plasms update. This reintroduces some level of threading into ecto. It was initially removed in c2a24a51, but this left some legacy code wasn't working as expressed in the documentation. These updates allow parallel execution of plasms in separate threads. It doesn't quite reach the scope of the original plan for ecto (threading for free inside a plasms computation), but it does cover several useful scenarios.
- convenience class for scheduling plasms across threads.
- Reformatted cell processing result handler (trivial). For clarity, and points back to an issue created which discusses the BREAK/CONTINUE options.
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
- Be free of the GIL! This lets ecto pipeline processing be free of its evil overlord, the [GIL](https://wiki.python.org/moin/GlobalInterpreterLock). That is, you can now schedule different plasms in different threads...e.g. some pseudocode: # ...construct some plasms image_scheduler = ecto.Scheduler(image_plasm) odometry_scheduler = ecto.Scheduler(odometry_plasm) image_thread = threading.Thread(name="image_thread", target=image_scheduler.execute) odometry_thread = threading.Thread(name="odometry_thread", target=odometry_scheduler.execute) image_thread.start() odometry_thread.start() image_thread.join() odometry_thread.join() ``[ Of course, inside a cell's `process()]{.title-ref} call, you can always grab the GIL momentarily if you need to using the opposite macro...[ECTO_SCOPED_CALLPYTHON]{.title-ref}.
- Bugfix python lookup for internal class variables Probably went unnoticed for a long time since it wasn't used. Came across this (I think - was quite a while ago) while fleshing out pythonic cell construction with names and parameter args. Should have gone in at the same time as 39b9cad9.
- fix doc fixes #239
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ecto at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.6.12 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/plasmodic/ecto.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2018-05-14 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vincent Rabaud
- Daniel Stonier
Authors
- Ethan Rublee
- Troy Straszheim
Ecto
Ecto is a hybrid C++/Python development framework for constructing and
maintaining pipelines. In Ecto, pipelines are constructed in terms of
processing units, Cells
, connected by data paths, Tendrils
, that
form Directed Acyclic Graphs, Plasms
. Cells are typically written in
C++, tendrils may be any type, and the plasm may be executed in a
variety of clever ways. Python is uses as a the graph DSL.
Ecto may be found useful in domains such as perception, audio, or robotics.
To get started see the online docs at http://plasmodic.github.io/ecto/
Get and Build Ecto
These instructions are useful if you wish to work with Ecto from source, as a standalone library.
source
We use git for our source control. You can get a copy of our repo by doing the following:
git clone git://github.com/plasmodic/ecto.git
dependencies
Ecto requires
-
- CMake
-
CMake is used for our build system, and you will need a version >= 2.8
-
- Boost
-
Anything over 1.40 http://www.boost.org
-
- Python
-
Ecto should work with 2.6 and up. You should have the development libraries. If you are bellow 2.7 you should install the argparse library
-
- optional Sphinx
-
Docs are built with sphinx, >= v1.0.7
-
- optional gtest
On ubuntu you can get most of these through apt:
sudo apt-get install cmake libboost-all-dev python-dev python-argparse python-yaml libgtest-dev
To build the docs, you should use a very recent version of Sphinx:
sudo easy_install -U sphinx
build
To build you should just follow a normal cmake recipe:
cd ecto
mkdir -p build
cd build
cmake ..
make
test
To validate ecto using our test suite, you may:
cd ecto/build
make
ctest
This should report zero test errors. If it does report an error, please tell us about it here: https://github.com/plasmodic/ecto/issues/new
docs
To create the latest documentation for Ecto:
sudo pip install -U catkin_sphinx
sphinx-build -b html ./doc/source/ ./doc/build
To build documentation for the kitchen: :
File truncated at 100 lines see the full file
0.6.12 (2016-04-17)
- fix tests on Kinetic
- fix PySide dependency
- add missing implementation for executing That fixes #233
- install the ecto library of test cells for users to utilise in their own tests.
- checking for ecto-test target existence
- Contributors: Daniel Stonier, Vincent Rabaud, edgarriba
0.6.11 (2015-09-21)
- minor doc syntax fixes
- saner installation instructions from source.
- add missing includes to make headers compile standalone
- add cstddef to introduce std::size_t
- add parameters.hpp to its implementation (works because of #pragma once)
- fix bsd-license check script Not all Copyright is (1.) from 2011 and (2.) by Willow Garage autofix is undefined if ECTO_LICENSE_AUTOFIX is not exported.
- Re-add thread library to linker list Regression caused by 8e354b5aa8281ea8117fc93adb290998b7810be7
- docs about various entities that affect graph execution, also other minor cleanups. Removed the redundancies in the install docs (2x install instructions and 2x dependencies) and cleaned the place up a bit.
- Provide test for ecto::BREAK return value.
- implement ecto::BREAK behavior This patch makes ecto schedule the next iteration through the plasm with ecto::BREAK as discussed in https://github.com/plasmodic/ecto/issues/251
- remove some old Willow Garage URLs
- update doc's url
- Contributors: Daniel Stonier, Michael Görner, Po-Jen Lai, Scott K Logan, Vincent Rabaud, v4hn
0.6.10 (2015-07-22)
- update test for future fix
- potentially fix compilation with Boost 1.58 could be a fix for #275
- Contributors: Vincent Rabaud
0.6.9 (2015-05-08)
- re-add some Python tests
- add missing PySide dependency
- Contributors: Vincent Rabaud
0.6.8 (2015-03-13)
- threadable plasms update. This reintroduces some level of threading into ecto. It was initially removed in c2a24a51, but this left some legacy code wasn't working as expressed in the documentation. These updates allow parallel execution of plasms in separate threads. It doesn't quite reach the scope of the original plan for ecto (threading for free inside a plasms computation), but it does cover several useful scenarios.
- convenience class for scheduling plasms across threads.
- Reformatted cell processing result handler (trivial). For clarity, and points back to an issue created which discusses the BREAK/CONTINUE options.
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
- Be free of the GIL! This lets ecto pipeline processing be free of its evil overlord, the [GIL](https://wiki.python.org/moin/GlobalInterpreterLock). That is, you can now schedule different plasms in different threads...e.g. some pseudocode: # ...construct some plasms image_scheduler = ecto.Scheduler(image_plasm) odometry_scheduler = ecto.Scheduler(odometry_plasm) image_thread = threading.Thread(name="image_thread", target=image_scheduler.execute) odometry_thread = threading.Thread(name="odometry_thread", target=odometry_scheduler.execute) image_thread.start() odometry_thread.start() image_thread.join() odometry_thread.join() ``[ Of course, inside a cell's `process()]{.title-ref} call, you can always grab the GIL momentarily if you need to using the opposite macro...[ECTO_SCOPED_CALLPYTHON]{.title-ref}.
- Bugfix python lookup for internal class variables Probably went unnoticed for a long time since it wasn't used. Came across this (I think - was quite a while ago) while fleshing out pythonic cell construction with names and parameter args. Should have gone in at the same time as 39b9cad9.
- fix doc fixes #239
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ecto at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.6.12 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/plasmodic/ecto.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2018-05-14 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vincent Rabaud
- Daniel Stonier
Authors
- Ethan Rublee
- Troy Straszheim
Ecto
Ecto is a hybrid C++/Python development framework for constructing and
maintaining pipelines. In Ecto, pipelines are constructed in terms of
processing units, Cells
, connected by data paths, Tendrils
, that
form Directed Acyclic Graphs, Plasms
. Cells are typically written in
C++, tendrils may be any type, and the plasm may be executed in a
variety of clever ways. Python is uses as a the graph DSL.
Ecto may be found useful in domains such as perception, audio, or robotics.
To get started see the online docs at http://plasmodic.github.io/ecto/
Get and Build Ecto
These instructions are useful if you wish to work with Ecto from source, as a standalone library.
source
We use git for our source control. You can get a copy of our repo by doing the following:
git clone git://github.com/plasmodic/ecto.git
dependencies
Ecto requires
-
- CMake
-
CMake is used for our build system, and you will need a version >= 2.8
-
- Boost
-
Anything over 1.40 http://www.boost.org
-
- Python
-
Ecto should work with 2.6 and up. You should have the development libraries. If you are bellow 2.7 you should install the argparse library
-
- optional Sphinx
-
Docs are built with sphinx, >= v1.0.7
-
- optional gtest
On ubuntu you can get most of these through apt:
sudo apt-get install cmake libboost-all-dev python-dev python-argparse python-yaml libgtest-dev
To build the docs, you should use a very recent version of Sphinx:
sudo easy_install -U sphinx
build
To build you should just follow a normal cmake recipe:
cd ecto
mkdir -p build
cd build
cmake ..
make
test
To validate ecto using our test suite, you may:
cd ecto/build
make
ctest
This should report zero test errors. If it does report an error, please tell us about it here: https://github.com/plasmodic/ecto/issues/new
docs
To create the latest documentation for Ecto:
sudo pip install -U catkin_sphinx
sphinx-build -b html ./doc/source/ ./doc/build
To build documentation for the kitchen: :
File truncated at 100 lines see the full file
0.6.12 (2016-04-17)
- fix tests on Kinetic
- fix PySide dependency
- add missing implementation for executing That fixes #233
- install the ecto library of test cells for users to utilise in their own tests.
- checking for ecto-test target existence
- Contributors: Daniel Stonier, Vincent Rabaud, edgarriba
0.6.11 (2015-09-21)
- minor doc syntax fixes
- saner installation instructions from source.
- add missing includes to make headers compile standalone
- add cstddef to introduce std::size_t
- add parameters.hpp to its implementation (works because of #pragma once)
- fix bsd-license check script Not all Copyright is (1.) from 2011 and (2.) by Willow Garage autofix is undefined if ECTO_LICENSE_AUTOFIX is not exported.
- Re-add thread library to linker list Regression caused by 8e354b5aa8281ea8117fc93adb290998b7810be7
- docs about various entities that affect graph execution, also other minor cleanups. Removed the redundancies in the install docs (2x install instructions and 2x dependencies) and cleaned the place up a bit.
- Provide test for ecto::BREAK return value.
- implement ecto::BREAK behavior This patch makes ecto schedule the next iteration through the plasm with ecto::BREAK as discussed in https://github.com/plasmodic/ecto/issues/251
- remove some old Willow Garage URLs
- update doc's url
- Contributors: Daniel Stonier, Michael Görner, Po-Jen Lai, Scott K Logan, Vincent Rabaud, v4hn
0.6.10 (2015-07-22)
- update test for future fix
- potentially fix compilation with Boost 1.58 could be a fix for #275
- Contributors: Vincent Rabaud
0.6.9 (2015-05-08)
- re-add some Python tests
- add missing PySide dependency
- Contributors: Vincent Rabaud
0.6.8 (2015-03-13)
- threadable plasms update. This reintroduces some level of threading into ecto. It was initially removed in c2a24a51, but this left some legacy code wasn't working as expressed in the documentation. These updates allow parallel execution of plasms in separate threads. It doesn't quite reach the scope of the original plan for ecto (threading for free inside a plasms computation), but it does cover several useful scenarios.
- convenience class for scheduling plasms across threads.
- Reformatted cell processing result handler (trivial). For clarity, and points back to an issue created which discusses the BREAK/CONTINUE options.
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
- Be free of the GIL! This lets ecto pipeline processing be free of its evil overlord, the [GIL](https://wiki.python.org/moin/GlobalInterpreterLock). That is, you can now schedule different plasms in different threads...e.g. some pseudocode: # ...construct some plasms image_scheduler = ecto.Scheduler(image_plasm) odometry_scheduler = ecto.Scheduler(odometry_plasm) image_thread = threading.Thread(name="image_thread", target=image_scheduler.execute) odometry_thread = threading.Thread(name="odometry_thread", target=odometry_scheduler.execute) image_thread.start() odometry_thread.start() image_thread.join() odometry_thread.join() ``[ Of course, inside a cell's `process()]{.title-ref} call, you can always grab the GIL momentarily if you need to using the opposite macro...[ECTO_SCOPED_CALLPYTHON]{.title-ref}.
- Bugfix python lookup for internal class variables Probably went unnoticed for a long time since it wasn't used. Came across this (I think - was quite a while ago) while fleshing out pythonic cell construction with names and parameter args. Should have gone in at the same time as 39b9cad9.
- fix doc fixes #239
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ecto at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.6.12 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/plasmodic/ecto.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2018-05-14 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vincent Rabaud
- Daniel Stonier
Authors
- Ethan Rublee
- Troy Straszheim
Ecto
Ecto is a hybrid C++/Python development framework for constructing and
maintaining pipelines. In Ecto, pipelines are constructed in terms of
processing units, Cells
, connected by data paths, Tendrils
, that
form Directed Acyclic Graphs, Plasms
. Cells are typically written in
C++, tendrils may be any type, and the plasm may be executed in a
variety of clever ways. Python is uses as a the graph DSL.
Ecto may be found useful in domains such as perception, audio, or robotics.
To get started see the online docs at http://plasmodic.github.io/ecto/
Get and Build Ecto
These instructions are useful if you wish to work with Ecto from source, as a standalone library.
source
We use git for our source control. You can get a copy of our repo by doing the following:
git clone git://github.com/plasmodic/ecto.git
dependencies
Ecto requires
-
- CMake
-
CMake is used for our build system, and you will need a version >= 2.8
-
- Boost
-
Anything over 1.40 http://www.boost.org
-
- Python
-
Ecto should work with 2.6 and up. You should have the development libraries. If you are bellow 2.7 you should install the argparse library
-
- optional Sphinx
-
Docs are built with sphinx, >= v1.0.7
-
- optional gtest
On ubuntu you can get most of these through apt:
sudo apt-get install cmake libboost-all-dev python-dev python-argparse python-yaml libgtest-dev
To build the docs, you should use a very recent version of Sphinx:
sudo easy_install -U sphinx
build
To build you should just follow a normal cmake recipe:
cd ecto
mkdir -p build
cd build
cmake ..
make
test
To validate ecto using our test suite, you may:
cd ecto/build
make
ctest
This should report zero test errors. If it does report an error, please tell us about it here: https://github.com/plasmodic/ecto/issues/new
docs
To create the latest documentation for Ecto:
sudo pip install -U catkin_sphinx
sphinx-build -b html ./doc/source/ ./doc/build
To build documentation for the kitchen: :
File truncated at 100 lines see the full file
0.6.12 (2016-04-17)
- fix tests on Kinetic
- fix PySide dependency
- add missing implementation for executing That fixes #233
- install the ecto library of test cells for users to utilise in their own tests.
- checking for ecto-test target existence
- Contributors: Daniel Stonier, Vincent Rabaud, edgarriba
0.6.11 (2015-09-21)
- minor doc syntax fixes
- saner installation instructions from source.
- add missing includes to make headers compile standalone
- add cstddef to introduce std::size_t
- add parameters.hpp to its implementation (works because of #pragma once)
- fix bsd-license check script Not all Copyright is (1.) from 2011 and (2.) by Willow Garage autofix is undefined if ECTO_LICENSE_AUTOFIX is not exported.
- Re-add thread library to linker list Regression caused by 8e354b5aa8281ea8117fc93adb290998b7810be7
- docs about various entities that affect graph execution, also other minor cleanups. Removed the redundancies in the install docs (2x install instructions and 2x dependencies) and cleaned the place up a bit.
- Provide test for ecto::BREAK return value.
- implement ecto::BREAK behavior This patch makes ecto schedule the next iteration through the plasm with ecto::BREAK as discussed in https://github.com/plasmodic/ecto/issues/251
- remove some old Willow Garage URLs
- update doc's url
- Contributors: Daniel Stonier, Michael Görner, Po-Jen Lai, Scott K Logan, Vincent Rabaud, v4hn
0.6.10 (2015-07-22)
- update test for future fix
- potentially fix compilation with Boost 1.58 could be a fix for #275
- Contributors: Vincent Rabaud
0.6.9 (2015-05-08)
- re-add some Python tests
- add missing PySide dependency
- Contributors: Vincent Rabaud
0.6.8 (2015-03-13)
- threadable plasms update. This reintroduces some level of threading into ecto. It was initially removed in c2a24a51, but this left some legacy code wasn't working as expressed in the documentation. These updates allow parallel execution of plasms in separate threads. It doesn't quite reach the scope of the original plan for ecto (threading for free inside a plasms computation), but it does cover several useful scenarios.
- convenience class for scheduling plasms across threads.
- Reformatted cell processing result handler (trivial). For clarity, and points back to an issue created which discusses the BREAK/CONTINUE options.
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
- Be free of the GIL! This lets ecto pipeline processing be free of its evil overlord, the [GIL](https://wiki.python.org/moin/GlobalInterpreterLock). That is, you can now schedule different plasms in different threads...e.g. some pseudocode: # ...construct some plasms image_scheduler = ecto.Scheduler(image_plasm) odometry_scheduler = ecto.Scheduler(odometry_plasm) image_thread = threading.Thread(name="image_thread", target=image_scheduler.execute) odometry_thread = threading.Thread(name="odometry_thread", target=odometry_scheduler.execute) image_thread.start() odometry_thread.start() image_thread.join() odometry_thread.join() ``[ Of course, inside a cell's `process()]{.title-ref} call, you can always grab the GIL momentarily if you need to using the opposite macro...[ECTO_SCOPED_CALLPYTHON]{.title-ref}.
- Bugfix python lookup for internal class variables Probably went unnoticed for a long time since it wasn't used. Came across this (I think - was quite a while ago) while fleshing out pythonic cell construction with names and parameter args. Should have gone in at the same time as 39b9cad9.
- fix doc fixes #239
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ecto at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.6.12 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/plasmodic/ecto.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2018-05-14 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vincent Rabaud
- Daniel Stonier
Authors
- Ethan Rublee
- Troy Straszheim
Ecto
Ecto is a hybrid C++/Python development framework for constructing and
maintaining pipelines. In Ecto, pipelines are constructed in terms of
processing units, Cells
, connected by data paths, Tendrils
, that
form Directed Acyclic Graphs, Plasms
. Cells are typically written in
C++, tendrils may be any type, and the plasm may be executed in a
variety of clever ways. Python is uses as a the graph DSL.
Ecto may be found useful in domains such as perception, audio, or robotics.
To get started see the online docs at http://plasmodic.github.io/ecto/
Get and Build Ecto
These instructions are useful if you wish to work with Ecto from source, as a standalone library.
source
We use git for our source control. You can get a copy of our repo by doing the following:
git clone git://github.com/plasmodic/ecto.git
dependencies
Ecto requires
-
- CMake
-
CMake is used for our build system, and you will need a version >= 2.8
-
- Boost
-
Anything over 1.40 http://www.boost.org
-
- Python
-
Ecto should work with 2.6 and up. You should have the development libraries. If you are bellow 2.7 you should install the argparse library
-
- optional Sphinx
-
Docs are built with sphinx, >= v1.0.7
-
- optional gtest
On ubuntu you can get most of these through apt:
sudo apt-get install cmake libboost-all-dev python-dev python-argparse python-yaml libgtest-dev
To build the docs, you should use a very recent version of Sphinx:
sudo easy_install -U sphinx
build
To build you should just follow a normal cmake recipe:
cd ecto
mkdir -p build
cd build
cmake ..
make
test
To validate ecto using our test suite, you may:
cd ecto/build
make
ctest
This should report zero test errors. If it does report an error, please tell us about it here: https://github.com/plasmodic/ecto/issues/new
docs
To create the latest documentation for Ecto:
sudo pip install -U catkin_sphinx
sphinx-build -b html ./doc/source/ ./doc/build
To build documentation for the kitchen: :
File truncated at 100 lines see the full file
0.6.12 (2016-04-17)
- fix tests on Kinetic
- fix PySide dependency
- add missing implementation for executing That fixes #233
- install the ecto library of test cells for users to utilise in their own tests.
- checking for ecto-test target existence
- Contributors: Daniel Stonier, Vincent Rabaud, edgarriba
0.6.11 (2015-09-21)
- minor doc syntax fixes
- saner installation instructions from source.
- add missing includes to make headers compile standalone
- add cstddef to introduce std::size_t
- add parameters.hpp to its implementation (works because of #pragma once)
- fix bsd-license check script Not all Copyright is (1.) from 2011 and (2.) by Willow Garage autofix is undefined if ECTO_LICENSE_AUTOFIX is not exported.
- Re-add thread library to linker list Regression caused by 8e354b5aa8281ea8117fc93adb290998b7810be7
- docs about various entities that affect graph execution, also other minor cleanups. Removed the redundancies in the install docs (2x install instructions and 2x dependencies) and cleaned the place up a bit.
- Provide test for ecto::BREAK return value.
- implement ecto::BREAK behavior This patch makes ecto schedule the next iteration through the plasm with ecto::BREAK as discussed in https://github.com/plasmodic/ecto/issues/251
- remove some old Willow Garage URLs
- update doc's url
- Contributors: Daniel Stonier, Michael Görner, Po-Jen Lai, Scott K Logan, Vincent Rabaud, v4hn
0.6.10 (2015-07-22)
- update test for future fix
- potentially fix compilation with Boost 1.58 could be a fix for #275
- Contributors: Vincent Rabaud
0.6.9 (2015-05-08)
- re-add some Python tests
- add missing PySide dependency
- Contributors: Vincent Rabaud
0.6.8 (2015-03-13)
- threadable plasms update. This reintroduces some level of threading into ecto. It was initially removed in c2a24a51, but this left some legacy code wasn't working as expressed in the documentation. These updates allow parallel execution of plasms in separate threads. It doesn't quite reach the scope of the original plan for ecto (threading for free inside a plasms computation), but it does cover several useful scenarios.
- convenience class for scheduling plasms across threads.
- Reformatted cell processing result handler (trivial). For clarity, and points back to an issue created which discusses the BREAK/CONTINUE options.
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
- Be free of the GIL! This lets ecto pipeline processing be free of its evil overlord, the [GIL](https://wiki.python.org/moin/GlobalInterpreterLock). That is, you can now schedule different plasms in different threads...e.g. some pseudocode: # ...construct some plasms image_scheduler = ecto.Scheduler(image_plasm) odometry_scheduler = ecto.Scheduler(odometry_plasm) image_thread = threading.Thread(name="image_thread", target=image_scheduler.execute) odometry_thread = threading.Thread(name="odometry_thread", target=odometry_scheduler.execute) image_thread.start() odometry_thread.start() image_thread.join() odometry_thread.join() ``[ Of course, inside a cell's `process()]{.title-ref} call, you can always grab the GIL momentarily if you need to using the opposite macro...[ECTO_SCOPED_CALLPYTHON]{.title-ref}.
- Bugfix python lookup for internal class variables Probably went unnoticed for a long time since it wasn't used. Came across this (I think - was quite a while ago) while fleshing out pythonic cell construction with names and parameter args. Should have gone in at the same time as 39b9cad9.
- fix doc fixes #239
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ecto at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.6.12 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/plasmodic/ecto.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2018-05-14 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vincent Rabaud
- Daniel Stonier
Authors
- Ethan Rublee
- Troy Straszheim
Ecto
Ecto is a hybrid C++/Python development framework for constructing and
maintaining pipelines. In Ecto, pipelines are constructed in terms of
processing units, Cells
, connected by data paths, Tendrils
, that
form Directed Acyclic Graphs, Plasms
. Cells are typically written in
C++, tendrils may be any type, and the plasm may be executed in a
variety of clever ways. Python is uses as a the graph DSL.
Ecto may be found useful in domains such as perception, audio, or robotics.
To get started see the online docs at http://plasmodic.github.io/ecto/
Get and Build Ecto
These instructions are useful if you wish to work with Ecto from source, as a standalone library.
source
We use git for our source control. You can get a copy of our repo by doing the following:
git clone git://github.com/plasmodic/ecto.git
dependencies
Ecto requires
-
- CMake
-
CMake is used for our build system, and you will need a version >= 2.8
-
- Boost
-
Anything over 1.40 http://www.boost.org
-
- Python
-
Ecto should work with 2.6 and up. You should have the development libraries. If you are bellow 2.7 you should install the argparse library
-
- optional Sphinx
-
Docs are built with sphinx, >= v1.0.7
-
- optional gtest
On ubuntu you can get most of these through apt:
sudo apt-get install cmake libboost-all-dev python-dev python-argparse python-yaml libgtest-dev
To build the docs, you should use a very recent version of Sphinx:
sudo easy_install -U sphinx
build
To build you should just follow a normal cmake recipe:
cd ecto
mkdir -p build
cd build
cmake ..
make
test
To validate ecto using our test suite, you may:
cd ecto/build
make
ctest
This should report zero test errors. If it does report an error, please tell us about it here: https://github.com/plasmodic/ecto/issues/new
docs
To create the latest documentation for Ecto:
sudo pip install -U catkin_sphinx
sphinx-build -b html ./doc/source/ ./doc/build
To build documentation for the kitchen: :
File truncated at 100 lines see the full file
0.6.12 (2016-04-17)
- fix tests on Kinetic
- fix PySide dependency
- add missing implementation for executing That fixes #233
- install the ecto library of test cells for users to utilise in their own tests.
- checking for ecto-test target existence
- Contributors: Daniel Stonier, Vincent Rabaud, edgarriba
0.6.11 (2015-09-21)
- minor doc syntax fixes
- saner installation instructions from source.
- add missing includes to make headers compile standalone
- add cstddef to introduce std::size_t
- add parameters.hpp to its implementation (works because of #pragma once)
- fix bsd-license check script Not all Copyright is (1.) from 2011 and (2.) by Willow Garage autofix is undefined if ECTO_LICENSE_AUTOFIX is not exported.
- Re-add thread library to linker list Regression caused by 8e354b5aa8281ea8117fc93adb290998b7810be7
- docs about various entities that affect graph execution, also other minor cleanups. Removed the redundancies in the install docs (2x install instructions and 2x dependencies) and cleaned the place up a bit.
- Provide test for ecto::BREAK return value.
- implement ecto::BREAK behavior This patch makes ecto schedule the next iteration through the plasm with ecto::BREAK as discussed in https://github.com/plasmodic/ecto/issues/251
- remove some old Willow Garage URLs
- update doc's url
- Contributors: Daniel Stonier, Michael Görner, Po-Jen Lai, Scott K Logan, Vincent Rabaud, v4hn
0.6.10 (2015-07-22)
- update test for future fix
- potentially fix compilation with Boost 1.58 could be a fix for #275
- Contributors: Vincent Rabaud
0.6.9 (2015-05-08)
- re-add some Python tests
- add missing PySide dependency
- Contributors: Vincent Rabaud
0.6.8 (2015-03-13)
- threadable plasms update. This reintroduces some level of threading into ecto. It was initially removed in c2a24a51, but this left some legacy code wasn't working as expressed in the documentation. These updates allow parallel execution of plasms in separate threads. It doesn't quite reach the scope of the original plan for ecto (threading for free inside a plasms computation), but it does cover several useful scenarios.
- convenience class for scheduling plasms across threads.
- Reformatted cell processing result handler (trivial). For clarity, and points back to an issue created which discusses the BREAK/CONTINUE options.
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
- Be free of the GIL! This lets ecto pipeline processing be free of its evil overlord, the [GIL](https://wiki.python.org/moin/GlobalInterpreterLock). That is, you can now schedule different plasms in different threads...e.g. some pseudocode: # ...construct some plasms image_scheduler = ecto.Scheduler(image_plasm) odometry_scheduler = ecto.Scheduler(odometry_plasm) image_thread = threading.Thread(name="image_thread", target=image_scheduler.execute) odometry_thread = threading.Thread(name="odometry_thread", target=odometry_scheduler.execute) image_thread.start() odometry_thread.start() image_thread.join() odometry_thread.join() ``[ Of course, inside a cell's `process()]{.title-ref} call, you can always grab the GIL momentarily if you need to using the opposite macro...[ECTO_SCOPED_CALLPYTHON]{.title-ref}.
- Bugfix python lookup for internal class variables Probably went unnoticed for a long time since it wasn't used. Came across this (I think - was quite a while ago) while fleshing out pythonic cell construction with names and parameter args. Should have gone in at the same time as 39b9cad9.
- fix doc fixes #239
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ecto at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.6.12 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/plasmodic/ecto.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2018-05-14 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vincent Rabaud
- Daniel Stonier
Authors
- Ethan Rublee
- Troy Straszheim
Ecto
Ecto is a hybrid C++/Python development framework for constructing and
maintaining pipelines. In Ecto, pipelines are constructed in terms of
processing units, Cells
, connected by data paths, Tendrils
, that
form Directed Acyclic Graphs, Plasms
. Cells are typically written in
C++, tendrils may be any type, and the plasm may be executed in a
variety of clever ways. Python is uses as a the graph DSL.
Ecto may be found useful in domains such as perception, audio, or robotics.
To get started see the online docs at http://plasmodic.github.io/ecto/
Get and Build Ecto
These instructions are useful if you wish to work with Ecto from source, as a standalone library.
source
We use git for our source control. You can get a copy of our repo by doing the following:
git clone git://github.com/plasmodic/ecto.git
dependencies
Ecto requires
-
- CMake
-
CMake is used for our build system, and you will need a version >= 2.8
-
- Boost
-
Anything over 1.40 http://www.boost.org
-
- Python
-
Ecto should work with 2.6 and up. You should have the development libraries. If you are bellow 2.7 you should install the argparse library
-
- optional Sphinx
-
Docs are built with sphinx, >= v1.0.7
-
- optional gtest
On ubuntu you can get most of these through apt:
sudo apt-get install cmake libboost-all-dev python-dev python-argparse python-yaml libgtest-dev
To build the docs, you should use a very recent version of Sphinx:
sudo easy_install -U sphinx
build
To build you should just follow a normal cmake recipe:
cd ecto
mkdir -p build
cd build
cmake ..
make
test
To validate ecto using our test suite, you may:
cd ecto/build
make
ctest
This should report zero test errors. If it does report an error, please tell us about it here: https://github.com/plasmodic/ecto/issues/new
docs
To create the latest documentation for Ecto:
sudo pip install -U catkin_sphinx
sphinx-build -b html ./doc/source/ ./doc/build
To build documentation for the kitchen: :
File truncated at 100 lines see the full file
0.6.12 (2016-04-17)
- fix tests on Kinetic
- fix PySide dependency
- add missing implementation for executing That fixes #233
- install the ecto library of test cells for users to utilise in their own tests.
- checking for ecto-test target existence
- Contributors: Daniel Stonier, Vincent Rabaud, edgarriba
0.6.11 (2015-09-21)
- minor doc syntax fixes
- saner installation instructions from source.
- add missing includes to make headers compile standalone
- add cstddef to introduce std::size_t
- add parameters.hpp to its implementation (works because of #pragma once)
- fix bsd-license check script Not all Copyright is (1.) from 2011 and (2.) by Willow Garage autofix is undefined if ECTO_LICENSE_AUTOFIX is not exported.
- Re-add thread library to linker list Regression caused by 8e354b5aa8281ea8117fc93adb290998b7810be7
- docs about various entities that affect graph execution, also other minor cleanups. Removed the redundancies in the install docs (2x install instructions and 2x dependencies) and cleaned the place up a bit.
- Provide test for ecto::BREAK return value.
- implement ecto::BREAK behavior This patch makes ecto schedule the next iteration through the plasm with ecto::BREAK as discussed in https://github.com/plasmodic/ecto/issues/251
- remove some old Willow Garage URLs
- update doc's url
- Contributors: Daniel Stonier, Michael Görner, Po-Jen Lai, Scott K Logan, Vincent Rabaud, v4hn
0.6.10 (2015-07-22)
- update test for future fix
- potentially fix compilation with Boost 1.58 could be a fix for #275
- Contributors: Vincent Rabaud
0.6.9 (2015-05-08)
- re-add some Python tests
- add missing PySide dependency
- Contributors: Vincent Rabaud
0.6.8 (2015-03-13)
- threadable plasms update. This reintroduces some level of threading into ecto. It was initially removed in c2a24a51, but this left some legacy code wasn't working as expressed in the documentation. These updates allow parallel execution of plasms in separate threads. It doesn't quite reach the scope of the original plan for ecto (threading for free inside a plasms computation), but it does cover several useful scenarios.
- convenience class for scheduling plasms across threads.
- Reformatted cell processing result handler (trivial). For clarity, and points back to an issue created which discusses the BREAK/CONTINUE options.
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
- Be free of the GIL! This lets ecto pipeline processing be free of its evil overlord, the [GIL](https://wiki.python.org/moin/GlobalInterpreterLock). That is, you can now schedule different plasms in different threads...e.g. some pseudocode: # ...construct some plasms image_scheduler = ecto.Scheduler(image_plasm) odometry_scheduler = ecto.Scheduler(odometry_plasm) image_thread = threading.Thread(name="image_thread", target=image_scheduler.execute) odometry_thread = threading.Thread(name="odometry_thread", target=odometry_scheduler.execute) image_thread.start() odometry_thread.start() image_thread.join() odometry_thread.join() ``[ Of course, inside a cell's `process()]{.title-ref} call, you can always grab the GIL momentarily if you need to using the opposite macro...[ECTO_SCOPED_CALLPYTHON]{.title-ref}.
- Bugfix python lookup for internal class variables Probably went unnoticed for a long time since it wasn't used. Came across this (I think - was quite a while ago) while fleshing out pythonic cell construction with names and parameter args. Should have gone in at the same time as 39b9cad9.
- fix doc fixes #239
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ecto at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.6.12 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/plasmodic/ecto.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2018-05-14 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vincent Rabaud
- Daniel Stonier
Authors
- Ethan Rublee
- Troy Straszheim
Ecto
Ecto is a hybrid C++/Python development framework for constructing and
maintaining pipelines. In Ecto, pipelines are constructed in terms of
processing units, Cells
, connected by data paths, Tendrils
, that
form Directed Acyclic Graphs, Plasms
. Cells are typically written in
C++, tendrils may be any type, and the plasm may be executed in a
variety of clever ways. Python is uses as a the graph DSL.
Ecto may be found useful in domains such as perception, audio, or robotics.
To get started see the online docs at http://plasmodic.github.io/ecto/
Get and Build Ecto
These instructions are useful if you wish to work with Ecto from source, as a standalone library.
source
We use git for our source control. You can get a copy of our repo by doing the following:
git clone git://github.com/plasmodic/ecto.git
dependencies
Ecto requires
-
- CMake
-
CMake is used for our build system, and you will need a version >= 2.8
-
- Boost
-
Anything over 1.40 http://www.boost.org
-
- Python
-
Ecto should work with 2.6 and up. You should have the development libraries. If you are bellow 2.7 you should install the argparse library
-
- optional Sphinx
-
Docs are built with sphinx, >= v1.0.7
-
- optional gtest
On ubuntu you can get most of these through apt:
sudo apt-get install cmake libboost-all-dev python-dev python-argparse python-yaml libgtest-dev
To build the docs, you should use a very recent version of Sphinx:
sudo easy_install -U sphinx
build
To build you should just follow a normal cmake recipe:
cd ecto
mkdir -p build
cd build
cmake ..
make
test
To validate ecto using our test suite, you may:
cd ecto/build
make
ctest
This should report zero test errors. If it does report an error, please tell us about it here: https://github.com/plasmodic/ecto/issues/new
docs
To create the latest documentation for Ecto:
sudo pip install -U catkin_sphinx
sphinx-build -b html ./doc/source/ ./doc/build
To build documentation for the kitchen: :
File truncated at 100 lines see the full file
0.6.12 (2016-04-17)
- fix tests on Kinetic
- fix PySide dependency
- add missing implementation for executing That fixes #233
- install the ecto library of test cells for users to utilise in their own tests.
- checking for ecto-test target existence
- Contributors: Daniel Stonier, Vincent Rabaud, edgarriba
0.6.11 (2015-09-21)
- minor doc syntax fixes
- saner installation instructions from source.
- add missing includes to make headers compile standalone
- add cstddef to introduce std::size_t
- add parameters.hpp to its implementation (works because of #pragma once)
- fix bsd-license check script Not all Copyright is (1.) from 2011 and (2.) by Willow Garage autofix is undefined if ECTO_LICENSE_AUTOFIX is not exported.
- Re-add thread library to linker list Regression caused by 8e354b5aa8281ea8117fc93adb290998b7810be7
- docs about various entities that affect graph execution, also other minor cleanups. Removed the redundancies in the install docs (2x install instructions and 2x dependencies) and cleaned the place up a bit.
- Provide test for ecto::BREAK return value.
- implement ecto::BREAK behavior This patch makes ecto schedule the next iteration through the plasm with ecto::BREAK as discussed in https://github.com/plasmodic/ecto/issues/251
- remove some old Willow Garage URLs
- update doc's url
- Contributors: Daniel Stonier, Michael Görner, Po-Jen Lai, Scott K Logan, Vincent Rabaud, v4hn
0.6.10 (2015-07-22)
- update test for future fix
- potentially fix compilation with Boost 1.58 could be a fix for #275
- Contributors: Vincent Rabaud
0.6.9 (2015-05-08)
- re-add some Python tests
- add missing PySide dependency
- Contributors: Vincent Rabaud
0.6.8 (2015-03-13)
- threadable plasms update. This reintroduces some level of threading into ecto. It was initially removed in c2a24a51, but this left some legacy code wasn't working as expressed in the documentation. These updates allow parallel execution of plasms in separate threads. It doesn't quite reach the scope of the original plan for ecto (threading for free inside a plasms computation), but it does cover several useful scenarios.
- convenience class for scheduling plasms across threads.
- Reformatted cell processing result handler (trivial). For clarity, and points back to an issue created which discusses the BREAK/CONTINUE options.
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
- Be free of the GIL! This lets ecto pipeline processing be free of its evil overlord, the [GIL](https://wiki.python.org/moin/GlobalInterpreterLock). That is, you can now schedule different plasms in different threads...e.g. some pseudocode: # ...construct some plasms image_scheduler = ecto.Scheduler(image_plasm) odometry_scheduler = ecto.Scheduler(odometry_plasm) image_thread = threading.Thread(name="image_thread", target=image_scheduler.execute) odometry_thread = threading.Thread(name="odometry_thread", target=odometry_scheduler.execute) image_thread.start() odometry_thread.start() image_thread.join() odometry_thread.join() ``[ Of course, inside a cell's `process()]{.title-ref} call, you can always grab the GIL momentarily if you need to using the opposite macro...[ECTO_SCOPED_CALLPYTHON]{.title-ref}.
- Bugfix python lookup for internal class variables Probably went unnoticed for a long time since it wasn't used. Came across this (I think - was quite a while ago) while fleshing out pythonic cell construction with names and parameter args. Should have gone in at the same time as 39b9cad9.
- fix doc fixes #239
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ecto at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.6.12 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/plasmodic/ecto.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2018-05-14 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vincent Rabaud
- Daniel Stonier
Authors
- Ethan Rublee
- Troy Straszheim
Ecto
Ecto is a hybrid C++/Python development framework for constructing and
maintaining pipelines. In Ecto, pipelines are constructed in terms of
processing units, Cells
, connected by data paths, Tendrils
, that
form Directed Acyclic Graphs, Plasms
. Cells are typically written in
C++, tendrils may be any type, and the plasm may be executed in a
variety of clever ways. Python is uses as a the graph DSL.
Ecto may be found useful in domains such as perception, audio, or robotics.
To get started see the online docs at http://plasmodic.github.io/ecto/
Get and Build Ecto
These instructions are useful if you wish to work with Ecto from source, as a standalone library.
source
We use git for our source control. You can get a copy of our repo by doing the following:
git clone git://github.com/plasmodic/ecto.git
dependencies
Ecto requires
-
- CMake
-
CMake is used for our build system, and you will need a version >= 2.8
-
- Boost
-
Anything over 1.40 http://www.boost.org
-
- Python
-
Ecto should work with 2.6 and up. You should have the development libraries. If you are bellow 2.7 you should install the argparse library
-
- optional Sphinx
-
Docs are built with sphinx, >= v1.0.7
-
- optional gtest
On ubuntu you can get most of these through apt:
sudo apt-get install cmake libboost-all-dev python-dev python-argparse python-yaml libgtest-dev
To build the docs, you should use a very recent version of Sphinx:
sudo easy_install -U sphinx
build
To build you should just follow a normal cmake recipe:
cd ecto
mkdir -p build
cd build
cmake ..
make
test
To validate ecto using our test suite, you may:
cd ecto/build
make
ctest
This should report zero test errors. If it does report an error, please tell us about it here: https://github.com/plasmodic/ecto/issues/new
docs
To create the latest documentation for Ecto:
sudo pip install -U catkin_sphinx
sphinx-build -b html ./doc/source/ ./doc/build
To build documentation for the kitchen: :
File truncated at 100 lines see the full file
0.6.12 (2016-04-17)
- fix tests on Kinetic
- fix PySide dependency
- add missing implementation for executing That fixes #233
- install the ecto library of test cells for users to utilise in their own tests.
- checking for ecto-test target existence
- Contributors: Daniel Stonier, Vincent Rabaud, edgarriba
0.6.11 (2015-09-21)
- minor doc syntax fixes
- saner installation instructions from source.
- add missing includes to make headers compile standalone
- add cstddef to introduce std::size_t
- add parameters.hpp to its implementation (works because of #pragma once)
- fix bsd-license check script Not all Copyright is (1.) from 2011 and (2.) by Willow Garage autofix is undefined if ECTO_LICENSE_AUTOFIX is not exported.
- Re-add thread library to linker list Regression caused by 8e354b5aa8281ea8117fc93adb290998b7810be7
- docs about various entities that affect graph execution, also other minor cleanups. Removed the redundancies in the install docs (2x install instructions and 2x dependencies) and cleaned the place up a bit.
- Provide test for ecto::BREAK return value.
- implement ecto::BREAK behavior This patch makes ecto schedule the next iteration through the plasm with ecto::BREAK as discussed in https://github.com/plasmodic/ecto/issues/251
- remove some old Willow Garage URLs
- update doc's url
- Contributors: Daniel Stonier, Michael Görner, Po-Jen Lai, Scott K Logan, Vincent Rabaud, v4hn
0.6.10 (2015-07-22)
- update test for future fix
- potentially fix compilation with Boost 1.58 could be a fix for #275
- Contributors: Vincent Rabaud
0.6.9 (2015-05-08)
- re-add some Python tests
- add missing PySide dependency
- Contributors: Vincent Rabaud
0.6.8 (2015-03-13)
- threadable plasms update. This reintroduces some level of threading into ecto. It was initially removed in c2a24a51, but this left some legacy code wasn't working as expressed in the documentation. These updates allow parallel execution of plasms in separate threads. It doesn't quite reach the scope of the original plan for ecto (threading for free inside a plasms computation), but it does cover several useful scenarios.
- convenience class for scheduling plasms across threads.
- Reformatted cell processing result handler (trivial). For clarity, and points back to an issue created which discusses the BREAK/CONTINUE options.
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
- Be free of the GIL! This lets ecto pipeline processing be free of its evil overlord, the [GIL](https://wiki.python.org/moin/GlobalInterpreterLock). That is, you can now schedule different plasms in different threads...e.g. some pseudocode: # ...construct some plasms image_scheduler = ecto.Scheduler(image_plasm) odometry_scheduler = ecto.Scheduler(odometry_plasm) image_thread = threading.Thread(name="image_thread", target=image_scheduler.execute) odometry_thread = threading.Thread(name="odometry_thread", target=odometry_scheduler.execute) image_thread.start() odometry_thread.start() image_thread.join() odometry_thread.join() ``[ Of course, inside a cell's `process()]{.title-ref} call, you can always grab the GIL momentarily if you need to using the opposite macro...[ECTO_SCOPED_CALLPYTHON]{.title-ref}.
- Bugfix python lookup for internal class variables Probably went unnoticed for a long time since it wasn't used. Came across this (I think - was quite a while ago) while fleshing out pythonic cell construction with names and parameter args. Should have gone in at the same time as 39b9cad9.
- fix doc fixes #239
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ecto at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.6.12 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/plasmodic/ecto.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2018-05-14 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vincent Rabaud
- Daniel Stonier
Authors
- Ethan Rublee
- Troy Straszheim
Ecto
Ecto is a hybrid C++/Python development framework for constructing and
maintaining pipelines. In Ecto, pipelines are constructed in terms of
processing units, Cells
, connected by data paths, Tendrils
, that
form Directed Acyclic Graphs, Plasms
. Cells are typically written in
C++, tendrils may be any type, and the plasm may be executed in a
variety of clever ways. Python is uses as a the graph DSL.
Ecto may be found useful in domains such as perception, audio, or robotics.
To get started see the online docs at http://plasmodic.github.io/ecto/
Get and Build Ecto
These instructions are useful if you wish to work with Ecto from source, as a standalone library.
source
We use git for our source control. You can get a copy of our repo by doing the following:
git clone git://github.com/plasmodic/ecto.git
dependencies
Ecto requires
-
- CMake
-
CMake is used for our build system, and you will need a version >= 2.8
-
- Boost
-
Anything over 1.40 http://www.boost.org
-
- Python
-
Ecto should work with 2.6 and up. You should have the development libraries. If you are bellow 2.7 you should install the argparse library
-
- optional Sphinx
-
Docs are built with sphinx, >= v1.0.7
-
- optional gtest
On ubuntu you can get most of these through apt:
sudo apt-get install cmake libboost-all-dev python-dev python-argparse python-yaml libgtest-dev
To build the docs, you should use a very recent version of Sphinx:
sudo easy_install -U sphinx
build
To build you should just follow a normal cmake recipe:
cd ecto
mkdir -p build
cd build
cmake ..
make
test
To validate ecto using our test suite, you may:
cd ecto/build
make
ctest
This should report zero test errors. If it does report an error, please tell us about it here: https://github.com/plasmodic/ecto/issues/new
docs
To create the latest documentation for Ecto:
sudo pip install -U catkin_sphinx
sphinx-build -b html ./doc/source/ ./doc/build
To build documentation for the kitchen: :
File truncated at 100 lines see the full file
0.6.12 (2016-04-17)
- fix tests on Kinetic
- fix PySide dependency
- add missing implementation for executing That fixes #233
- install the ecto library of test cells for users to utilise in their own tests.
- checking for ecto-test target existence
- Contributors: Daniel Stonier, Vincent Rabaud, edgarriba
0.6.11 (2015-09-21)
- minor doc syntax fixes
- saner installation instructions from source.
- add missing includes to make headers compile standalone
- add cstddef to introduce std::size_t
- add parameters.hpp to its implementation (works because of #pragma once)
- fix bsd-license check script Not all Copyright is (1.) from 2011 and (2.) by Willow Garage autofix is undefined if ECTO_LICENSE_AUTOFIX is not exported.
- Re-add thread library to linker list Regression caused by 8e354b5aa8281ea8117fc93adb290998b7810be7
- docs about various entities that affect graph execution, also other minor cleanups. Removed the redundancies in the install docs (2x install instructions and 2x dependencies) and cleaned the place up a bit.
- Provide test for ecto::BREAK return value.
- implement ecto::BREAK behavior This patch makes ecto schedule the next iteration through the plasm with ecto::BREAK as discussed in https://github.com/plasmodic/ecto/issues/251
- remove some old Willow Garage URLs
- update doc's url
- Contributors: Daniel Stonier, Michael Görner, Po-Jen Lai, Scott K Logan, Vincent Rabaud, v4hn
0.6.10 (2015-07-22)
- update test for future fix
- potentially fix compilation with Boost 1.58 could be a fix for #275
- Contributors: Vincent Rabaud
0.6.9 (2015-05-08)
- re-add some Python tests
- add missing PySide dependency
- Contributors: Vincent Rabaud
0.6.8 (2015-03-13)
- threadable plasms update. This reintroduces some level of threading into ecto. It was initially removed in c2a24a51, but this left some legacy code wasn't working as expressed in the documentation. These updates allow parallel execution of plasms in separate threads. It doesn't quite reach the scope of the original plan for ecto (threading for free inside a plasms computation), but it does cover several useful scenarios.
- convenience class for scheduling plasms across threads.
- Reformatted cell processing result handler (trivial). For clarity, and points back to an issue created which discusses the BREAK/CONTINUE options.
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
- Be free of the GIL! This lets ecto pipeline processing be free of its evil overlord, the [GIL](https://wiki.python.org/moin/GlobalInterpreterLock). That is, you can now schedule different plasms in different threads...e.g. some pseudocode: # ...construct some plasms image_scheduler = ecto.Scheduler(image_plasm) odometry_scheduler = ecto.Scheduler(odometry_plasm) image_thread = threading.Thread(name="image_thread", target=image_scheduler.execute) odometry_thread = threading.Thread(name="odometry_thread", target=odometry_scheduler.execute) image_thread.start() odometry_thread.start() image_thread.join() odometry_thread.join() ``[ Of course, inside a cell's `process()]{.title-ref} call, you can always grab the GIL momentarily if you need to using the opposite macro...[ECTO_SCOPED_CALLPYTHON]{.title-ref}.
- Bugfix python lookup for internal class variables Probably went unnoticed for a long time since it wasn't used. Came across this (I think - was quite a while ago) while fleshing out pythonic cell construction with names and parameter args. Should have gone in at the same time as 39b9cad9.
- fix doc fixes #239
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ecto at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.6.12 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/plasmodic/ecto.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2018-05-14 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vincent Rabaud
- Daniel Stonier
Authors
- Ethan Rublee
- Troy Straszheim
Ecto
Ecto is a hybrid C++/Python development framework for constructing and
maintaining pipelines. In Ecto, pipelines are constructed in terms of
processing units, Cells
, connected by data paths, Tendrils
, that
form Directed Acyclic Graphs, Plasms
. Cells are typically written in
C++, tendrils may be any type, and the plasm may be executed in a
variety of clever ways. Python is uses as a the graph DSL.
Ecto may be found useful in domains such as perception, audio, or robotics.
To get started see the online docs at http://plasmodic.github.io/ecto/
Get and Build Ecto
These instructions are useful if you wish to work with Ecto from source, as a standalone library.
source
We use git for our source control. You can get a copy of our repo by doing the following:
git clone git://github.com/plasmodic/ecto.git
dependencies
Ecto requires
-
- CMake
-
CMake is used for our build system, and you will need a version >= 2.8
-
- Boost
-
Anything over 1.40 http://www.boost.org
-
- Python
-
Ecto should work with 2.6 and up. You should have the development libraries. If you are bellow 2.7 you should install the argparse library
-
- optional Sphinx
-
Docs are built with sphinx, >= v1.0.7
-
- optional gtest
On ubuntu you can get most of these through apt:
sudo apt-get install cmake libboost-all-dev python-dev python-argparse python-yaml libgtest-dev
To build the docs, you should use a very recent version of Sphinx:
sudo easy_install -U sphinx
build
To build you should just follow a normal cmake recipe:
cd ecto
mkdir -p build
cd build
cmake ..
make
test
To validate ecto using our test suite, you may:
cd ecto/build
make
ctest
This should report zero test errors. If it does report an error, please tell us about it here: https://github.com/plasmodic/ecto/issues/new
docs
To create the latest documentation for Ecto:
sudo pip install -U catkin_sphinx
sphinx-build -b html ./doc/source/ ./doc/build
To build documentation for the kitchen: :
File truncated at 100 lines see the full file
0.6.12 (2016-04-17)
- fix tests on Kinetic
- fix PySide dependency
- add missing implementation for executing That fixes #233
- install the ecto library of test cells for users to utilise in their own tests.
- checking for ecto-test target existence
- Contributors: Daniel Stonier, Vincent Rabaud, edgarriba
0.6.11 (2015-09-21)
- minor doc syntax fixes
- saner installation instructions from source.
- add missing includes to make headers compile standalone
- add cstddef to introduce std::size_t
- add parameters.hpp to its implementation (works because of #pragma once)
- fix bsd-license check script Not all Copyright is (1.) from 2011 and (2.) by Willow Garage autofix is undefined if ECTO_LICENSE_AUTOFIX is not exported.
- Re-add thread library to linker list Regression caused by 8e354b5aa8281ea8117fc93adb290998b7810be7
- docs about various entities that affect graph execution, also other minor cleanups. Removed the redundancies in the install docs (2x install instructions and 2x dependencies) and cleaned the place up a bit.
- Provide test for ecto::BREAK return value.
- implement ecto::BREAK behavior This patch makes ecto schedule the next iteration through the plasm with ecto::BREAK as discussed in https://github.com/plasmodic/ecto/issues/251
- remove some old Willow Garage URLs
- update doc's url
- Contributors: Daniel Stonier, Michael Görner, Po-Jen Lai, Scott K Logan, Vincent Rabaud, v4hn
0.6.10 (2015-07-22)
- update test for future fix
- potentially fix compilation with Boost 1.58 could be a fix for #275
- Contributors: Vincent Rabaud
0.6.9 (2015-05-08)
- re-add some Python tests
- add missing PySide dependency
- Contributors: Vincent Rabaud
0.6.8 (2015-03-13)
- threadable plasms update. This reintroduces some level of threading into ecto. It was initially removed in c2a24a51, but this left some legacy code wasn't working as expressed in the documentation. These updates allow parallel execution of plasms in separate threads. It doesn't quite reach the scope of the original plan for ecto (threading for free inside a plasms computation), but it does cover several useful scenarios.
- convenience class for scheduling plasms across threads.
- Reformatted cell processing result handler (trivial). For clarity, and points back to an issue created which discusses the BREAK/CONTINUE options.
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
- Be free of the GIL! This lets ecto pipeline processing be free of its evil overlord, the [GIL](https://wiki.python.org/moin/GlobalInterpreterLock). That is, you can now schedule different plasms in different threads...e.g. some pseudocode: # ...construct some plasms image_scheduler = ecto.Scheduler(image_plasm) odometry_scheduler = ecto.Scheduler(odometry_plasm) image_thread = threading.Thread(name="image_thread", target=image_scheduler.execute) odometry_thread = threading.Thread(name="odometry_thread", target=odometry_scheduler.execute) image_thread.start() odometry_thread.start() image_thread.join() odometry_thread.join() ``[ Of course, inside a cell's `process()]{.title-ref} call, you can always grab the GIL momentarily if you need to using the opposite macro...[ECTO_SCOPED_CALLPYTHON]{.title-ref}.
- Bugfix python lookup for internal class variables Probably went unnoticed for a long time since it wasn't used. Came across this (I think - was quite a while ago) while fleshing out pythonic cell construction with names and parameter args. Should have gone in at the same time as 39b9cad9.
- fix doc fixes #239
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ecto at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.6.12 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/plasmodic/ecto.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2018-05-14 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vincent Rabaud
- Daniel Stonier
Authors
- Ethan Rublee
- Troy Straszheim
Ecto
Ecto is a hybrid C++/Python development framework for constructing and
maintaining pipelines. In Ecto, pipelines are constructed in terms of
processing units, Cells
, connected by data paths, Tendrils
, that
form Directed Acyclic Graphs, Plasms
. Cells are typically written in
C++, tendrils may be any type, and the plasm may be executed in a
variety of clever ways. Python is uses as a the graph DSL.
Ecto may be found useful in domains such as perception, audio, or robotics.
To get started see the online docs at http://plasmodic.github.io/ecto/
Get and Build Ecto
These instructions are useful if you wish to work with Ecto from source, as a standalone library.
source
We use git for our source control. You can get a copy of our repo by doing the following:
git clone git://github.com/plasmodic/ecto.git
dependencies
Ecto requires
-
- CMake
-
CMake is used for our build system, and you will need a version >= 2.8
-
- Boost
-
Anything over 1.40 http://www.boost.org
-
- Python
-
Ecto should work with 2.6 and up. You should have the development libraries. If you are bellow 2.7 you should install the argparse library
-
- optional Sphinx
-
Docs are built with sphinx, >= v1.0.7
-
- optional gtest
On ubuntu you can get most of these through apt:
sudo apt-get install cmake libboost-all-dev python-dev python-argparse python-yaml libgtest-dev
To build the docs, you should use a very recent version of Sphinx:
sudo easy_install -U sphinx
build
To build you should just follow a normal cmake recipe:
cd ecto
mkdir -p build
cd build
cmake ..
make
test
To validate ecto using our test suite, you may:
cd ecto/build
make
ctest
This should report zero test errors. If it does report an error, please tell us about it here: https://github.com/plasmodic/ecto/issues/new
docs
To create the latest documentation for Ecto:
sudo pip install -U catkin_sphinx
sphinx-build -b html ./doc/source/ ./doc/build
To build documentation for the kitchen: :
File truncated at 100 lines see the full file
0.6.12 (2016-04-17)
- fix tests on Kinetic
- fix PySide dependency
- add missing implementation for executing That fixes #233
- install the ecto library of test cells for users to utilise in their own tests.
- checking for ecto-test target existence
- Contributors: Daniel Stonier, Vincent Rabaud, edgarriba
0.6.11 (2015-09-21)
- minor doc syntax fixes
- saner installation instructions from source.
- add missing includes to make headers compile standalone
- add cstddef to introduce std::size_t
- add parameters.hpp to its implementation (works because of #pragma once)
- fix bsd-license check script Not all Copyright is (1.) from 2011 and (2.) by Willow Garage autofix is undefined if ECTO_LICENSE_AUTOFIX is not exported.
- Re-add thread library to linker list Regression caused by 8e354b5aa8281ea8117fc93adb290998b7810be7
- docs about various entities that affect graph execution, also other minor cleanups. Removed the redundancies in the install docs (2x install instructions and 2x dependencies) and cleaned the place up a bit.
- Provide test for ecto::BREAK return value.
- implement ecto::BREAK behavior This patch makes ecto schedule the next iteration through the plasm with ecto::BREAK as discussed in https://github.com/plasmodic/ecto/issues/251
- remove some old Willow Garage URLs
- update doc's url
- Contributors: Daniel Stonier, Michael Görner, Po-Jen Lai, Scott K Logan, Vincent Rabaud, v4hn
0.6.10 (2015-07-22)
- update test for future fix
- potentially fix compilation with Boost 1.58 could be a fix for #275
- Contributors: Vincent Rabaud
0.6.9 (2015-05-08)
- re-add some Python tests
- add missing PySide dependency
- Contributors: Vincent Rabaud
0.6.8 (2015-03-13)
- threadable plasms update. This reintroduces some level of threading into ecto. It was initially removed in c2a24a51, but this left some legacy code wasn't working as expressed in the documentation. These updates allow parallel execution of plasms in separate threads. It doesn't quite reach the scope of the original plan for ecto (threading for free inside a plasms computation), but it does cover several useful scenarios.
- convenience class for scheduling plasms across threads.
- Reformatted cell processing result handler (trivial). For clarity, and points back to an issue created which discusses the BREAK/CONTINUE options.
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
- Be free of the GIL! This lets ecto pipeline processing be free of its evil overlord, the [GIL](https://wiki.python.org/moin/GlobalInterpreterLock). That is, you can now schedule different plasms in different threads...e.g. some pseudocode: # ...construct some plasms image_scheduler = ecto.Scheduler(image_plasm) odometry_scheduler = ecto.Scheduler(odometry_plasm) image_thread = threading.Thread(name="image_thread", target=image_scheduler.execute) odometry_thread = threading.Thread(name="odometry_thread", target=odometry_scheduler.execute) image_thread.start() odometry_thread.start() image_thread.join() odometry_thread.join() ``[ Of course, inside a cell's `process()]{.title-ref} call, you can always grab the GIL momentarily if you need to using the opposite macro...[ECTO_SCOPED_CALLPYTHON]{.title-ref}.
- Bugfix python lookup for internal class variables Probably went unnoticed for a long time since it wasn't used. Came across this (I think - was quite a while ago) while fleshing out pythonic cell construction with names and parameter args. Should have gone in at the same time as 39b9cad9.
- fix doc fixes #239
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
File truncated at 100 lines see the full file
Wiki Tutorials
Launch files
Messages
Services
Plugins
Recent questions tagged ecto at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.6.12 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/plasmodic/ecto.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2018-05-14 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vincent Rabaud
- Daniel Stonier
Authors
- Ethan Rublee
- Troy Straszheim
Ecto
Ecto is a hybrid C++/Python development framework for constructing and
maintaining pipelines. In Ecto, pipelines are constructed in terms of
processing units, Cells
, connected by data paths, Tendrils
, that
form Directed Acyclic Graphs, Plasms
. Cells are typically written in
C++, tendrils may be any type, and the plasm may be executed in a
variety of clever ways. Python is uses as a the graph DSL.
Ecto may be found useful in domains such as perception, audio, or robotics.
To get started see the online docs at http://plasmodic.github.io/ecto/
Get and Build Ecto
These instructions are useful if you wish to work with Ecto from source, as a standalone library.
source
We use git for our source control. You can get a copy of our repo by doing the following:
git clone git://github.com/plasmodic/ecto.git
dependencies
Ecto requires
-
- CMake
-
CMake is used for our build system, and you will need a version >= 2.8
-
- Boost
-
Anything over 1.40 http://www.boost.org
-
- Python
-
Ecto should work with 2.6 and up. You should have the development libraries. If you are bellow 2.7 you should install the argparse library
-
- optional Sphinx
-
Docs are built with sphinx, >= v1.0.7
-
- optional gtest
On ubuntu you can get most of these through apt:
sudo apt-get install cmake libboost-all-dev python-dev python-argparse python-yaml libgtest-dev
To build the docs, you should use a very recent version of Sphinx:
sudo easy_install -U sphinx
build
To build you should just follow a normal cmake recipe:
cd ecto
mkdir -p build
cd build
cmake ..
make
test
To validate ecto using our test suite, you may:
cd ecto/build
make
ctest
This should report zero test errors. If it does report an error, please tell us about it here: https://github.com/plasmodic/ecto/issues/new
docs
To create the latest documentation for Ecto:
sudo pip install -U catkin_sphinx
sphinx-build -b html ./doc/source/ ./doc/build
To build documentation for the kitchen: :
File truncated at 100 lines see the full file
0.6.12 (2016-04-17)
- fix tests on Kinetic
- fix PySide dependency
- add missing implementation for executing That fixes #233
- install the ecto library of test cells for users to utilise in their own tests.
- checking for ecto-test target existence
- Contributors: Daniel Stonier, Vincent Rabaud, edgarriba
0.6.11 (2015-09-21)
- minor doc syntax fixes
- saner installation instructions from source.
- add missing includes to make headers compile standalone
- add cstddef to introduce std::size_t
- add parameters.hpp to its implementation (works because of #pragma once)
- fix bsd-license check script Not all Copyright is (1.) from 2011 and (2.) by Willow Garage autofix is undefined if ECTO_LICENSE_AUTOFIX is not exported.
- Re-add thread library to linker list Regression caused by 8e354b5aa8281ea8117fc93adb290998b7810be7
- docs about various entities that affect graph execution, also other minor cleanups. Removed the redundancies in the install docs (2x install instructions and 2x dependencies) and cleaned the place up a bit.
- Provide test for ecto::BREAK return value.
- implement ecto::BREAK behavior This patch makes ecto schedule the next iteration through the plasm with ecto::BREAK as discussed in https://github.com/plasmodic/ecto/issues/251
- remove some old Willow Garage URLs
- update doc's url
- Contributors: Daniel Stonier, Michael Görner, Po-Jen Lai, Scott K Logan, Vincent Rabaud, v4hn
0.6.10 (2015-07-22)
- update test for future fix
- potentially fix compilation with Boost 1.58 could be a fix for #275
- Contributors: Vincent Rabaud
0.6.9 (2015-05-08)
- re-add some Python tests
- add missing PySide dependency
- Contributors: Vincent Rabaud
0.6.8 (2015-03-13)
- threadable plasms update. This reintroduces some level of threading into ecto. It was initially removed in c2a24a51, but this left some legacy code wasn't working as expressed in the documentation. These updates allow parallel execution of plasms in separate threads. It doesn't quite reach the scope of the original plan for ecto (threading for free inside a plasms computation), but it does cover several useful scenarios.
- convenience class for scheduling plasms across threads.
- Reformatted cell processing result handler (trivial). For clarity, and points back to an issue created which discusses the BREAK/CONTINUE options.
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
- Be free of the GIL! This lets ecto pipeline processing be free of its evil overlord, the [GIL](https://wiki.python.org/moin/GlobalInterpreterLock). That is, you can now schedule different plasms in different threads...e.g. some pseudocode: # ...construct some plasms image_scheduler = ecto.Scheduler(image_plasm) odometry_scheduler = ecto.Scheduler(odometry_plasm) image_thread = threading.Thread(name="image_thread", target=image_scheduler.execute) odometry_thread = threading.Thread(name="odometry_thread", target=odometry_scheduler.execute) image_thread.start() odometry_thread.start() image_thread.join() odometry_thread.join() ``[ Of course, inside a cell's `process()]{.title-ref} call, you can always grab the GIL momentarily if you need to using the opposite macro...[ECTO_SCOPED_CALLPYTHON]{.title-ref}.
- Bugfix python lookup for internal class variables Probably went unnoticed for a long time since it wasn't used. Came across this (I think - was quite a while ago) while fleshing out pythonic cell construction with names and parameter args. Should have gone in at the same time as 39b9cad9.
- fix doc fixes #239
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
File truncated at 100 lines see the full file
Wiki Tutorials
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ecto at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.6.12 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/plasmodic/ecto.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2018-05-14 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Vincent Rabaud
- Daniel Stonier
Authors
- Ethan Rublee
- Troy Straszheim
Ecto
Ecto is a hybrid C++/Python development framework for constructing and
maintaining pipelines. In Ecto, pipelines are constructed in terms of
processing units, Cells
, connected by data paths, Tendrils
, that
form Directed Acyclic Graphs, Plasms
. Cells are typically written in
C++, tendrils may be any type, and the plasm may be executed in a
variety of clever ways. Python is uses as a the graph DSL.
Ecto may be found useful in domains such as perception, audio, or robotics.
To get started see the online docs at http://plasmodic.github.io/ecto/
Get and Build Ecto
These instructions are useful if you wish to work with Ecto from source, as a standalone library.
source
We use git for our source control. You can get a copy of our repo by doing the following:
git clone git://github.com/plasmodic/ecto.git
dependencies
Ecto requires
-
- CMake
-
CMake is used for our build system, and you will need a version >= 2.8
-
- Boost
-
Anything over 1.40 http://www.boost.org
-
- Python
-
Ecto should work with 2.6 and up. You should have the development libraries. If you are bellow 2.7 you should install the argparse library
-
- optional Sphinx
-
Docs are built with sphinx, >= v1.0.7
-
- optional gtest
On ubuntu you can get most of these through apt:
sudo apt-get install cmake libboost-all-dev python-dev python-argparse python-yaml libgtest-dev
To build the docs, you should use a very recent version of Sphinx:
sudo easy_install -U sphinx
build
To build you should just follow a normal cmake recipe:
cd ecto
mkdir -p build
cd build
cmake ..
make
test
To validate ecto using our test suite, you may:
cd ecto/build
make
ctest
This should report zero test errors. If it does report an error, please tell us about it here: https://github.com/plasmodic/ecto/issues/new
docs
To create the latest documentation for Ecto:
sudo pip install -U catkin_sphinx
sphinx-build -b html ./doc/source/ ./doc/build
To build documentation for the kitchen: :
File truncated at 100 lines see the full file
0.6.12 (2016-04-17)
- fix tests on Kinetic
- fix PySide dependency
- add missing implementation for executing That fixes #233
- install the ecto library of test cells for users to utilise in their own tests.
- checking for ecto-test target existence
- Contributors: Daniel Stonier, Vincent Rabaud, edgarriba
0.6.11 (2015-09-21)
- minor doc syntax fixes
- saner installation instructions from source.
- add missing includes to make headers compile standalone
- add cstddef to introduce std::size_t
- add parameters.hpp to its implementation (works because of #pragma once)
- fix bsd-license check script Not all Copyright is (1.) from 2011 and (2.) by Willow Garage autofix is undefined if ECTO_LICENSE_AUTOFIX is not exported.
- Re-add thread library to linker list Regression caused by 8e354b5aa8281ea8117fc93adb290998b7810be7
- docs about various entities that affect graph execution, also other minor cleanups. Removed the redundancies in the install docs (2x install instructions and 2x dependencies) and cleaned the place up a bit.
- Provide test for ecto::BREAK return value.
- implement ecto::BREAK behavior This patch makes ecto schedule the next iteration through the plasm with ecto::BREAK as discussed in https://github.com/plasmodic/ecto/issues/251
- remove some old Willow Garage URLs
- update doc's url
- Contributors: Daniel Stonier, Michael Görner, Po-Jen Lai, Scott K Logan, Vincent Rabaud, v4hn
0.6.10 (2015-07-22)
- update test for future fix
- potentially fix compilation with Boost 1.58 could be a fix for #275
- Contributors: Vincent Rabaud
0.6.9 (2015-05-08)
- re-add some Python tests
- add missing PySide dependency
- Contributors: Vincent Rabaud
0.6.8 (2015-03-13)
- threadable plasms update. This reintroduces some level of threading into ecto. It was initially removed in c2a24a51, but this left some legacy code wasn't working as expressed in the documentation. These updates allow parallel execution of plasms in separate threads. It doesn't quite reach the scope of the original plan for ecto (threading for free inside a plasms computation), but it does cover several useful scenarios.
- convenience class for scheduling plasms across threads.
- Reformatted cell processing result handler (trivial). For clarity, and points back to an issue created which discusses the BREAK/CONTINUE options.
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
- Be free of the GIL! This lets ecto pipeline processing be free of its evil overlord, the [GIL](https://wiki.python.org/moin/GlobalInterpreterLock). That is, you can now schedule different plasms in different threads...e.g. some pseudocode: # ...construct some plasms image_scheduler = ecto.Scheduler(image_plasm) odometry_scheduler = ecto.Scheduler(odometry_plasm) image_thread = threading.Thread(name="image_thread", target=image_scheduler.execute) odometry_thread = threading.Thread(name="odometry_thread", target=odometry_scheduler.execute) image_thread.start() odometry_thread.start() image_thread.join() odometry_thread.join() ``[ Of course, inside a cell's `process()]{.title-ref} call, you can always grab the GIL momentarily if you need to using the opposite macro...[ECTO_SCOPED_CALLPYTHON]{.title-ref}.
- Bugfix python lookup for internal class variables Probably went unnoticed for a long time since it wasn't used. Came across this (I think - was quite a while ago) while fleshing out pythonic cell construction with names and parameter args. Should have gone in at the same time as 39b9cad9.
- fix doc fixes #239
- Don't clobber the underlying c++ executions when aborting, be graceful. Previously used PyErr_SetInterrupt which would send a keyboard interrupt back to the controlling python script. However we don't want to abort in this way - it is preferable to let the execution gracefully bow out. More information and the actual code that does the bowing out is in pull request #250.
- activate gil release/call macros
File truncated at 100 lines see the full file