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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.10 Windows x86-64

xorbits-0.1.2-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.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (9.9 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

xorbits-0.1.2-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.2-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.2-cp39-cp39-win_amd64.whl (3.8 MB view details)

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.9 Windows x86

xorbits-0.1.2-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.2-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.2-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.2-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.2-cp38-cp38-win_amd64.whl (3.8 MB view details)

Uploaded CPython 3.8 Windows x86-64

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

Uploaded CPython 3.8 Windows x86

xorbits-0.1.2-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.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.0 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

xorbits-0.1.2-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.2-cp38-cp38-macosx_10_9_universal2.whl (5.2 MB view details)

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

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

Uploaded CPython 3.7m Windows x86-64

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

Uploaded CPython 3.7m Windows x86

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

File metadata

  • Download URL: xorbits-0.1.2.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.2.tar.gz
Algorithm Hash digest
SHA256 041d8b7f509628dff1775b6a711b0a3ad155f0a9144702ff25ced382f3e7022d
MD5 72976da3f4a4586bbfb34ef84dec47b3
BLAKE2b-256 9fe2ad5f2b2ee45b67a6e2acf3147965d7c5fcde3a163c84a10600055ef8acbc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xorbits-0.1.2-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.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 28e284add3a59297befc9f6f15655657e743468d32732e0fdc4136ac554f20a3
MD5 ba35bc236bd8d4dbf398e59f254002fd
BLAKE2b-256 66878d888e6784dfe51a4afa41e3be42f42fa1a9a021f94097d415c4f9750379

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 500977a905db1625ce19c0a84acb618f2abb8055953510b9be61d825991a7b67
MD5 7d26e78a1566ef2035c3bc491b18b07f
BLAKE2b-256 2cb0ffaf19be22e2ab428ab9af5f33c77ff165a75b860bcb9188d3499280eeb1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c2b5fb14256d761345335523c0e065ecfd35d3d0ddbc8ab6c138abb2e3867570
MD5 01efe50c5b8cdde3a3178d5ea32a32c4
BLAKE2b-256 41584f8b5a8de205db1329bb7aa330ef6367b221297b7e0f19e444aac1c4fe04

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.1.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6e3e9ec702f3c5d969dfbaf7f6ec14f745ba974f8ba457071176d21c80e57165
MD5 4d2a040af8f1860d474799514d006a64
BLAKE2b-256 6521e7743028abfb1d6eb461de21365259376c175c1befe6d92274bc2a349b9a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.1.2-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 63e675beb69874474dc0d0cb979dafba12b47607783b6041e5bc681e9bacd107
MD5 802d9b16bed037f7fad4d03c1e8581d7
BLAKE2b-256 f2db8c4ab94607c496a213acf386e5eb198dc991d0785afb339a89453db679f6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xorbits-0.1.2-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.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 1f710faafd7546225eeb3af7d2a4480856c98c78edc4c4d0b7e550bed306fa91
MD5 91b828f3e8a617b377ccbfb203d862a7
BLAKE2b-256 82d7a80f1bf75ab8d93f95fca97de1b04b9b639cff6cb21eac5114c5fe550235

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xorbits-0.1.2-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.2-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 5406d37902536243b9ca5495badf625c5eb47daa6b2e42996c453d99cc9db0a5
MD5 9b30576b23d1c8a723d1cb2a70646c93
BLAKE2b-256 5b28ca495a9e59ec483f9fd9ba31349281f03e153942fdb16bbfa168820bef24

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 05978e7cbb384bad84f5a6fa8232e96f1ffd931e768f7a53c9590fb5f62ac73b
MD5 e2ded6c7960b7bd73d1c6561184e1c26
BLAKE2b-256 319c9f739d9504c398ca0fe514e52ca0071ddc322fea9743d9f76a5c39a5c132

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9f2c0ab1ba0bf68eda2e279d33bc5902b7a2124aaff0d5f03fb98e7e2b25609b
MD5 01bbab3f690e91fe7848f9b4bad0b2df
BLAKE2b-256 facd079ab6418a615f19a7eb0a77bde045b914d92d6328253061efb1d3d5e1e3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.1.2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7af7a852abd46d54e8a9a2799927c8fc55271261281efadf77164b1cf0049273
MD5 9185efd54e08617003029ae8ed97cc2b
BLAKE2b-256 690440c156171c83bd12089218a7b9729d7a338afcda9ae2ca7be4d9f357bf4d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.1.2-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 2cac9c2d295bf4d6e8c3af40b4e4dc18e559498debd0bdb70438083d3a838fbb
MD5 2dc29e75cc62ebaf68061b4ffcc97ab7
BLAKE2b-256 4d5efeb049bf264cd99ba5905db6b7772c2ff54fa878ddb1764162254469ffd7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xorbits-0.1.2-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.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 0f40ef2e16d8b2863e15708e4c0797f9e8e7b74c2b5a26c045be5cd73f22fe62
MD5 4d64b7a5d0b3bc3588fa22e36c3bcedf
BLAKE2b-256 a2c74e98615a9f7137729901591a1a1136b901b6d73f418776c917f8d5571ad2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xorbits-0.1.2-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.2-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 f69013a80c10285dfdcf92794675583f3096752d8cfefb22b3ef5f337b62d474
MD5 eb68acd3878da40a04a5623f48c3ed76
BLAKE2b-256 6567d3a64a4e6b69aa1e8e9deeb20df598d468ff92a35a2c0ccd6ae348504b80

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4cdd0f5bae3bfaefdc9e8ed74bee651fed40afe548defed52d3347fc055a8883
MD5 ded5ecf8f703ea7d086437e4b727f74b
BLAKE2b-256 85c392fef5102c641bf65dade4679ca19c7dba0758cfa5b2f1df5c5ffed05c74

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 49f4831f583b9678ee3c1d341e31a168c5cb321994ebe2d6f4e2b0b4b13aefd9
MD5 ca64f7eed32e206d8f824b3cda0bd1ae
BLAKE2b-256 f64e993fd77e2a1d6701ae379417e5caec41c090cf68a3db5d177cf012af863e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.1.2-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 52fe0f827918f21ee3a537c89d81642b3c747091b10835b46519fdbb518684b7
MD5 eee6364aca08d2e16679e4de3f4de0dd
BLAKE2b-256 2264c28463ec07e1968ba5007607cff850adcaa9eb2fdf82b8a5b8f6900f693c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.1.2-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 01e0d41856eb23b7dc82cb255981e56e60de0b54c6a62364ed5222a7922db174
MD5 7efc922f6d51ca4df6a3c07ba904b16d
BLAKE2b-256 ffbcc85694d51cda34ac1573e1e2258017c6a6f6461af7944b4a8dcb6d3691f5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xorbits-0.1.2-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.2-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 8291828fc2406306d94da260918a55de3fa52ab876c7e8ad46419eb8efc6eb75
MD5 d577b3d660e32973fa1119841730b6ad
BLAKE2b-256 2b4f1a3981d0123d9de962e7825c0ec0ddeee1d91c0fe584d5ee6110522c01bc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: xorbits-0.1.2-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.2-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 dcee035db616e0c8a59c7de07372e3091df41851c9174edbe31d804898b71d60
MD5 8475e4441ff9acb611431ef22ed930e6
BLAKE2b-256 3e0e6343b0c836931cfa678aabc5845e5e8751f1e84acdeea6c5ac7dbb96bd03

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cd1d32d4d3accc45184833ff71b1135fc041a57b98793b03bcd5cc228e8f5f6e
MD5 c2d23d7d9f4b70342e4fd770b5f27dbb
BLAKE2b-256 f9f55a09f4642f3eaf6c413cfa35e115675466dd9d1b45ba2968f8c342afbf0b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.1.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 97a68638d1645f6a23afd6d61e8670c674346b2a32ed4efd4c01f8dfd60fab49
MD5 f7e36ec31e083832c9befb02cb464961
BLAKE2b-256 3adf0d26970c6ec277b45ff755cbfd1e029d6498bae9c62528039103fbb85ed4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for xorbits-0.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2a1dd4df79feb8a6f96f7861c8dc4e13efe92b2d044b18298fa1b83a33dbfd28
MD5 7880271b7df835902946f5bf8c0cb437
BLAKE2b-256 52b4409b54ba6c69630f2135c31c68f04a74c64e70b004dbe81d1cc841c9445b

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