Comments (5)
@DownerCase thanks for this great hint! Setuptools-protobuf seems really promising.
We have to see if it plays together with py-build-cmake, but worst case, we'll make two different packages, one with the binary extensions, and one with the _pb2 files, but let's see..
from ecal.
For windows x64 we should be PyPi ready, as Windows has the most amazing binary compatibility of all Operating systems. So there really isn't an issue with publishing .whl files containing native .dlls
For Linux we currently depend on too many system packages, I guess. The .whl files are just not self contained enough for being functional on a wide variety of Linux distros.
from ecal.
You've probably already done the investigation; but it is certainly possible to generate the pb files as part of setup.py, I've been able to do a PoC of that process. Mostly involves injecting an extra subcommand into the main build command.
You can look to Google's protobuf distutils and the newer (and pyproject compatible) setuptools-protobuf projects for inspiration (if they're not directly suitable).
from ecal.
That said I was commenting from a pure python standpoint.
Given you’re calling into a CMake build system you should be able to set up an add_custom_command
to call protoc with the normal —python-out
argument to generate the python bindings as part of the build.
from ecal.
The good thing is that during build, we already have protobuf available. That's challenging with setuptools-protobuf
as the user has to provide a protoc (which needs to be compatible with the protobuf version that he wants to use).
from ecal.
Related Issues (20)
- Disscussion: Rework eCAL Logging concept / API.
- [play] ecal play (gui) chrashes on empty measurements
- Make sure Qt Versions of eCAL Mon GUI and Signal Plotting QWT plugin match
- Backport fixes from master to 5.12 / 5.13
- Rename python binding from pyhton3-ecal5 to eclipse-ecal
- Create 5.13 deprecation documentation
- Wrong mutex definitions in ecal C API implementation module
- Cherry-pick more commits to 5.12 / 5.13
- Frequency column in eCAL Monitor is showing weird values for slow publishers HOT 3
- ecal.core.core.mon_monitoring() and mon_pubmonitoring() improperly parsing binary data HOT 7
- Add Qt6 support again
- How to solve inter process communication timeout in ecal HOT 1
- Issues with Thread Waiting on Mac OS HOT 5
- Possible race condition in CLog
- Possible race in CGlobals
- Possible race condition in CDataWriterSHM
- how ecal services switch to udp? HOT 4
- Doc: Outdated links to eCAL Samples
- eCAL Monitor, "Error getting Monitoring Information" HOT 1
- Auto approve action incorrectly marking files as public API. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ecal.