Skip to main content

Scalable Python data science, in an API compatible & lightning fast way.

Project description


Xorbits: scalable Python data science, familiar & fast.

PyPI Latest Release License Coverage Build Status Doc Slack Twitter

What is it?

Xorbits is a scalable Python data science framework that aims to scale the whole Python data science world, including numpy, pandas, scikit-learn and many other libraries. It 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. In our benchmark test, Xorbits is the fastest framework among the most popular distributed data science frameworks.

As for the name of xorbits, it has many meanings, you can treat it as X-or-bits or X-orbits or xor-bits, just have fun to comprehend it in your own way.

At a glance


Codes are almost identical except for the import, replace import pandas with import xorbits.pandas will just work, so does numpy and so forth.

Where to get it

The source code is currently hosted on GitHub at: https://github.com/xprobe-inc/xorbits

Binary installers for the latest released version are available at the Python Package Index (PyPI).

# PyPI
pip install xorbits

API compatibility

As long as you know how to use numpy, pandas and so forth, you would probably know how to use Xorbits.

All Xorbits APIs implemented or planned include:

API Implemented version or plan
xorbits.pandas v0.1.0
xorbits.numpy v0.1.0
xorbits.xgboost v0.4.0
xorbits.lightgbm v0.4.0
xorbits.sklearn Planned in the near future
xorbits.xarray Planned in the future
xorbits.scipy Planned in the future
xorbits.statsmodels Planned in the future

Lightning fast speed

Xorbits is the fastest compared to other popular frameworks according to our benchmark tests.

We did benchmarks for TPC-H at scale factor 100 (~100 GB datasets) and 1000 (~1 TB datasets). The performances are shown as below.

TPC-H SF100: Xorbits vs Dask

Xorbits vs Dask

Q21 was excluded since Dask ran out of memory. Across all queries, Xorbits was found to be 7.3x faster than Dask.

TPC-H SF100: Xorbits vs Pandas API on Spark

Xorbits vs Pandas API on Spark

Across all queries, the two systems have roughly similar performance, but Xorbits provided much better API compatibility. Pandas API on Spark failed on Q1, Q4, Q7, Q21, and ran out of memory on Q20.

TPC-H SF100: Xorbits vs Modin

Xorbits vs Modin

Although Modin ran out of memory for most of the queries that involve heavy data shuffles, making the performance difference less obvious, Xorbits was still found to be 3.2x faster than Modin.

TPC-H SF1000: Xorbits

Xorbits

Although Xorbits is able to pass all the queries in a row, Dask, Pandas API on Spark and Modin failed on most of the queries. Thus, we are not able to compare the performance difference now, and we plan to try again later.

For more information, see performance benchmarks.

Deployment

Xorbits can be deployed on your local machine, largely deployed to a cluster via command lines, or deploy via Kubernetes and clouds.

Deployment Description
Local Run Xorbits on a local machine, e.g. your laptop
Cluster Deploy Xorbits to existing cluster via command lines
Kubernetes Deploy Xorbits to existing k8s cluster via python code
Cloud Deploy Xorbits to various cloud platforms via python code
SLURM Deploy Xorbits to SLURM

License

Apache 2

Documentation

The official documentation is hosted on: https://doc.xorbits.io

Roadmaps

Main goals we want to achieve in the future include:

  • Transitioning from pandas native to arrow native for data storage,
    it will 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 Mars

The creators of Xorbits are mainly those of Mars, we built Xorbits currently on Mars to reduce duplicated work, but the vision of Xorbits suggests that it's not appropriate to put everything into 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 involved

Platform Purpose
Discourse Forum Asking usage questions and discussing development.
Github Issues Reporting bugs and filing feature requests.
Slack Collaborating with other Xorbits users.
StackOverflow Asking questions about how to use Xorbits.
Twitter Staying up-to-date on new features.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xorbits-0.4.0.tar.gz (1.8 MB view details)

Uploaded Source

Built Distributions

xorbits-0.4.0-cp311-cp311-win_amd64.whl (3.3 MB view details)

Uploaded CPython 3.11 Windows x86-64

xorbits-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.3 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

xorbits-0.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (7.3 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

xorbits-0.4.0-cp311-cp311-macosx_10_9_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

xorbits-0.4.0-cp311-cp311-macosx_10_9_universal2.whl (4.2 MB view details)

Uploaded CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)

xorbits-0.4.0-cp310-cp310-win_amd64.whl (3.3 MB view details)

Uploaded CPython 3.10 Windows x86-64

xorbits-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.1 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

xorbits-0.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (7.0 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

xorbits-0.4.0-cp310-cp310-macosx_10_9_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

xorbits-0.4.0-cp310-cp310-macosx_10_9_universal2.whl (4.2 MB view details)

Uploaded CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)

xorbits-0.4.0-cp39-cp39-win_amd64.whl (3.4 MB view details)

Uploaded CPython 3.9 Windows x86-64

xorbits-0.4.0-cp39-cp39-win32.whl (3.3 MB view details)

Uploaded CPython 3.9 Windows x86

xorbits-0.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.1 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

xorbits-0.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (7.1 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

xorbits-0.4.0-cp39-cp39-macosx_10_9_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

xorbits-0.4.0-cp39-cp39-macosx_10_9_universal2.whl (4.2 MB view details)

Uploaded CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64)

xorbits-0.4.0-cp38-cp38-win_amd64.whl (3.4 MB view details)

Uploaded CPython 3.8 Windows x86-64

xorbits-0.4.0-cp38-cp38-win32.whl (3.3 MB view details)

Uploaded CPython 3.8 Windows x86

xorbits-0.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.2 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

xorbits-0.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (7.1 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

xorbits-0.4.0-cp38-cp38-macosx_10_9_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

xorbits-0.4.0-cp38-cp38-macosx_10_9_universal2.whl (4.2 MB view details)

Uploaded CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file xorbits-0.4.0.tar.gz.

File metadata

  • Download URL: xorbits-0.4.0.tar.gz
  • Upload date:
  • Size: 1.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for xorbits-0.4.0.tar.gz
Algorithm Hash digest
SHA256 cf630e98b4f605e3a72a5c112028969f23c1fd6401b31b7f28b5ea7e3a3370d9
MD5 95ff31a00618630f2bb9df53c93ed5bf
BLAKE2b-256 4a8fc62a9fe9f2b0dca9dbfcbc41ae961d312da3438f327db96e73e8eddd119e

See more details on using hashes here.

File details

Details for the file xorbits-0.4.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: xorbits-0.4.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 3.3 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for xorbits-0.4.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f43a89814dad18140edcbeaff029dbe1021e5252515d578178deb8f6cc784c29
MD5 944f248f30bbccc512263c5c44b346c9
BLAKE2b-256 1a32fc8227b42f1063d9e1e191edc2e03816ba96e86c27fe8cf4cfa0bf787914

See more details on using hashes here.

File details

Details for the file xorbits-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xorbits-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5f908e7c72bbff58a9f2e928060c26ceb789b4caaa05ce9ac4149394a0dd55e2
MD5 82ba368b7586c489700dd5dc2b516101
BLAKE2b-256 f490bb469be8d5f2c1c201b6ec55f012aa761a3369f81bb449246d25e17217b9

See more details on using hashes here.

File details

Details for the file xorbits-0.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for xorbits-0.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 475bdb84df74633602bd75ed60f7fe1b453e97b7b2b0d04caa3e9cd6e3b2bc53
MD5 36aecf75f324a2058f1785ba19e05d09
BLAKE2b-256 815a2f3f831350eec3dd3f10e1c12759f1fe01907b268a9b8c773b1242683632

See more details on using hashes here.

File details

Details for the file xorbits-0.4.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for xorbits-0.4.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 52156ac7b7701ea751c2d757ee0d493e2946aa4568691f28ef4812c5bbfc624b
MD5 38c514ba9d9a2299a247739ae2d2f68d
BLAKE2b-256 08714375546807cec6c024dbae7ddddfbfb7a66dc1766574d5dc0f70ab2c59ef

See more details on using hashes here.

File details

Details for the file xorbits-0.4.0-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for xorbits-0.4.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 82084446ae738fe40c50a39684076f3e4404fdf036b83f8171642b050c6a4941
MD5 cd77040d6f58ca52974a8c0d95800f6a
BLAKE2b-256 474e141b150b5c8527a52f68e99ff2636500640aa531bef0932f2a8230b38888

See more details on using hashes here.

File details

Details for the file xorbits-0.4.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: xorbits-0.4.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 3.3 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for xorbits-0.4.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a9f4022018dda2bec2a01703f13f4ecb0c2061375c3509a4ec2482e402bb62be
MD5 5111e00036397d79b3bd2f3b79ab939c
BLAKE2b-256 fbb18635a57c0cc54604d5c5c831fe03bb667ac62679a6c4d7b3630b5408abb7

See more details on using hashes here.

File details

Details for the file xorbits-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xorbits-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 09e97b9dc7225e2296a68c467c04b1d1f7f37aa8b693b589f93321237466363a
MD5 7440395985fa1b5b2dd03fdc6acfb0b6
BLAKE2b-256 50ebab041379f6ac80e13d6384819c507d4f7ff8a7b479191bfb7fa2439e254f

See more details on using hashes here.

File details

Details for the file xorbits-0.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for xorbits-0.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0f69a3419c385da36d2d40a8588e217c030d29ebbd0bc15b61b797574c144d6c
MD5 dd4ff39a7379271583814b11027bdabe
BLAKE2b-256 0993d32948f4ba3d066f7910170826ca40df5e6984ef0ec3b012240d1793f5e6

See more details on using hashes here.

File details

Details for the file xorbits-0.4.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for xorbits-0.4.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c8116c3aba106c6ffde75403d82f1964daf6b087b65236d441b5756fcb66b1a6
MD5 83f0a20bf2ccc8518b1fe6a06719e29c
BLAKE2b-256 9d234a23d09b5578e5038e04e20fed4fa5de00694fb0b1277c2fea9b9595d948

See more details on using hashes here.

File details

Details for the file xorbits-0.4.0-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for xorbits-0.4.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 4650c0caff56908209ffc5cbabb9eda5ca9d7938bf615615c40016f70b899abd
MD5 0721aad57ebe24bc9beef115534d96ea
BLAKE2b-256 ee57f6f978999d92e8f3416884a2de4665e404a342a9f06e7179ac237e421168

See more details on using hashes here.

File details

Details for the file xorbits-0.4.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: xorbits-0.4.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 3.4 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for xorbits-0.4.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 f9d8dff2cc2f3a4a15f5857bdd91c3c0e1b261a809528b3be65b13c435b1a2f4
MD5 303f90020bc778c69ddd5b49392bd9fb
BLAKE2b-256 ab366cb9d8f63ed333cdbbaf24c5da31767b387d3826c6d1c02aae033331d080

See more details on using hashes here.

File details

Details for the file xorbits-0.4.0-cp39-cp39-win32.whl.

File metadata

  • Download URL: xorbits-0.4.0-cp39-cp39-win32.whl
  • Upload date:
  • Size: 3.3 MB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for xorbits-0.4.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 958a586738813f39f89dae9f72ce2e541dd9cd643fddac7031c5dc9945ea35a9
MD5 29fb1d6f2785ad1d3cafebabe7b54588
BLAKE2b-256 741cd5f05fe76fde789a742614f38a25302c6c29bf75ec766ff716f05764ac60

See more details on using hashes here.

File details

Details for the file xorbits-0.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xorbits-0.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c3c85a0b05bb1ece01ed6115b85f782162c0ff05ad1999402916d996adce3f4a
MD5 7dd21a0dea492b4358483cdfd327f397
BLAKE2b-256 59ec9eeb5d13ca04230429b51986271b68a40b51ebc9ce102b8aa7c9eb1ac35e

See more details on using hashes here.

File details

Details for the file xorbits-0.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for xorbits-0.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fad0a769cf03416bfb5666724fe17cd14aa1bbf7f057a09657964acbdc8acebd
MD5 e54ef3c63fb03672fa55960d506e1f1d
BLAKE2b-256 6fd8153e0bdb3c3fac61b5bdcc59ae4e8e95995150f1690fbbb1e8db3f8720fc

See more details on using hashes here.

File details

Details for the file xorbits-0.4.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for xorbits-0.4.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b4d90e8fe152b79d935b336f7f554721ac324d27bc4c376912c92c330eb2ae02
MD5 b4be09be9e9516b0fccf70f3ffe82624
BLAKE2b-256 b8428e08d3ea33ed6df14ab784762e23a6e7ef13bf5a8149a448450dfbf87899

See more details on using hashes here.

File details

Details for the file xorbits-0.4.0-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for xorbits-0.4.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 db17f0d06426942ad7c416f09e8fe2b11fde7717b924451a009da4a847c58e3b
MD5 c258e27bd13eff4527345ac64258a682
BLAKE2b-256 75ebd39636c2bb3aec738504a0fefb3647c5cb2d33a6258a518605d00c22a6ae

See more details on using hashes here.

File details

Details for the file xorbits-0.4.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: xorbits-0.4.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 3.4 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for xorbits-0.4.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 51cee1b5e524bb65bf4cd17145632e53e88fffc7f614fa33a984730e3616bdee
MD5 505284cdee5fed86075aaf5baf532888
BLAKE2b-256 9a716b69eb9bb7efa70b5290035bd7c4a3184a68840fe02d9c0abfa907136a3a

See more details on using hashes here.

File details

Details for the file xorbits-0.4.0-cp38-cp38-win32.whl.

File metadata

  • Download URL: xorbits-0.4.0-cp38-cp38-win32.whl
  • Upload date:
  • Size: 3.3 MB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for xorbits-0.4.0-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 e53398a6af52de1dffc56fe494c905b91590ef545023f6e6e14477d6dcf7b6ef
MD5 4c1c4a039b12f7ef0f434262f0665484
BLAKE2b-256 a1cec3155e775a55b065f7f19659a9e90399127039f234a99084107062d85168

See more details on using hashes here.

File details

Details for the file xorbits-0.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xorbits-0.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 99343618e8ab73189669326a43b6d85c78741987c6c6404782a53cc15aa2bd3e
MD5 dfd7e3b86b20ba0014494fa19f4799ce
BLAKE2b-256 88e3b73fd5050b936d590e3830ce8045ed18898eb4905cce3d8f00a4a0129f04

See more details on using hashes here.

File details

Details for the file xorbits-0.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for xorbits-0.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 94b683b11480e8c750916d24367d4301df076e6082b4e9007ab6229d849338a0
MD5 b16ad2f609f83f87b5e5dba1f1fca6f3
BLAKE2b-256 39dba5b9e54ccf0218d2cfa56d4ffcfd36c5401df3063a3fa7d049f138e23601

See more details on using hashes here.

File details

Details for the file xorbits-0.4.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for xorbits-0.4.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f7ebeb954b7f472b22b4945bfbfa4b9f9cbaac2780f99cedfcdfef1fae0d7dcf
MD5 4e33f123a94230dd7e2c8685ae4cf6f9
BLAKE2b-256 c774901abe9a433d859f5a1ef4e3b04eeb6cd1006834d852cc6e034ed9d07382

See more details on using hashes here.

File details

Details for the file xorbits-0.4.0-cp38-cp38-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for xorbits-0.4.0-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 7d898f3f03bc6d06dd00ec8fd7e1ea9bf7cc43bd878d5149f62afe1e2dec2943
MD5 38ddad212bc7c50091a944fc81f215a0
BLAKE2b-256 4da9952ea411a7fe88c2bec50c51d3131e37597abf801305888ee3aa04b9af58

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page