Engineering:TCON 2013
Back to TCON:Main, Events
2013-1-31
Attendees: Jim, Steve, Nicole, Tina, Sunil, Ruiy
Agenda:
- Python external libraries discussion (Ron, Steve, JC, Sunil)
- SSL, setuptools, etc.
- Bug report: http://na-mic.org/Bug/view.php?id=2352
- In the next TCON, Ann will review draft of engineering core progress report. All site PIs should plan to attend.
Extending Slicer with more python packages
Different approaches
Multiple and non-exclusive approach can be considered.
- (1) Bundling of package within Slicer installed (i.e. NUMPY)
If the package require compilation steps and is recognized of general interest, it probably make sens to bundle it within Slicer.
- (2) Installation of additional python packages from an *installed* Slicer
Few cases should be considered here:
a) *NO* compilation - *NO* libraries - It means the user does *NOT* have to install any compiler to be able to install the package. It is basically a pure python implementation.
b) *NO* compilation - *WITH* dependencies/libraries - It means the user does *NOT* have to install any compiler *BUT* have to install some external library to be able to install/use the package. This could reveal to be challenging for some user, especially to get the PATH, ... right.
c) *WITH* compilation - *NO* libraries - On unix like system, it is generally easier to install compiler but if we consider that most of our user works on windows, we should probably not require them to install Visual Studio to be able to install a python package ...
- (3) Installation of additional python packages from a *built* Slicer
The researched having a lot of experience in development usually have a build tree of Slicer and know enough to be able to tinker and install things.
Runtime installation
In the python ecosystem, the usage of a tool named pip became the standard regarding installation of additional module and packages. There are currently around 27500 packages available on the Python Package Index. See http://pypi.python.org/pypi
Most of these packages are served from server using https
protocol. To support such protocol, we would have to include the OpenSSL library.
Integrating OpenSSL into Slicer
Considering the license of OpenSSL (BSD style) is compatible with the Slicer one, there should not be any problem distributing it within Slicer. That said, is still presents few challenges.
Build system integration
- Download of the binaries on windows
- Build or download of binaries on macosx/linux
- As part of this integration, integrating a CMake'ified version of python would also make sens.
Some work and testing would be required to make sure everything works as expected.
Legal mention on the download page
We would have to probably have some mention on our page. That said, I found an article mentioning that it should now be fine to distribute strong cryptographic algorithm library within open-source project:
- http://www.theregister.co.uk/2011/01/07/open_source_crypto_curbs/
- https://www.federalregister.gov/articles/2011/01/07/2010-32803/publicly-available-mass-market-encryption-software-and-other-specified-publicly-available-encryption
Certificate Authority
To ensure Slicer is authenticated, we would have to create appropriate certificate and bundle them within Slicer. Some testing/research is required to exactly find out what need to be done. There is also probably a (not ideal) way of ignoring CA ...
2013-01-24
Attendees: Jim, Ron, Nicole, Sunil, JC, Steve
Agenda:
- ITK v4
- ssl issues with python
Minutes:
- ITK v4
- JC found the problem with dcmtk
- Xnat folks need to install some python package => Need openssl to pip install most of the package
- What is the legal aspect of having openssl bundled ?
- OpenSSL is build by CMake folks on all platform ... it could be re-used
- Difference between ITK 3.20.0 and ITK 3.20.1. See https://github.com/Kitware/ITK/compare/v3.20.0...v3.20.1
- Talked about Stan langage. See http://mc-stan.org/
2013-01-17
Attendees: Ron, Steve, Tina, Nicole, JC, Sunil, Dave, Jim
- Project week results review: http://wiki.na-mic.org/Wiki/index.php/2013_Winter_Project_Week
Agenda:
2013-01-10
No call due to 2013_Winter_Project_Week
2013-01-03
Attendees: Jim, Steve, Stephen, Nicole, Tina,
Agenda:
- Project week: http://wiki.na-mic.org/Wiki/index.php/2013_Winter_Project_Week
- Engineering core presentation: http://wiki.na-mic.org/Wiki/index.php/AHM2013-Engineering_Updates