Skip to main content

ArcticDB DataFrame Database

Project description


Three minute ArcticDB demo from PyQuantNews

Options data in ArcticDB

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
4.5 Business Source License 1.1 Aug 14, 2026
5.0 Business Source License 1.1 Oct 31, 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-5.1.0rc0-cp311-cp311-win_amd64.whl (7.2 MB view details)

Uploaded CPython 3.11 Windows x86-64

arcticdb-5.1.0rc0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.7 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

arcticdb-5.1.0rc0-cp310-cp310-win_amd64.whl (7.2 MB view details)

Uploaded CPython 3.10 Windows x86-64

arcticdb-5.1.0rc0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.7 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

arcticdb-5.1.0rc0-cp39-cp39-win_amd64.whl (7.2 MB view details)

Uploaded CPython 3.9 Windows x86-64

arcticdb-5.1.0rc0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.7 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

arcticdb-5.1.0rc0-cp38-cp38-win_amd64.whl (7.2 MB view details)

Uploaded CPython 3.8 Windows x86-64

arcticdb-5.1.0rc0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.7 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

arcticdb-5.1.0rc0-cp37-cp37m-win_amd64.whl (7.2 MB view details)

Uploaded CPython 3.7m Windows x86-64

arcticdb-5.1.0rc0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.8 MB view details)

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

arcticdb-5.1.0rc0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.8 MB view details)

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

File details

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

File metadata

File hashes

Hashes for arcticdb-5.1.0rc0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9d6773824899a7119ecd7109c802406892ebfa2c048e52636df312364f0ef95a
MD5 74399c99e9f4e3f4d09fac33e8908f9b
BLAKE2b-256 3342e6229c0ec472131e9a3c400eac9baff65e8159d66b774b8ea64b4e3f99ba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-5.1.0rc0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 63172e7bdd65e4adfa72d4dd4b3a9907da442a67c44542ab5e82329fa1892840
MD5 2084dbb5a1460896443fd847d86265fe
BLAKE2b-256 de5ee7414ca367f8a94d1a49f05d08ce1f2a49c48ae45aba85b1b6d26470963a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-5.1.0rc0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c66f4a6a0d97869a167305dcb3f7721a17ed31841647a7a1a38c6a6fa880e86d
MD5 923324c12fea7807fad7a0f5a76eaaa5
BLAKE2b-256 2926842679a043722046f3cb3dd6db5407053ddd2a048beb5fb2d9f770666da9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-5.1.0rc0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c0446300e5888f5681ef4c610716b19cf2a9943558355a4cc7b972ced8978aa1
MD5 34756e84431fb0d013135e3d0794ff53
BLAKE2b-256 bacffd7e12ddddbc8cd1583b64eaff953b869adde34f94b6413e29968b1efa18

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-5.1.0rc0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 50aa3963d42b7b1b4134a6dd26e8f07814de2181c917fc44938db92ef485cac0
MD5 1120c58a44ff6373b6a2cfaa2373c47d
BLAKE2b-256 6869356939de3bc511ee25422f9263e2e874bdbeacda3726d43ca522a2cd6df9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-5.1.0rc0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 86a84dcfad4383142a5cf64a497af8a8385567f1fe20dd7f6df23c787dbcfcec
MD5 e274e272fbeafe289ffb5c818ce5c827
BLAKE2b-256 22c4da3282a77642492d07384ddc480f322df3802d83a545fe6e9bc3a6765e06

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-5.1.0rc0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 b3e3c52b5e6c17c5cc016bf7672bc3f9318652eb5b0de6816e460d6c0d4df27b
MD5 9566e935a3aaf3283ba6fb22d2ca0955
BLAKE2b-256 b6afc56a9f45f3c754a972ef2df179f0589de0732cf9645178ea9b158ab61ce4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-5.1.0rc0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 41a8cbfbe4bbde556d30cf1e554c8007dfbfda1ee4bbbd4450be3e86c33b5e11
MD5 47379a4f5e61d8a63bec547a15a72bc7
BLAKE2b-256 ba055038373af7a7fe7d289f2561c5dbf7c8ba01f767994ce923c9aeb6b97a28

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-5.1.0rc0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 3c81ad0e796afe868a640344bac08d99d4c22546e51fb1f212cec7647c2cfd65
MD5 88af61884335b49f95b7166c011dc705
BLAKE2b-256 6034393ad79529a315499aeb5475353c0b725ad7318e3a7d5f4f9061c7d52fc7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-5.1.0rc0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e4f52a26f4fdf889819c3501790aef3525b196cbde8b7e411e0ad55879a467f5
MD5 a28a45a143d9e0e7eeb6088a2d68732b
BLAKE2b-256 2e2f9d9e7d02e4f77371b047a05d0e3d957bdd33baaf2398e4f6c9487172f90c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-5.1.0rc0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8331892c5b30d95ccef16ee63cfcce55980617ccc645f33f6c2cc256b5ae2ba4
MD5 b711368ab299af9258ffda80d2f6900e
BLAKE2b-256 efb5cee6415d4912e12d6c2a781364db57a7ff9ff6fb2cf9388b484174b39c23

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