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

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.2.2.tar.gz (1.8 MB view details)

Uploaded Source

Built Distributions

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

Uploaded CPython 3.11 Windows x86-64

xorbits-0.2.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.2.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.2.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.2.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.2.2-cp310-cp310-win_amd64.whl (3.3 MB view details)

Uploaded CPython 3.10 Windows x86-64

xorbits-0.2.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.2.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.2.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.2.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.2.2-cp39-cp39-win_amd64.whl (3.3 MB view details)

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.9 Windows x86

xorbits-0.2.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.2.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.2.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.2.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.2.2-cp38-cp38-win_amd64.whl (3.4 MB view details)

Uploaded CPython 3.8 Windows x86-64

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

Uploaded CPython 3.8 Windows x86

xorbits-0.2.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.2.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.2.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.2.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.2.2.tar.gz.

File metadata

  • Download URL: xorbits-0.2.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.16

File hashes

Hashes for xorbits-0.2.2.tar.gz
Algorithm Hash digest
SHA256 cd808af007c7cc41e16e1b01b889a7e48d9baa54d06f51fec5435e4226b240ff
MD5 5dd09e3d6bce315f312a15e79598d2a6
BLAKE2b-256 bf897e3ef1993fe4f46320638c92745316ac1a2b5b031a363a49a1a5eb46e145

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xorbits-0.2.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.16

File hashes

Hashes for xorbits-0.2.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 06509ef2fe39c21e4217fd5ddb39ff53aed5c1c5aab2b6656fe461d0cc791e10
MD5 de22e03f3011df8b9aa48b58b650aab7
BLAKE2b-256 d1e2d7acba6fcbb00b69603663d7f49676dec2552673d571d6526e2c9867e5f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c039651bc27ed2880e0d5c6aa2808cf46710ea290ccee0c5e5b62b12d12eb07f
MD5 53493d89a3a7bab0ffcd2d3b81e8a327
BLAKE2b-256 ef5e1a229228c2d1b9574b9d32dce47329fff6fa1b31838732d33d6149e58087

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7fb0cd7cc4e6a50b9062d87fd14dd8b33f8fc58f6f06271bc4662e59b87d89a8
MD5 76caed2b2be53b4dd20bdc31285ebaac
BLAKE2b-256 b443a0c840c18a5de9637a3446dae5c9447d2824c96220a73120e6b2947a4abb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.2.2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 5ea697f9a3c55df0bd93676ba3e9f0bd92b65b7c317b19763a654fffadb9f72b
MD5 25fe234337495d87e17d294d8230f533
BLAKE2b-256 0df204fc2afb1e4d5d72a5f84322017cedf574f79787a04485db0b78f46a8e48

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.2.2-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 94857413d9ba32a2ce58c7ed82f146c7402d90524c8727414d5ebbc5ad29ccdb
MD5 19c774f5d2522487c0b0273ebb62e1e6
BLAKE2b-256 348539588585be9445ad7809de7e6d6472303f3e71e36fe8dec15af68df239ec

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xorbits-0.2.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.16

File hashes

Hashes for xorbits-0.2.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 645a581d78abf6686e5ebf280f448d7c803b554ea08fb1745028eea479b14c67
MD5 9fe50173f7c3f766c68411ef07bdddbc
BLAKE2b-256 27df97d53a7ed8ffca37ed2a65b49d19eb2f5796d118b9db72e50f350c2fd926

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e8bc8fcc8a2ae68b14c2fc6cca127c88014cb111105ad473ac76d3601a4044a5
MD5 c6073b2839be62b6ac899d93ed9da428
BLAKE2b-256 90c3dab21725a6a4b43ae8d1fecb58954d167fa28cc5b0198da7f65b4af362d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f1a14acf8db33d4d0cc99eaec3fbe72086c16e286e873e97ff061e523b8e2915
MD5 7fa5d588b8fd45d2e90a8803cac18b10
BLAKE2b-256 85b3c720c89cdb7a288303b9aee7612b7a40a4c4b6a2939442484b4e7d152c2f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.2.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ec7e13543e4c49b89555b0b8dc3e8d15bfb8ccfd913f53687dced7965fc8c81b
MD5 3fe3f6bd18d8208f57576c43262092a6
BLAKE2b-256 812caccdbf7d0ccc96a09f09246c111d1634958887fb31e281eef2ab9d79d29e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.2.2-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 3358f155c05c902ce8949018323f81cb484cb2176c94f98670f8438e98b699e4
MD5 703627c78145b00818fc2d3475b76f19
BLAKE2b-256 c85c0d50da3639725e4c1fd76c9507f638f2386b58d317a46b1cb3d8855b008c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xorbits-0.2.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.16

File hashes

Hashes for xorbits-0.2.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 620782989d17e6864b3352f3f9671acf5c7c24571c2d69632d349a5b9c000afa
MD5 09607b2ead5af4e073a86c0492628ca5
BLAKE2b-256 8d04c0d6898732dd4c50be807cbf115368060cf3d8508b3ccf1fe14ac0fd0f5d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xorbits-0.2.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.16

File hashes

Hashes for xorbits-0.2.2-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 23960660489c31916840a46fbc917a5c93a1b6712c6e5113478956225b27183e
MD5 0e9462952ea6d5c75efd30e3af435cab
BLAKE2b-256 3165fa4ffb0f77daa9ea0c9d7ba11f032a464e071d6ab32bf64c9a9e29fbba8f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1860da6feccab720f05b9ff71a4c5f871b9561b11b7269989345005ef32110bc
MD5 85b88826c6bc634a4917af420e4bb66b
BLAKE2b-256 7e8d4d8590b0d9118f457d34b4f5863bd10ae7f7e839880f80e2096fc677e487

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.2.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a0fc555c1f36fce412885fc09150f551d3a041be99725c6e24580ad721d24a1b
MD5 1219a29c6dd0bac85c01221912d154f0
BLAKE2b-256 0640c2045f05e348350569885dad356a5a3c38264cc675c6ae8396604281a9fb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.2.2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b15a2d98b185dfad795e2e8169ca1662de223b90ff74cdd380fe96df46a38188
MD5 8604ad7677ef3afa60bcd62d0f1728a6
BLAKE2b-256 badccdbd0244df58f6e5a49325ff623deccd5ccb8a3a1e17df822ef5d66d9c22

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.2.2-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 e579d1c1c8fc4d382bbce2ce46264d81a8688d8c8aa6ceac9896607a519ae93b
MD5 59202bee025cbcd3a0b685fb43a1f4d6
BLAKE2b-256 1193efb05f7d0d285960e02ae4b096c3b7cb7f1e51086820f81cc8056e287e37

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xorbits-0.2.2-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.16

File hashes

Hashes for xorbits-0.2.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 a9bdccdff35d52e85668d112d704e68340734789d93f04807c6abac2ab013a08
MD5 59a2578d2cf31d3ec55245e14fd36dbe
BLAKE2b-256 6c936fc8e6fe32f2995bf3f4b66b547725a2f4c94385de7ae6c2ab5d21988eac

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xorbits-0.2.2-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.16

File hashes

Hashes for xorbits-0.2.2-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 c0dafe9b72a781afdfd4f981b64d36616170a6d2f90ea8566dc4a0cb8c716ae0
MD5 b02e155cb3aac9bc022cb6b399e8fa95
BLAKE2b-256 da8b4f959070611ff40de7687cdc854307a1de9029292fe012f9021d1993e280

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.2.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7155b45071bd63581bfb417847d6f4dc4bb348050b9731643f562066308de48d
MD5 e4754d409bcc6b306b8105d1c34aa70a
BLAKE2b-256 b01f6f7ee2f59f0791aece705de79ce6f6af3c567cf04f634792618a5401839b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.2.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5b0627c4c160ef9c3cbb35e9ac12ff02e11b87f5198b381546898cfafc8d8997
MD5 8051233ab15cb17e728e96f38679316d
BLAKE2b-256 388d3b2b3baa8b0b2f7e397b420682e762e836b2b71e36a5a7895b5dcbbd4f1b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.2.2-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c28f70ec346d58a0bc411eb7c5bc4b474c58c18daaf04789a268c2c4c9ea05b6
MD5 dbbd741445f5560d9872347584a60188
BLAKE2b-256 fd9d20c9830dc9f68ad650f314e67e6a11e5f3dd49da363cb1e070919268ddd4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.2.2-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 f3f10586ab6f6711bb5c272f05fe980247f35b79b6e75a6c396f95a261725070
MD5 af1b6093afcfc02e444163cd766957fb
BLAKE2b-256 8db4fc9923a634161ca357d2375a336f5f9b3cd00b458c56d2c1d99c0e93249d

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