Skip to content
Josh Blum edited this page Dec 25, 2017 · 57 revisions

Welcome to the Pothos project

The Pothos project is a complete data-flow framework for creating topologies of interconnected processing blocks. Topologies can be designed and tested graphically, and deployed over a network. The Pothos framework API is sleek and smart, enabling users to quickly create custom processing blocks with minimal boiler-plate. Processing blocks can support computational offload and integration with DMA devices. The project also has a diverse set of processing and hardware support toolkits. Read more on the project overview page.

Getting started

Get the Pothos development environment up and running with the getting started guide.

Project status

Ecosystem graph

Available toolkits

Features summary

Pothos is a feature-full dataflow programming software suite.

  • API to design data flows composed of modular blocks
  • Graphical interface to design, deploy, and monitor
  • Integration of 3rd party toolkits such as DSP libraries
  • Support computational offload to GPUs, DSPs, FPGAs
  • Custom processing blocks in any language (we have a binding for)
  • Distributing across threadpools, processes, and nodes on a network
  • Minimally invasive scheduler, minimal boilerplate for custom blocks

Additional information:

Build and install

Pothos can be built and installed on a variety of systems including Windows, OSX, and Linux. See the Build Guide for dependencies and compilation instructions. We have limited pre-built binaries available on the Releases page. If you would like get involved with providing distribution binaries, please contact us.

Project resources


Project feedback

Feedback is critical for any open source project. Found a bug? Having trouble? Would a particular feature make your life easier? Please feel free to contact us or use the issue tracker for the relevant toolkit. If possible, please tell us how you are using Pothos, we would love to hear it.