Elements: Simplifying Compiled Python Packaging in the Sciences
元素:简化科学领域的已编译 Python 打包
基本信息
- 批准号:2209877
- 负责人:
- 金额:$ 58.04万
- 依托单位:
- 依托单位国家:美国
- 项目类别:Standard Grant
- 财政年份:2022
- 资助国家:美国
- 起止时间:2022-08-01 至 2025-07-31
- 项目状态:未结题
- 来源:
- 关键词:
项目摘要
Python is the most popular language in the sciences, and compiled extensions for it are at the core of almost all scientific packages for Python. The process to build an extension has traditionally been complex. Even a simple extension is challenging and making a complex extension like NumPy requires thousands of lines of code just for compilation. Scikit-build provides access to CMake, the most popular and powerful build system for compiled languages, for Python users in a native and natural way. Scikit-build is being redesigned on top of standardized packaging procedures that were not yet written when scikit-build was started in 2014. This will establish Scikit-build as the reference scientific Python community solution for the future, as well as provide many new features to users, including much simpler configuration, much better stability, cross-platform compilation, and much more. A collection of popular scientific libraries are adapting the new Scikit-build core infrastructure and providing feedback on what features need to be made available. Extensive tutorials, examples, and training sessions are being held during the course of the project to make binary extensions available to far more users than ever before.Scikit-build was designed as a wrapper around distutils, the standard library package for building extensions, which was the only option in 2014. It is being rewritten on published PEPs (Python Enhancement Proposals) to avoid usage of distutils before distutils is removed in 2023 in Python 3.12. The rewritten Scikit-build will also provide a configuration system that conforms to modern best practices, an improved developer experience, and increased stability by avoiding the fragile distutils private internals. New features include a new library discovery system integrated with CMake to make reusable compiled libraries shareable through Python distribution channels like PyPI and conda-forge, cached builds, better CUDA and Fortran support, cross-compilation, and more. Scikit-build is collaborating with NumPy and SciPy on documentation, US-RSE for tutorials and workshops, and RAPIDS, PyArrow, PySTAN, Awkward Array, ITK, 3D Slicer, CERN ROOT, ATLAS, OSQP, and Bézier for initial integration and testing of Scikit-Build’s redesigned infrastructure.This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.
Python是科学领域最流行的语言,它的编译扩展是几乎所有Python科学包的核心。构建扩展的过程传统上是复杂的。即使是简单的扩展也是具有挑战性的,而制作像NumPy这样的复杂扩展需要数千行代码才能进行编译。Scikit-build以原生和自然的方式为Python用户提供了对CMake的访问,CMake是编译语言中最流行和最强大的构建系统。Scikit-build是在2014年Scikit-build启动时尚未编写的标准化包装程序的基础上重新设计的。这将使Scikit-build成为未来科学Python社区的参考解决方案,并为用户提供许多新功能,包括更简单的配置、更好的稳定性、跨平台编译等等。一些受欢迎的科学图书馆正在适应新的Scikit-build核心基础设施,并就需要提供哪些特性提供反馈。在项目过程中还举办了大量的教程、示例和培训课程,以使二进制扩展能够提供给比以往更多的用户。Scikit-build被设计为distutils的包装,distutils是用于构建扩展的标准库包,这是2014年唯一的选择。它正在已发布的pep (Python增强提案)上进行重写,以避免在2023年Python 3.12中删除distutils之前使用distutils。重写的Scikit-build还将提供一个符合现代最佳实践的配置系统,改进的开发人员体验,并通过避免脆弱的distutils私有内部来提高稳定性。新特性包括与CMake集成的新库发现系统,使可重用的编译库可通过Python发行渠道(如PyPI和conda-forge)共享,缓存构建,更好的CUDA和Fortran支持,交叉编译等等。Scikit-build正在与NumPy和SciPy合作编写文档,与US-RSE合作编写教程和研讨会,与RAPIDS、PyArrow、PySTAN、Awkward Array、ITK、3D Slicer、CERN ROOT、ATLAS、OSQP和b2013.zier合作,对Scikit-build重新设计的基础设施进行初始集成和测试。该奖项反映了美国国家科学基金会的法定使命,并通过使用基金会的知识价值和更广泛的影响审查标准进行评估,被认为值得支持。
项目成果
期刊论文数量(0)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)
数据更新时间:{{ journalArticles.updateTime }}
{{
item.title }}
{{ item.translation_title }}
- DOI:
{{ item.doi }} - 发表时间:
{{ item.publish_year }} - 期刊:
- 影响因子:{{ item.factor }}
- 作者:
{{ item.authors }} - 通讯作者:
{{ item.author }}
数据更新时间:{{ journalArticles.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ monograph.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ sciAawards.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ conferencePapers.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ patent.updateTime }}
Henry Schreiner其他文献
scikit-hep/uproot: 3.7.1
scikit-hep/uproot:3.7.1
- DOI:
10.5281/zenodo.3255064 - 发表时间:
2019 - 期刊:
- 影响因子:0
- 作者:
Jim Pivarski;Pratyush Das;Dmitriĭ Smirnov;Christian Burr;M. Feickert;Noah Biederbeck;J. Rembser;Henry Schreiner;H. Dembinski;Benkrikler;R. Marcel;Daniel Marley;R. Turra;Nicholas Smith;Michele Peresano;Chaohui Gu - 通讯作者:
Chaohui Gu
scikit-hep/iminuit:
scikit-hep/iminuit:
- DOI:
- 发表时间:
2021 - 期刊:
- 影响因子:0
- 作者:
H. Dembinski;Piti Ongmongkolkul;Christoph Deil;D. Hurtado;Henry Schreiner;M. Feickert;Andrew;Chris Burr;J. J. Watson;F. Rost;Alex Pearce;Lukas Geiger;Bernhard M. Wiedemann;Gonzalo;J. Drotleff;J. Eschle;Ludwig Neste;M. Gorelli;M. Baak;O. Zapata - 通讯作者:
O. Zapata
Henry Schreiner的其他文献
{{
item.title }}
{{ item.translation_title }}
- DOI:
{{ item.doi }} - 发表时间:
{{ item.publish_year }} - 期刊:
- 影响因子:{{ item.factor }}
- 作者:
{{ item.authors }} - 通讯作者:
{{ item.author }}
相似海外基金
III: Small: Query-By-Sketch: Simplifying Video Clip Retrieval Through A Visual Query Paradigm
III:小:按草图查询:通过可视化查询范式简化视频剪辑检索
- 批准号:
2335881 - 财政年份:2024
- 资助金额:
$ 58.04万 - 项目类别:
Standard Grant
Collaborative Research: FMitF: Track I: Simplifying End-to-End Verification of High-Performance Distributed Systems
合作研究:FMitF:第一轨:简化高性能分布式系统的端到端验证
- 批准号:
2318954 - 财政年份:2023
- 资助金额:
$ 58.04万 - 项目类别:
Standard Grant
Collaborative Research: FMitF: Track I: Simplifying End-to-End Verification of High-Performance Distributed Systems
合作研究:FMitF:第一轨:简化高性能分布式系统的端到端验证
- 批准号:
2318953 - 财政年份:2023
- 资助金额:
$ 58.04万 - 项目类别:
Standard Grant
Simplifying quantum computing: from theory to applications
简化量子计算:从理论到应用
- 批准号:
EP/W028301/1 - 财政年份:2023
- 资助金额:
$ 58.04万 - 项目类别:
Fellowship
SBIR Phase II: Simplifying the use of recycled plastics in film extrusion
SBIR 第二阶段:简化薄膜挤出中再生塑料的使用
- 批准号:
2212917 - 财政年份:2023
- 资助金额:
$ 58.04万 - 项目类别:
Cooperative Agreement
Simplifying and commercialising a portion controlled container and app to assist people looking to attempting to limit snack or alcohol intake
简化并商业化份量控制容器和应用程序,以帮助人们尝试限制零食或酒精摄入量
- 批准号:
10046597 - 财政年份:2022
- 资助金额:
$ 58.04万 - 项目类别:
Grant for R&D
Simplifying Processes in the Offshore Decommissioning sector: Reducing P&A costs by 30% and emissions by 50%
简化海上退役部门的流程:减少 P
- 批准号:
10035208 - 财政年份:2022
- 资助金额:
$ 58.04万 - 项目类别:
Collaborative R&D
Simplifying complexity and diversity of circadian clocks
简化生物钟的复杂性和多样性
- 批准号:
22H04984 - 财政年份:2022
- 资助金额:
$ 58.04万 - 项目类别:
Grant-in-Aid for Scientific Research (S)
Simplifying health and wellness by connecting multiple data points from smart devices and turning them into insights
通过连接来自智能设备的多个数据点并将其转化为见解来简化健康和保健
- 批准号:
10046078 - 财政年份:2022
- 资助金额:
$ 58.04万 - 项目类别:
Grant for R&D
Simplifying PrEP delivery: One-stop service pathway to improve PrEP care efficiency and continuation in Kenya
简化 PrEP 交付:提高肯尼亚 PrEP 护理效率和持续性的一站式服务途径
- 批准号:
10547902 - 财政年份:2022
- 资助金额:
$ 58.04万 - 项目类别: