Version 1 (modified by 11 years ago) ( diff ) | ,
---|
10 December 2014 meeting, 2:00 - 3:00
Attendees
- Conrad, TomG, Eric, Greg
Agenda
- Data event and trigger API
- We agreed that the Chimera 1 trigger API will be ported over with minor changes:
- No trigger name required when deregistering handler
- No closure argument when registering handler
- Data event API will need to be accessible from both C++ and Python. Primary example is if we expose atomic coordinates as a numpy array; if someone manipulates the coordinates from Python, he will need to create atom notifications manually.
- UI events are completely decoupled from triggers and data events. We may add a safety net where we check for non-empty data event queue during redraw. We may add API for indicating whether a notification should be synchronous or not, so that we can check in the safety net whether something really bad has happened.
- Neither triggers nor data events (aka notifications) are absolutely needed for the Feb 2 deadline, so we will add proposed API and then move on
- We agreed that the Chimera 1 trigger API will be ported over with minor changes:
- Build infrastructure
- While trying to install toolshed, Conrad discovered some inconsistencies in source code arrangement
- We will use the following rules:
- Directories containing either Python or C++ code that generate Python modules/packages will not have any special suffix
- Directories containing C++ code that generate C++ link libraries (.dylib on Mac, .dll on Windows) will have a "_cpp" suffix.
- Python packages that need a supporting C++ module will be arranged with the Python package as the parent directory (e.g., "geometry") and the C++ module as a child directory (e.g., "_geometry"). The intent is that there should be a
from _geometry import *
statement in geometry/__init__.py and that callers of the geometry package does not ever know about the presences of geometry._geometry. - All C++ link libraries will be installed in the same directory in the build and install trees to facilitate installation.
- All C++ Python modules will be installed in site-packages/chimera in the same way as pure Python packages and modules.
- If a C++ Python module also wants a C++ link library, then the source tree should look something like:
- module_name - container directory
- module_name/module_name - C++ Python module
- module_name/module_name_cpp - C++ link library
- The Makefile in the container directory should indicate that module_name/module_name depends on module_name/module_name_cpp.
Next Meeting
- February 2 demo details
Action Items
- How are we going to handle REST (getting responses from REST)
- Greg will convert all of chimera.core to the source tree naming conventions.
Note:
See TracWiki
for help on using the wiki.