Skip to main content

ArcticDB DataFrame Database

Project description



ArcticDB Website | 📘 ArcticDB Docs | 📰: ArcticDB Blog | Press Release | Press Release | Community


ArcticDB is a high performance, serverless DataFrame database built for the Python Data Science ecosystem. Launched in March 2023, it is the successor to Arctic.

ArcticDB offers an intuitive Python-centric API enabling you to read and write Pandas DataFrames to S3 or LMDB utilising a fast C++ data-processing and compression engine.

ArcticDB allows you to:

  • Pandas in, Pandas out: Read and write Pandas DataFrames, NumPy arrays and native types to S3 and LMDB without leaving Python.
  • Built for time-series data: Efficiently index and query time-series data across billions of rows
  • Time travel: Travel back in time to see previous versions of your data and create customizable snapshots of the database
  • Schemaless Database: Append, update and modify data without being constrained by the existing schema
  • Optimised for streaming data: Built in support for efficient sparse data storage
  • Powerful processing: Filter, aggregate and create new columns on-the-fly with a Pandas-like syntax
  • C++ efficiency: Accelerate analytics though concurrency in the C++ data-processing engine

ArcticDB handles data that is big in both row count and column count, so a 20-year history of more than 400,000 unique securities can be stored in a single symbol. Each symbol is maintained as a separate entity with no shared data which means ArcticDB can scale horizontally across symbols, maximising the performance potential of your compute, storage and network.

ArcticDB is designed from the outset to be resilient; there is no single point of failure, and persistent data structures in the storage mean that once a version of a symbol has been written, it can never be corrupted by subsequent updates. Pulling compressed data directly from storage to the client means that there is no server to overload, so your data is always available when you need it.

Quickstart

Prebuilt binary availability

PyPI (Python 3.6 - 3.11) conda-forge (Python 3.8 - 3.11)
Linux (Intel/AMD) ✔️ ✔️
Windows (Intel/AMD) ✔️
MacOS Beta️

For conda-forge see the release-info.

Storage compatibility

Linux Windows Mac
S3 ✔️ ✔️ ✔️
LMDB ✔️ ✔️ ✔️
Azure Blob Storage ✔️ ✔️

We have tested against the following S3 backends:

  • AWS S3
  • Ceph
  • MinIO on Linux
  • Pure Storage S3
  • Scality S3
  • VAST Data S3

Installation

Install ArcticDB:

$ pip install arcticdb

or using conda-forge

$ conda install -c conda-forge arcticdb

Import ArcticDB:

>>> import arcticdb as adb

Create an instance on your S3 storage (with or without explicit credentials):

# Leave AWS to derive credential information
>>> ac = adb.Arctic('s3://MY_ENDPOINT:MY_BUCKET?aws_auth=true')

# Manually specify creds
>>> ac = adb.Arctic('s3://MY_ENDPOINT:MY_BUCKET?region=YOUR_REGION&access=ABCD&secret=DCBA')

Or create an instance on your local disk:

>>> ac = adb.Arctic("lmdb:///<path>")

Create your first library and list the libraries in the instance:

>>> ac.create_library('travel_data')
>>> ac.list_libraries()

Create a test dataframe:

>>> import numpy as np
>>> import pandas as pd
>>> NUM_COLUMNS=10
>>> NUM_ROWS=100_000
>>> df = pd.DataFrame(np.random.randint(0,100,size=(NUM_ROWS, NUM_COLUMNS)), columns=[f"COL_{i}" for i in range(NUM_COLUMNS)], index=pd.date_range('2000', periods=NUM_ROWS, freq='h'))

Get the library, write some data to it, and read it back:

>>> lib = ac['travel_data']
>>> lib.write("my_data", df)
>>> data = lib.read("my_data")

To find out more about working with data, visit our docs


Documentation

The source code for the ArcticDB docs are located in the docs folder, and are hosted at docs.arcticdb.io.

License

ArcticDB is released under a Business Source License 1.1 (BSL)

BSL features are free to use and the source code is available, but users may not use ArcticDB for production use or for a Database Service, without agreement with Man Group Operations Limited.

Use of ArcticDB in production or for a Database Service requires a paid for license from Man Group Operations Limited and is licensed under the ArcticDB Software License Agreement. For more information please contact arcticdb@man.com.

The BSL is not certified as an open-source license, but most of the Open Source Initiative (OSI) criteria are met. Please see version conversion dates in the below table:

ArcticDB Version License Converts to Apache 2.0
1.0 Business Source License 1.1 Mar 16, 2025
1.2 Business Source License 1.1 May 22, 2025
1.3 Business Source License 1.1 Jun 9, 2025
1.4 Business Source License 1.1 Jun 23, 2025
1.5 Business Source License 1.1 Jul 11, 2025
1.6 Business Source License 1.1 Jul 25, 2025
2.0 Business Source License 1.1 Aug 29, 2025
3.0 Business Source License 1.1 Sep 13, 2025
4.0 Business Source License 1.1 Sep 27, 2025
4.1 Business Source License 1.1 Nov 1, 2025
4.2 Business Source License 1.1 Nov 12, 2025
4.3 Business Source License 1.1 Feb 7, 2026
4.4 Business Source License 1.1 Apr 5, 2026

Code of Conduct

Code of Conduct

This project has adopted a Code of Conduct. If you have any concerns about the Code, or behaviour that you have experienced in the project, please contact us at arcticdb@man.com.

Contributing/Building From Source

We welcome your contributions to help us improve and extend this project!

Please refer to the Contributing page and feel free to open issues on GitHub.

We are also always looking for feedback from our dedicated community! If you have used ArcticDB please let us know, we would love to hear about your experience!

Our release process is documented here.

Community

We would love to hear how your ArcticDB journey evolves, email us at arcticdb@man.com or come chat to us on Twitter!

Interested in learning more about ArcticDB? Head over to our blog!

Do you have any questions or issues? Chat to us and other users through our dedicated Slack Workspace - sign up for Slack access on our website.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

arcticdb-4.5.1rc0-cp311-cp311-win_amd64.whl (6.7 MB view details)

Uploaded CPython 3.11 Windows x86-64

arcticdb-4.5.1rc0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.0 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

arcticdb-4.5.1rc0-cp310-cp310-win_amd64.whl (6.8 MB view details)

Uploaded CPython 3.10 Windows x86-64

arcticdb-4.5.1rc0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.1 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

arcticdb-4.5.1rc0-cp39-cp39-win_amd64.whl (6.8 MB view details)

Uploaded CPython 3.9 Windows x86-64

arcticdb-4.5.1rc0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.1 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

arcticdb-4.5.1rc0-cp38-cp38-win_amd64.whl (6.8 MB view details)

Uploaded CPython 3.8 Windows x86-64

arcticdb-4.5.1rc0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.1 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

arcticdb-4.5.1rc0-cp37-cp37m-win_amd64.whl (6.7 MB view details)

Uploaded CPython 3.7m Windows x86-64

arcticdb-4.5.1rc0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.2 MB view details)

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

arcticdb-4.5.1rc0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.1 MB view details)

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

File details

Details for the file arcticdb-4.5.1rc0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-4.5.1rc0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f7d83d64fed10ad8ec7040df7cbbb2c95458fec75d30b0b362a1b3469eda4467
MD5 22ad38e3980a17f3f60369b34001c53c
BLAKE2b-256 9d8f981d1a1ff11767d17ce7d48fd310e8cf5f306af70b5a8f9b66e39173aea0

See more details on using hashes here.

Provenance

File details

Details for the file arcticdb-4.5.1rc0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-4.5.1rc0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f43051735f3ce725323c2b1f17433c036999c00f6412b5e0146da79fbde42756
MD5 52db813cf2a1d455bbcbd0489f743157
BLAKE2b-256 3d35c46d0c577f8a7f5e17a3b04be311ee1efc10fb48dab35cabbfa8611af299

See more details on using hashes here.

Provenance

File details

Details for the file arcticdb-4.5.1rc0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-4.5.1rc0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 52b3a341b8c198f5fef44a4f753301eceb41cfc6464bc1f9a3877890546ac0b9
MD5 cc7fcf9872ea6d294fa5acb16adee840
BLAKE2b-256 fb0e5e0585ae737154ddecb36630223beb80da1021a59fc4f16c40b1a890568b

See more details on using hashes here.

Provenance

File details

Details for the file arcticdb-4.5.1rc0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-4.5.1rc0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 166c645934d0275053d9e9c54736049cb3f2c86e43a494a071f6c6efda65bc7d
MD5 6519b0bee18b084cb5780f5e70fe797e
BLAKE2b-256 a73163e3519e26ee8d35b790227ce0a8381f1316dfbef38e9e0e72335a18f778

See more details on using hashes here.

Provenance

File details

Details for the file arcticdb-4.5.1rc0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-4.5.1rc0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 0284170d3f17d24e5847e2655e13befdd3736f1ea87cefb9ca3d46b7b3ba77ac
MD5 e83ca8559e0578100d4f5cf7f7bb8762
BLAKE2b-256 b7d4ca36ecee052021a209f2185c52b917506d827a88ce07b08b94b2b6a6824c

See more details on using hashes here.

Provenance

File details

Details for the file arcticdb-4.5.1rc0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-4.5.1rc0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ca519cdad412065c434ce46b0eba2c3155d565124d20d85e6776c680e7dbf008
MD5 625a407d0da6f1528a3e437e3d6c3832
BLAKE2b-256 245e3d9e886a78310c152641008975da8c632370ab2c203f46509d5d2356f132

See more details on using hashes here.

Provenance

File details

Details for the file arcticdb-4.5.1rc0-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-4.5.1rc0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 1db73d18822e43b609d3f2a64823b195d0fe6d234e260488cc7166bd32c8a237
MD5 c4beca795854ee0a996e590cff4b5793
BLAKE2b-256 8a7c2b71c16d5dcf5a7461a6479672ca1547c579ddc8d19ed7aeea03e0c9d856

See more details on using hashes here.

Provenance

File details

Details for the file arcticdb-4.5.1rc0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-4.5.1rc0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3d14b3b52aeb79088661dc170c5f4dca84bc2b2f6c7b2cfe11b3ad6535da3a9d
MD5 e8a1c8a3d36766c2f4478a3d176c290c
BLAKE2b-256 c177e7ad27ea87a826ddd18526ddc4a802f9d085c975e85c6939d4dfe09295a7

See more details on using hashes here.

Provenance

File details

Details for the file arcticdb-4.5.1rc0-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-4.5.1rc0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 f11b4b498dcd69cbab34c9cf89e7676d3e468edfbc5ce1f671ab1cfd7ec18f2c
MD5 cf847c2d30af6e9e2ec9edcab28ef38f
BLAKE2b-256 34ff176733d1ea6efaaa87f644ac93be037ee7bdc7e845e0a62b881ab6d2c91c

See more details on using hashes here.

Provenance

File details

Details for the file arcticdb-4.5.1rc0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-4.5.1rc0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c3d0ca3db9dd10caf118da48962ebf9c5b8fd03f87015ef68a5dee9cd9aad9a1
MD5 decc1d7dd0026ed51b6691e54316100f
BLAKE2b-256 fa6462d545a6f5cc584d56c6d2e992d9e4e2d6d21cdc72804967859683c9252e

See more details on using hashes here.

Provenance

File details

Details for the file arcticdb-4.5.1rc0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-4.5.1rc0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3f54d6dc00e7ae99682d9ec55718d8e54871c59006258ff8c0fd8ef316317925
MD5 15b535313c6a8ac76e454d85ce1ecda9
BLAKE2b-256 7d41f3a10f83e98fe45f33ad8ae004552d6483c4da1c820dfce5366c3f132a45

See more details on using hashes here.

Provenance

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