自动WIG:为C++库自动生成python绑定
Pierre Fernique1,2, Christophe Pradal1,2
1EPI Virtual Plants, Inria, Montpellier, France.
PeerJ. Computer science
|October 9, 2025
概括
AutoWIG是一个新的Python包,可以自动包裹编译的科学库. 该工具简化了将复杂的C++库集成到高级编程语言中,节省了大量的开发时间.
科学领域:
- 科学计算科学计算
- 软件工程 软件工程 软件工程
背景情况:
- 在Python和R中的科学包通常使用编译的库来实现性能.
- 手动包装这些库是耗时和复杂的.
研究的目的:
- 介绍AutoWIG,这是一个新的Python包,用于自动包装图书馆.
- 能够将编译的科学图书馆无整合到高级语言中.
主要方法:
- 使用LLVM/Clang技术进行代码分析和转换.
- 使用Mako模板引擎生成包装代码.
- 设计用于处理具有众多类和元编程的复杂C++库.
主要成果:
- AutoWIG提供了一个自动和可扩展的解决方案,用于包装编译的库.
- 成功地包裹复杂的C++库,包括那些有数千个类的库.
- 便于重复使用传统和高性能编译代码.
结论:
- 自动WIG显著减少了整合编译的库所需的努力.
- 通过桥梁编译和高级语言,提高科学软件的可访问性和可用性.
相关概念视频
Cooperative Binding of Transcription Regulators
2.5K
2.5K
Cooperative Binding of Transcription Regulators
7.1K
Transcriptional regulators bind to specific cis-regulatory sequences in the DNA to regulate gene transcription. These cis-regulatory sequences are very short, usually less than ten nucleotide pairs in length. The short length means that there is a high probability of the exact same sequence randomly occurring throughout the genome. Since regulators can also bind to groups of similar sequences, this further increases the chances of random binding. Transcriptional regulators form...
7.1K
Generation of Straight or Branched Actin Filaments
3.7K
The straight or branched structure formation of actin filaments is controlled by nucleating proteins such as the formins and Arp2/3 complex. Formin-mediated assembly results in straight filaments, whereas Arp2/3 protein complex-mediated assembly results in branched actin filaments.
Arp2/3 Complex
Arp2/3 complex is a seven-subunit complex consisting of two proteins similar to actin- Arp2 and Arp3, and five other subunits that help keep Arp2 and Arp3 inactive. When required, the complex is...
Arp2/3 Complex
Arp2/3 complex is a seven-subunit complex consisting of two proteins similar to actin- Arp2 and Arp3, and five other subunits that help keep Arp2 and Arp3 inactive. When required, the complex is...
3.7K
The Equilibrium Binding Constant and Binding Strength
14.8K
The equilibrium binding constant (Kb) quantifies the strength of a protein-ligand interaction. Kb can be calculated as follows when the reaction is at equilibrium:
14.8K
The Equilibrium Binding Constant and Binding Strength
9.9K
9.9K
Ziegler–Natta Chain-Growth Polymerization: Overview
3.9K
Ziegler–Natta polymerization is another form of addition or chain‐growth polymerization used for synthesizing linear polymers over branched polymers. The catalyst used for polymerization is the Ziegler–Natta catalyst, named after Karl Ziegler and Giulio Natta, who developed it in 1953. This catalyst is an organometallic complex of titanium tetrachloride and triethyl aluminum, with the active form of the catalyst being an alkyl titanium compound. Using the Ziegler–Natta...
3.9K


