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.sklearn Planned in the near future
xorbits.xgboost Planned in the near future
xorbits.lightgbm 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.3.2.tar.gz (1.8 MB view details)

Uploaded Source

Built Distributions

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

Uploaded CPython 3.11 Windows x86-64

xorbits-0.3.2-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.3.2-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.3.2-cp311-cp311-macosx_10_9_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

xorbits-0.3.2-cp311-cp311-macosx_10_9_universal2.whl (4.1 MB view details)

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

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

Uploaded CPython 3.10 Windows x86-64

xorbits-0.3.2-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.3.2-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.3.2-cp310-cp310-macosx_10_9_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

xorbits-0.3.2-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.3.2-cp39-cp39-win_amd64.whl (3.3 MB view details)

Uploaded CPython 3.9 Windows x86-64

xorbits-0.3.2-cp39-cp39-win32.whl (3.2 MB view details)

Uploaded CPython 3.9 Windows x86

xorbits-0.3.2-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.3.2-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.3.2-cp39-cp39-macosx_10_9_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

xorbits-0.3.2-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.3.2-cp38-cp38-win_amd64.whl (3.3 MB view details)

Uploaded CPython 3.8 Windows x86-64

xorbits-0.3.2-cp38-cp38-win32.whl (3.2 MB view details)

Uploaded CPython 3.8 Windows x86

xorbits-0.3.2-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.3.2-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.3.2-cp38-cp38-macosx_10_9_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

xorbits-0.3.2-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.3.2.tar.gz.

File metadata

  • Download URL: xorbits-0.3.2.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.3.2.tar.gz
Algorithm Hash digest
SHA256 6248fd4b1b42e75f8bbad373c80776e5f764233cbd4d76bed19ec1e815cd1ece
MD5 2bd8b31e00a8d32b81bb4f6f0153f61c
BLAKE2b-256 d739087d3bb4006cb659a897512a33dd2bc7b03704a163c3b42d0ab19f5bc85a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xorbits-0.3.2-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.3.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 04935b7eed57057cd775a07a025f6180264be5b7b2ba6e23ba28e2aa542c8e2d
MD5 9ce508a875f767a2c6e5e9a2d5565ba6
BLAKE2b-256 71b8db70fa1fa9a8a761bbd993c1397b2d67da2cd2915d4b11ad18acc5717264

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 48845cfd20406b1dc52743c281a4ad04df420510b643bcaa3cc2d1bafd9f6a64
MD5 95f8f2f37b46065b812726101c675f78
BLAKE2b-256 7c138f805ce5568bb8c7d66ef61cf519fd3c9bde69113e0fd5c70c9b27acce09

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cecd430c863e0ce2fcee4f384697b3ff8b42ffaf6e3cb822096708daee448c9e
MD5 77462ee1e9ffa3b59a303f0d346ea995
BLAKE2b-256 5a21dc80c3558c1c9fa692f3b8cf3438e7e9789ef4d1f53a2885d7fb61a8b2e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.3.2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 84679967b3a5365f00c9828f8ca2a4e8a586e5f9d31d07667b6ec3698eecc5d6
MD5 c8de28295e550067f90c033603b4bc84
BLAKE2b-256 176f2a4855a8e8c2ee23f365bd71b1119b361080b3d98fac893f14a50199e7a0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.3.2-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 59320a14a655340196885207f519d489b50f04ec2445e4eeeee7d560e48aed25
MD5 115b66e32a5d9f9b3e20507284a9b62f
BLAKE2b-256 5b79b212a993c83aff6ccf9e28d9e011bc82c989ae8f3465876bab92b914dc1a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xorbits-0.3.2-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.3.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ba2ee61d75da788a20c9da083fc7643ac65ea9a9e73b63283bc746d4420d9003
MD5 f57c463567a6fc5f2bfcb903895e14bb
BLAKE2b-256 97e0b888974cd2376bf778bd2c8e800859475b7a71cbcafe9497053ff79f8469

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 63be7ec9a650af7ca1bb2876d01c21044b7130f624f83165afe6a42e3c85d2db
MD5 fbd41b68595dbef48acd4c7e30857ea0
BLAKE2b-256 510bcfa839971d8bc424ed1be06ffb0c34db98e6e2e8c9fa8411c82099a8c3ce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7e7597f19cd905379e403f0bdda44fb202d419a057b7164cdeffe8ba84e14e0e
MD5 9c74b4fd3416b652208b63ef7239b0ec
BLAKE2b-256 2d113a6bafb9d2e909b0b3bb596dd879e54d73d27b5511c71f754f1d9d797e33

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.3.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 402f79b2ad21a4ae10305183b96b31c7cc8c8a1b86d6792a1d9f11f76717dcec
MD5 6f44677367218e14ff1c30fa8db30c88
BLAKE2b-256 a25d8f8d21f7d64f7d0ad87fea0b5e2fd65a26e7b3cbaff675535b4b117eb2ee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.3.2-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 dfda01e1991598c6a65bda1b9304e825ef40e88cac46d0888dc96e6725f8545a
MD5 b6d06928b4efd5cfb00d597a3e582242
BLAKE2b-256 90038b0a67316c1695d19c1437672f808815f765b91ec7b67143b75f892b0867

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xorbits-0.3.2-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 3.3 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.3.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 09ae3ea482c87cd68fc3042e4718da8e661f0e192745ab0eb6740c0752340da7
MD5 91714a010f8ac8491f1e1ce156b09b33
BLAKE2b-256 cfdaef20ff73d6bcb801b411524233ba5f5373d9e357a5e50973d944383bb225

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xorbits-0.3.2-cp39-cp39-win32.whl
  • Upload date:
  • Size: 3.2 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.3.2-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 82581fc8aafeab8fb635fb90f4f1aa98ce4dbad54c3532ec3618ef87a55c96cb
MD5 b67cc8207907a00a2283697a9848f527
BLAKE2b-256 2325e0ba54d3918a8dc99478324cf29708d562d1d251b8ad65a0630ad7288ac6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8efd77fbb5772af5b1145972eded26cb55862610b39b7cb251a65f6c7fbc731c
MD5 2785d73fe98ec8642a26145a71c17615
BLAKE2b-256 fa1ce79f31d2e36330c86d3d8f4bb1b0922889b09607a5e65b147b0dc8aa34b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0c9943aed84dd4d2a61f19b2c06d270c328c0cee00c5b88b6daa90f1d8910635
MD5 2130332cb51dbdcb78d1155b3ae05c18
BLAKE2b-256 c0a5ea636c82dd54a7220839cbc6fb211648c5d12f3a8bee07c7f798f2dabcea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.3.2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2d241cdec5389018b4a9be5003f46d6709ff6563f58f5d59a2fc83909b222153
MD5 d176d7f675803688f6ecf91515f15fb1
BLAKE2b-256 cce5f920cd413943f2fd0bbf7186e40674a1ecb103b8056a904c448ab0f637ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.3.2-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 54e8ab63916c308fa615ff4bb4806cc6c539f484edda5bff2473956a9fa20f13
MD5 fdf14b92087681d873565623cee72138
BLAKE2b-256 0b592d4563c14e222af0aa782b7499be906c2e184fd48c89a6ee7cae67ed5857

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xorbits-0.3.2-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 3.3 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.3.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 1070529c96b2ed5e2e506d5641ac13f8d472e34a02118c79d40cbf158a8a4e70
MD5 5d72a18dbe6fda96f15c2992af9fcb0f
BLAKE2b-256 799ac01a82e442582cd556d498523a0860ff27059182617b64e0d62a50fbfbe2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xorbits-0.3.2-cp38-cp38-win32.whl
  • Upload date:
  • Size: 3.2 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.3.2-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 79b045ab049843bbe7ff0f25ec71894ea40a742fbc4232c5376b453c9eeb28db
MD5 c8b015b9448abff057bf6724704ae1a0
BLAKE2b-256 1b2b145eb6406b5616457e665099180aedcaa5fa4606ef63bad37c6f1286d4dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f7303a6f86ce6a1d85c880058a980bcd26364942f4641c289053c0b6a28b098c
MD5 25bbf2889fd3210aa4be8aab21d8cc48
BLAKE2b-256 31483884de751793fb53687173d1d0b030ce2f0d21b68ce7fa63248c675e7bf0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 023252f2c7fe759c60c6459e405a9c3c2c6afaa2dff25839697067e05955b79a
MD5 d76e01d20905c8b7d4b4ea7ba2fd7cdd
BLAKE2b-256 fccff7ac9511eb9816e77484474a6ee1c3dbf6b2740354cc5829d76567897b77

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.3.2-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8036e3a8689ecd822905a0646796938d9deb2bb476205cbb1f2fc1dcc39564bc
MD5 fc769527a58ff9ae48b1e99250a54431
BLAKE2b-256 148fbdb55573c58631ef5274d10df7b83290af346205b9f43927c1da25bd890d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.3.2-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 ac21164998804e3a5d78e6ab8cec54e122eefe02c12844f4876c311689fbf281
MD5 3c1586149ea6e842b5364ed27e715c70
BLAKE2b-256 b2c3488e196b3cca72054637b595276d234c7cfb2f6d9d5ea204fa1196c52aff

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