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

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

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 Running Xorbits on a local machine, e.g. laptop
Cluster Deploy Xorbits to existing cluster via command lines
Kubernetes Deploy Xorbits to existing k8s cluster via python codes
Cloud Deploy Xorbits to various cloud platforms via python codes

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

Uploaded Source

Built Distributions

xorbits-0.1.1-cp310-cp310-win_amd64.whl (3.8 MB view details)

Uploaded CPython 3.10 Windows x86-64

xorbits-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.9 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

xorbits-0.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (9.8 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

xorbits-0.1.1-cp310-cp310-macosx_10_9_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

xorbits-0.1.1-cp310-cp310-macosx_10_9_universal2.whl (5.2 MB view details)

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

xorbits-0.1.1-cp39-cp39-win_amd64.whl (3.8 MB view details)

Uploaded CPython 3.9 Windows x86-64

xorbits-0.1.1-cp39-cp39-win32.whl (3.7 MB view details)

Uploaded CPython 3.9 Windows x86

xorbits-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.9 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

xorbits-0.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (9.8 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

xorbits-0.1.1-cp39-cp39-macosx_10_9_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

xorbits-0.1.1-cp39-cp39-macosx_10_9_universal2.whl (5.2 MB view details)

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

xorbits-0.1.1-cp38-cp38-win_amd64.whl (3.8 MB view details)

Uploaded CPython 3.8 Windows x86-64

xorbits-0.1.1-cp38-cp38-win32.whl (3.7 MB view details)

Uploaded CPython 3.8 Windows x86

xorbits-0.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.0 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

xorbits-0.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (9.9 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

xorbits-0.1.1-cp38-cp38-macosx_10_9_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

xorbits-0.1.1-cp38-cp38-macosx_10_9_universal2.whl (5.1 MB view details)

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

xorbits-0.1.1-cp37-cp37m-win_amd64.whl (3.8 MB view details)

Uploaded CPython 3.7m Windows x86-64

xorbits-0.1.1-cp37-cp37m-win32.whl (3.7 MB view details)

Uploaded CPython 3.7m Windows x86

xorbits-0.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.2 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

xorbits-0.1.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (9.2 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

xorbits-0.1.1-cp37-cp37m-macosx_10_9_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

File details

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

File metadata

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

File hashes

Hashes for xorbits-0.1.1.tar.gz
Algorithm Hash digest
SHA256 a6d9aeff787dda9ccf312e687c5027f2a6bd541e1da907aae746ec2f72f51a46
MD5 cccf982633185d06c56b851d836aab40
BLAKE2b-256 fdff1cf6a1bc0be33c640aada7fb8f65e20726f54f619a32b745828b996c5a99

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xorbits-0.1.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 3.8 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.1.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 54f91081ebf11fb8421e6d1bf92cee12ee4804949443a7b06901013f4848b81d
MD5 123ec6a3ae2447a94e68564ba470b1b7
BLAKE2b-256 ef3883335ece8e3f98adf871135ef676d17260c435b488a92998da606301b9cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 19d259c1b89baf8e340b5ca964d0307d829a1918b7bd576ab9a252a44b92cf8c
MD5 b28007867bc96aa6cb8ea42b39d3a172
BLAKE2b-256 d41f5e3e7cf90f5b7cc4c727cdbe86bcfb5344c6d87a0e05ccf016ea7cbb69b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8059994b2b422e932466055ceb1635ff606b4cb5b3c315b931130f4aea3930ff
MD5 a07850872c704373568421e77cf5626c
BLAKE2b-256 f0efde3c58de99f892486bf5089ddd5822c0c566c5ff0c688449d8de43f6e11c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.1.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7bb9ac50fdf827a2a4925efbf70c604c7ca761c2f84788a0b6cac6fe5b2f96f3
MD5 8605cc9313d875f0aefaae4dfb47a1df
BLAKE2b-256 63bb7802beaed133543d604997612279e95dcf870538a1de55e9b91a5a109752

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.1.1-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 f360df7b69cf6f0edba0a8873b6a02d963fd486ba54d021aac91c42cebca67c7
MD5 21cee804f729ca46948caeed72ee07ac
BLAKE2b-256 d5be35f878040d1fdd6d0b8caff07c6a1be73b12009a3c40a3dfaa410a045336

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xorbits-0.1.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 3.8 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.1.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 7ff9be700105f5ad3ed0ed18164caebbd3fe753a641efa46109dc4a0442a0bfa
MD5 3ea63b6126d67e71a407d7a258c731c8
BLAKE2b-256 92a36ba3ee2c2cc2802ed5f427c68fcf1c2f809414bdafbcaccc98e7b0e38048

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xorbits-0.1.1-cp39-cp39-win32.whl
  • Upload date:
  • Size: 3.7 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.1.1-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 a19c1c7ef22765047ba7e2113b3a2d2af2f660e8cb94da762dc8ed89b8077815
MD5 3c6ed71fb970d4166299c44eac03c217
BLAKE2b-256 4a7ef88981782db23cdc7448da6c3700f5e417bf898767f0bbf2e30ebe055cef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e46e576ebf214cc22ff256b045e537434e340616e4d678bfaaa6bda7f1cb55ad
MD5 ee67d93851aaa4ce9ae9942cc123baa4
BLAKE2b-256 c9d9913fffbc7a39707ce25a8051b8d4500b25fe003c859528c163e33bff8211

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 91feb4dcfcfa299107341da3dc7bdaf1bdaf75c34155d6dc63f044cf03553208
MD5 736e6b220380cf22c45891df8ff3d9b6
BLAKE2b-256 37126b07df66fd37ec6ad757af8f8b84dc042739503d6b00924590be33a82d9e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.1.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9352f45bebb4353ebfb3383670782da1de268748c0412396b993842a8bb622ba
MD5 0317dd277603317d21b67a7bdd2760f4
BLAKE2b-256 3b81675b4af06c3534d6d606f655751569fdcbb8cc7a27f2d5a681ab974bec18

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.1.1-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 6d8dfd46e4b1102884642d24a660f8f3a89404ce0acab2dbe74e2a48db959b0b
MD5 a267236fbd4412dbcb4cc13dbc4d2927
BLAKE2b-256 8d8a6c38ca6103b4a447d311c9b5b975b2be1083aa0e79c688c8f07198657683

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xorbits-0.1.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 3.8 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.1.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 d3410169b60cfaf1949a1cfe9d1c412ca36010b9b8a915ce98d5d1a7572c031d
MD5 3a90f5545ff276737c2830a45750441f
BLAKE2b-256 7ad04e6ba19f74642c557d7835882828f0954a8c5778e5cf1d44c73deda5e065

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xorbits-0.1.1-cp38-cp38-win32.whl
  • Upload date:
  • Size: 3.7 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.1.1-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 35ab1428b42898303c9f2591a471c765d68eba4f3c38a1a00736769fc76b94a4
MD5 307ebbea3f9e5102ab6f909a81d12bc5
BLAKE2b-256 fad311cb6b46d5ce24f725ed08d9e73abfcde6e6f57842db1c3f24d2bc974e29

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fb925a0cf10590fb8d1b063386ad38095d58cc9daadcf269c776f9159356b3c0
MD5 c002ef792f394948da965876d9fe2682
BLAKE2b-256 14ff467754028649724ab0ec4797cf830ae01e3aec2bfde6256840fa9940e99e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3946ed3679f1c09642a9c4d9fa0e6f804a9032575b5ab7715d6dfcea0ce8e480
MD5 38c36235d096a187c7938162f33df5b5
BLAKE2b-256 04329ed38fb36759f3e8f8db1cb61345c71580fdaa35de6d28e850498f58bf68

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.1.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 784808ca9bb34bdc1c8b70c5cca19cd086c058507e030ced6ba42beb8371adb9
MD5 75ba651ee8a45f5a6334959825b1f26c
BLAKE2b-256 9a885581bee53401f46b6e949b4abadede19d8f8c4ae8ae39cf5452cc17df602

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.1.1-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 1edba65b058d22268a07e52a19cc89e90171eec8dc7b08af2b719e24effc8dc1
MD5 c45db9a46c8a501ece7c8b036018b598
BLAKE2b-256 30655ae368029ea6301574b6161caf5e057a255cd2ba1ff589b173f324affe49

See more details on using hashes here.

File details

Details for the file xorbits-0.1.1-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: xorbits-0.1.1-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for xorbits-0.1.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 796227472b999679aed1a12f156ea316fcc4f309db0b00fff6b8301f0c81520d
MD5 fab6be3213cfb5915bba7de9ebdb2df9
BLAKE2b-256 4ecd03b23c78d6dcb974ad89c4fa8f9df0647edeaa5d1a8dc1c6b7981b942acd

See more details on using hashes here.

File details

Details for the file xorbits-0.1.1-cp37-cp37m-win32.whl.

File metadata

  • Download URL: xorbits-0.1.1-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 3.7 MB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for xorbits-0.1.1-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 65f2a0c5d16a6ddd088e4c119e1dcf81b5b25640d7563266bbd17807c98644d5
MD5 4d7525638e572dce33fcbe392cd9c7d6
BLAKE2b-256 ded3b73c7b324fcc8d4d92c696b5cc31f105e00500c2b8a21cb6eea4b15f0e20

See more details on using hashes here.

File details

Details for the file xorbits-0.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for xorbits-0.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9e4257ab77d35b2e4676252ac484898ba8b4a63ecba0fd687234ca73a0e3a58d
MD5 13416032a78454fc40a52beff3a89bff
BLAKE2b-256 af53d1000cb6f9686bb39d88edfe000303feb00e4dfd3f06eb716c8c9963edb8

See more details on using hashes here.

File details

Details for the file xorbits-0.1.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for xorbits-0.1.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9a326c0a6000c041f81ed1f94cf8f27dc5bb51c072dee9e8f3c2e8f0c825a2a2
MD5 9dcd3d58f354a1bd7ae80b219d429e6d
BLAKE2b-256 daa2ca04b36a15a2390aa4a61692b1f7937666c295b6872c11056127455556dc

See more details on using hashes here.

File details

Details for the file xorbits-0.1.1-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for xorbits-0.1.1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 392c71d8619c1f88b4d3f9664d60da8662c304db8b44f48aa558dcf4e90fa9d4
MD5 8522b42b434a5d64ec6f7cae12d365d9
BLAKE2b-256 267b667c84c1715d5d4640eaa79d70f1945dd4e60d5f7aeb1422aa5efddaab27

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