finds.dev← search

// the find

bnjmnp/pysoem

★ 154 · Cython · MIT · updated Mar 2026

Cython wrapper for the Simple Open EtherCAT Master Library

PySOEM wraps the SOEM C library to give Python access to EtherCAT master functionality — process data I/O, SDO/EEPROM/FoE read-write. It's aimed at hardware engineers and automation developers who want to script EtherCAT device commissioning or testing without writing C. Not for production motion control loops.

Root-in-C performance via Cython with recent No-GIL support (v1.1.11) makes it viable alongside asyncio or threading without the usual GIL headaches. Binary wheels on PyPI for Linux x86/ARM64, Windows, and macOS mean most users never touch a compiler. The GIL release is granular — per-call, per-instance, or global — which is a thoughtful API design. Active maintenance with a clear changelog and CI that pushes wheels to PyPI on release.

Real-time use is explicitly not supported and the README just says 'special considerations' without pointing anywhere useful — anyone trying to use this for servo control will hit a wall. EoE (Ethernet over EtherCAT) is still in the Todo column after years. Test suite requires physical EtherCAT hardware to run meaningfully, so CI is basically a smoke test. At 154 stars this is niche enough that you may be the only person who's hit your specific slave device's quirks.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →