{"id":25135455,"url":"https://github.com/saransh-cpp/acat22-vector-awkward-numba","last_synced_at":"2026-01-15T23:57:03.643Z","repository":{"id":274239916,"uuid":"922325918","full_name":"Saransh-cpp/ACAT22-vector-awkward-numba","owner":"Saransh-cpp","description":"Compiling Awkward Lorentz Vectors with Numba","archived":false,"fork":false,"pushed_at":"2025-02-21T00:46:03.000Z","size":60,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-21T01:36:57.369Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Saransh-cpp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-25T22:36:00.000Z","updated_at":"2025-02-21T00:46:06.000Z","dependencies_parsed_at":"2025-01-25T23:31:15.370Z","dependency_job_id":"709d040a-92cb-4d37-a7f7-9e8a0b507755","html_url":"https://github.com/Saransh-cpp/ACAT22-vector-awkward-numba","commit_stats":null,"previous_names":["saransh-cpp/acat22-vector-awkward-numba"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Saransh-cpp%2FACAT22-vector-awkward-numba","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Saransh-cpp%2FACAT22-vector-awkward-numba/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Saransh-cpp%2FACAT22-vector-awkward-numba/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Saransh-cpp%2FACAT22-vector-awkward-numba/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Saransh-cpp","download_url":"https://codeload.github.com/Saransh-cpp/ACAT22-vector-awkward-numba/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246923990,"owners_count":20855650,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-08T16:32:59.967Z","updated_at":"2026-01-15T23:57:03.638Z","avatar_url":"https://github.com/Saransh-cpp.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Compiling Awkward Lorentz Vectors with Numba\n\n[![Talk](https://img.shields.io/badge/ACAT22-poster-blue?logo=github\u0026logoColor=white\u0026color=blue)](https://indi.to/zTs5b)\n\nDue to the massive nature of HEP data, performance has always been a factor in its analysis and processing.\nLanguages like C++ would be fast enough but are often challenging to grasp for beginners, and can be difficult\nto iterate quickly in an interactive environment . On the other hand, the ease of writing code and extensive\nlibrary ecosystem make Python an enticing choice for data analysis. Increasing interoperability between\nPython and C++, as well as the introduction of libraries such as Numba, had been accelerating Python’s\ntraction in the HEP community.\n\nVector is a Python library for 2D, 3D, and Lorentz vectors, especially arrays of vectors, designed to solve\ncommon physics problems in a NumPy-like way. Vector currently supports pure Python Object, NumPy,\nAwkward, and Numba-based (Numba-Object, Numba-Awkward) backends.\n\nWe are introducing the library, with a focus on the Numba-based Awkward Lorentz vectors to perform operations\non HEP data without compromising on the speed and the ease of writing code. Awkward is one of the\ncore libraries of the Scikit-HEP ecosystem that allows data analysis with jagged arrays. Numba, on the other\nhand, allows Python codebases to harness the power of Just-In-Time compilation, enabling the Python code\nto be compiled before executing.\n\nThe library seamlessly integrates with the existing Scikit-HEP libraries, especially with Awkward. Our talk\nwill start with an introduction to this library, with the main agenda of compiling Awkward Lorentz vectors\nwith Numba. Furthermore, Vector is still under active development and preparing for a 1.0 release; hence, we\nwill also take in user feedback while discussing the overall development roadmap.\n\n## References\n\nAll the links are available here - https://iris-hep.org/projects/vector.html\n\n## Significance\n\nThe Vector library is relatively new and has not been independently presented at any HEP-focused conference.\nAdditionally, its interoperability with the Scikit-HEP ecosystem makes it a crucial part of most HEP analyses.\nFurthermore, the seamless Numba and Awkward support allows it to integrate with any existing HEP pipeline,\nmaking the pipeline faster, simpler, and more effective.\n\n## Stuck somewhere? Reach out!\n\n- If something is not working the way it should, or if you want to request a new feature, create a [new issue](https://github.com/scikit-hep/vector/issues) on GitHub.\n- To discuss something related to vector, use the [discussions](https://github.com/scikit-hep/vector/discussions/) tab on GitHub or vector’s gitter ([Scikit-HEP/vector](https://gitter.im/Scikit-HEP/vector)) chat room.\n- Have a look at vector's [releases](https://github.com/scikit-hep/vector/releases) to stay up-to-date!\n\n## Cite vector\n\nIf you use `vector` in your work, please cite it using the following metadata -\n\n```bib\n@article{Chopra_Vector_JIT-compilable_mathematical_2025,\nauthor = {Chopra, Saransh and Schreiner, Henry and Rodrigues, Eduardo and Eschle, Jonas and Pivarski, Jim},\ndoi = {10.21105/joss.07791},\njournal = {Journal of Open Source Software},\nmonth = may,\nnumber = {109},\npages = {7791},\ntitle = {{Vector: JIT-compilable mathematical manipulations of ragged Lorentz vectors}},\nurl = {https://joss.theoj.org/papers/10.21105/joss.07791},\nvolume = {10},\nyear = {2025}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaransh-cpp%2Facat22-vector-awkward-numba","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsaransh-cpp%2Facat22-vector-awkward-numba","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaransh-cpp%2Facat22-vector-awkward-numba/lists"}