Package: xorbits
What is Xorbits?Xorbits is an open-source computing framework that makes it easy to scale data science and machine learning workloads —
from data preprocessing to tuning, training, and model serving. Xorbits can leverage multi-cores or GPUs to accelerate
computation on a single machine or scale out up to thousands of machines to support processing terabytes of data and training or serving large models.Xorbits provides a suite of best-in-classlibrariesfor data
scientists and machine learning practitioners. Xorbits provides the capability to scale tasks without the necessity for
extensive knowledge of infrastructure.Xorbits features a familiar Python API that supports a variety of libraries, including pandas, NumPy, PyTorch,
XGBoost, etc. With a simple modification of just one line of code, your pandas workflow can be seamlessly scaled
using Xorbits:Why Xorbits?As ML and AI workloads continue to grow in complexity, the computational demands soar high. Even though single-node development
environments like your laptop provide convenience, but they fall short when it comes to accommodating these scaling demands.Seamlessly scale your workflow from laptop to clusterTo use Xorbits, you do not need to specify how to distribute the data or even know how many cores your system has.
You can keep using your existing notebooks and still enjoy a significant speed boost from Xorbits, even on your laptop.Process large datasets that pandas can'tXorbits canleverage all of your computational cores.
It is especially beneficial for handlinglarger datasets,
where pandas may slow down or run out of memory.Lightning-fast speedAccording to our benchmark tests, Xorbits surpasses other popular pandas API frameworks in speed and scalability.
See ourperformance comparisonandexplanation.Leverage the Python ecosystem with native integrationsXorbits aims to take full advantage of the entire ML ecosystem, offering native integration with pandas and other libraries.Where to get it?The source code is currently hosted on GitHub at:https://github.com/xorbitsai/xorbitsBinary installers for the latest released version are available at thePython
Package Index (PyPI).# PyPIpipinstallxorbitsOther resourcesDocumentationExamples and TutorialsPerformance BenchmarksDevelopment GuideResearch Paper on Xorbits' InternalsLicenseApache 2RoadmapsThe main goals we want to achieve in the future include the following:Transitioning from pandas native to arrow native for data storagewill reduce the memory cost substantially and is more friendly for compute engine.Introducing native engines that leverage technologies like vectorization and codegen
to accelerate computations.Scale as many libraries and algorithms as possible!More detailed roadmaps will be revealed soon. Stay tuned!Relationship with MarsThe creators of Xorbits are mainly those of Mars, and we currently built Xorbits on Mars
to reduce duplicated work, but the vision of Xorbits suggests that it's not
appropriate to put everything on Mars. Instead, we need a new project
to support the roadmaps better. In the future, we will replace some core internal components
with other upcoming ones we will propose. Stay tuned!Getting involvedPlatformPurposeDiscourse ForumAsking usage questions and discussing development.Github IssuesReporting bugs and filing feature requests.SlackCollaborating with other Xorbits users.StackOverflowAsking questions about how to use Xorbits.TwitterStaying up-to-date on new features.Citing XorbitsIf Xorbits could help you, please cite our paper which is accepted by ICDE 2024 Industry and Applications Track:@article{lu2023xorbits,
  title={Xorbits: Automating Operator Tiling for Distributed Data Science}, 
  author={Weizheng Lu and Kaisheng He and Xuye Qin and Chengjie Li and Zhong Wang and Tao Yuan and Feng Zhang and Yueguo Chen and Xiaoyong Du},
  year={2023},
  archivePrefix={arXiv},
  url={https://doi.org/10.48550/arXiv.2401.00865},
  eprinttype={arXiv}，
  eprint={2401.00865},
}