No version for distro humble showing lunar. Known supported distros are highlighted in the buttons above.
Package symbol

ecto package from ecto repo

ecto

ROS Distro
lunar

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

Ecto is a hybrid C++/Python development framework for constructing and maintaining pipelines.

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

    http://code.google.com/p/googletest

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

Deps Name
catkin

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ecto at Robotics Stack Exchange

No version for distro jazzy showing lunar. Known supported distros are highlighted in the buttons above.
Package symbol

ecto package from ecto repo

ecto

ROS Distro
lunar

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

Ecto is a hybrid C++/Python development framework for constructing and maintaining pipelines.

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

    http://code.google.com/p/googletest

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

Deps Name
catkin

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ecto at Robotics Stack Exchange

No version for distro kilted showing lunar. Known supported distros are highlighted in the buttons above.
Package symbol

ecto package from ecto repo

ecto

ROS Distro
lunar

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

Ecto is a hybrid C++/Python development framework for constructing and maintaining pipelines.

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

    http://code.google.com/p/googletest

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

Deps Name
catkin

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ecto at Robotics Stack Exchange

No version for distro rolling showing lunar. Known supported distros are highlighted in the buttons above.
Package symbol

ecto package from ecto repo

ecto

ROS Distro
lunar

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

Ecto is a hybrid C++/Python development framework for constructing and maintaining pipelines.

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

    http://code.google.com/p/googletest

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

Deps Name
catkin

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ecto at Robotics Stack Exchange

No version for distro ardent showing lunar. Known supported distros are highlighted in the buttons above.
Package symbol

ecto package from ecto repo

ecto

ROS Distro
lunar

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

Ecto is a hybrid C++/Python development framework for constructing and maintaining pipelines.

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

    http://code.google.com/p/googletest

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

Deps Name
catkin

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ecto at Robotics Stack Exchange

No version for distro bouncy showing lunar. Known supported distros are highlighted in the buttons above.
Package symbol

ecto package from ecto repo

ecto

ROS Distro
lunar

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

Ecto is a hybrid C++/Python development framework for constructing and maintaining pipelines.

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

    http://code.google.com/p/googletest

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

Deps Name
catkin

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ecto at Robotics Stack Exchange

No version for distro crystal showing lunar. Known supported distros are highlighted in the buttons above.
Package symbol

ecto package from ecto repo

ecto

ROS Distro
lunar

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

Ecto is a hybrid C++/Python development framework for constructing and maintaining pipelines.

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

    http://code.google.com/p/googletest

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

Deps Name
catkin

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ecto at Robotics Stack Exchange

No version for distro eloquent showing lunar. Known supported distros are highlighted in the buttons above.
Package symbol

ecto package from ecto repo

ecto

ROS Distro
lunar

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

Ecto is a hybrid C++/Python development framework for constructing and maintaining pipelines.

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

    http://code.google.com/p/googletest

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

Deps Name
catkin

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ecto at Robotics Stack Exchange

No version for distro dashing showing lunar. Known supported distros are highlighted in the buttons above.
Package symbol

ecto package from ecto repo

ecto

ROS Distro
lunar

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

Ecto is a hybrid C++/Python development framework for constructing and maintaining pipelines.

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

    http://code.google.com/p/googletest

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

Deps Name
catkin

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ecto at Robotics Stack Exchange

No version for distro galactic showing lunar. Known supported distros are highlighted in the buttons above.
Package symbol

ecto package from ecto repo

ecto

ROS Distro
lunar

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

Ecto is a hybrid C++/Python development framework for constructing and maintaining pipelines.

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

    http://code.google.com/p/googletest

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

Deps Name
catkin

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ecto at Robotics Stack Exchange

No version for distro foxy showing lunar. Known supported distros are highlighted in the buttons above.
Package symbol

ecto package from ecto repo

ecto

ROS Distro
lunar

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

Ecto is a hybrid C++/Python development framework for constructing and maintaining pipelines.

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

    http://code.google.com/p/googletest

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

Deps Name
catkin

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ecto at Robotics Stack Exchange

No version for distro iron showing lunar. Known supported distros are highlighted in the buttons above.
Package symbol

ecto package from ecto repo

ecto

ROS Distro
lunar

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

Ecto is a hybrid C++/Python development framework for constructing and maintaining pipelines.

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

    http://code.google.com/p/googletest

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

Deps Name
catkin

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ecto at Robotics Stack Exchange

Package symbol

ecto package from ecto repo

ecto

ROS Distro
lunar

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

Ecto is a hybrid C++/Python development framework for constructing and maintaining pipelines.

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

    http://code.google.com/p/googletest

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

Deps Name
catkin

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ecto at Robotics Stack Exchange

Package symbol

ecto package from ecto repo

ecto

ROS Distro
jade

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

Ecto is a hybrid C++/Python development framework for constructing and maintaining pipelines.

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

    http://code.google.com/p/googletest

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ecto at Robotics Stack Exchange

Package symbol

ecto package from ecto repo

ecto

ROS Distro
indigo

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

Ecto is a hybrid C++/Python development framework for constructing and maintaining pipelines.

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

    http://code.google.com/p/googletest

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ecto at Robotics Stack Exchange

Package symbol

ecto package from ecto repo

ecto

ROS Distro
hydro

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

Ecto is a hybrid C++/Python development framework for constructing and maintaining pipelines.

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

    http://code.google.com/p/googletest

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ecto at Robotics Stack Exchange

Package symbol

ecto package from ecto repo

ecto

ROS Distro
kinetic

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

Ecto is a hybrid C++/Python development framework for constructing and maintaining pipelines.

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

    http://code.google.com/p/googletest

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ecto at Robotics Stack Exchange

No version for distro melodic showing lunar. Known supported distros are highlighted in the buttons above.
Package symbol

ecto package from ecto repo

ecto

ROS Distro
lunar

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

Ecto is a hybrid C++/Python development framework for constructing and maintaining pipelines.

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

    http://code.google.com/p/googletest

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

Deps Name
catkin

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ecto at Robotics Stack Exchange

No version for distro noetic showing lunar. Known supported distros are highlighted in the buttons above.
Package symbol

ecto package from ecto repo

ecto

ROS Distro
lunar

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

Ecto is a hybrid C++/Python development framework for constructing and maintaining pipelines.

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

    http://code.google.com/p/googletest

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

CHANGELOG

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

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

Deps Name
catkin

System Dependencies

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ecto at Robotics Stack Exchange