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

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.0.0rc1-cp311-cp311-win_amd64.whl (7.0 MB view details)

Uploaded CPython 3.11 Windows x86-64

arcticdb-5.0.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.6 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

arcticdb-5.0.0rc1-cp310-cp310-win_amd64.whl (7.0 MB view details)

Uploaded CPython 3.10 Windows x86-64

arcticdb-5.0.0rc1-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.0.0rc1-cp39-cp39-win_amd64.whl (7.0 MB view details)

Uploaded CPython 3.9 Windows x86-64

arcticdb-5.0.0rc1-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.0.0rc1-cp38-cp38-win_amd64.whl (7.0 MB view details)

Uploaded CPython 3.8 Windows x86-64

arcticdb-5.0.0rc1-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.0.0rc1-cp37-cp37m-win_amd64.whl (7.0 MB view details)

Uploaded CPython 3.7m Windows x86-64

arcticdb-5.0.0rc1-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.0.0rc1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.7 MB view details)

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

File details

Details for the file arcticdb-5.0.0rc1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-5.0.0rc1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a81fb8492652b2a6056731065eef9ad22ad27aa553550a2115d3a4628fc077d4
MD5 e9ec09c4b9583431fd61a2d9f466b6d3
BLAKE2b-256 0839d020a2240c019b0e019052da3780d7e2142d5bd0d688f12466e1a014853e

See more details on using hashes here.

Provenance

File details

Details for the file arcticdb-5.0.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-5.0.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 604bf5db62f924de495b64f13976182ea7ab5d9d0114b76f4d96a80ad0491228
MD5 503d8d6029da37892ab5302c037eb56e
BLAKE2b-256 74980a12fc4a8c95bfda8da5ca3b268eea0a16a695a301b9d8010087ff0587ef

See more details on using hashes here.

Provenance

File details

Details for the file arcticdb-5.0.0rc1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-5.0.0rc1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e81a0626b0da018d6705b6efcd74e8fe8fe61249bdb548e8a29512b4e6fbf82d
MD5 62d91f70ec1e81feb78bd321604d2cea
BLAKE2b-256 5eea179f2122f123ac9913d142193a2d0dc345958f6ac0021e38a56c576187d1

See more details on using hashes here.

Provenance

File details

Details for the file arcticdb-5.0.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-5.0.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0705ae5b987bd658395263e49cdd568aa3a49c1acaf3f53fc0b65b47405ce0ea
MD5 251a5ba0fec6c76d6fa9ae62eab7bc93
BLAKE2b-256 9d29574a013eff40a84bc35d571be56e2c3d8804ebda99f129d6bed8f3eec174

See more details on using hashes here.

Provenance

File details

Details for the file arcticdb-5.0.0rc1-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-5.0.0rc1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 4f2664485daf4bb2948175461467d6b5f6d449d0fe7c543cd2251f77f039bc77
MD5 ccace6f587028818a0931822c85f55fd
BLAKE2b-256 7733eebeccf7b909713b759f8685ff228dba51ee16811a93969ecd1f4ec4fb51

See more details on using hashes here.

Provenance

File details

Details for the file arcticdb-5.0.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-5.0.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 998a6e21835cc3e60b9167cf6601d513d05f6e48b4d1427492bf6469783f2754
MD5 54324d46d045694af7b29cb1679e0c72
BLAKE2b-256 b4ccb5726c65d9d06b168cb1850211b6301988300351222455848a1e7974fd77

See more details on using hashes here.

Provenance

File details

Details for the file arcticdb-5.0.0rc1-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-5.0.0rc1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 f5de5cd367cf667c15741780e3734eb49d6d68806b1c15af085e3699a244a093
MD5 ec99705488b9c25dbe2bc5b0d4d861a5
BLAKE2b-256 30434b56a46e065ce8e6e5af9ef32c69029279cab719b35e41a556e3a58fcc5a

See more details on using hashes here.

Provenance

File details

Details for the file arcticdb-5.0.0rc1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-5.0.0rc1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8f829224c53340b4ba797e7af1cd6fd31b232a15f8b36f15ce96d5575205f735
MD5 7ae462dc9040d16e5ce09c361c4b9043
BLAKE2b-256 2641f32a7201f48289f0d154b9e861274b24b67cce1a3beb91c210239667908b

See more details on using hashes here.

Provenance

File details

Details for the file arcticdb-5.0.0rc1-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-5.0.0rc1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 a86b795cbc66b17e1e8f43105217f82b92e1eb4501dd9da3677f31062dc1b672
MD5 1ac69e0c7db4f45e4641fba6402c6ef2
BLAKE2b-256 743f904eb877b4902e46345bd42d4c81814396ea992c545e2619ddc4e7c7321e

See more details on using hashes here.

Provenance

File details

Details for the file arcticdb-5.0.0rc1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-5.0.0rc1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 602158e2910f161bb72a2b274d0b876d3694a3bd4cfeb1cedcf5e7884b89db80
MD5 46b47e093fc6b6c6c079f05da4814ba6
BLAKE2b-256 7886a3e66a5e53e82f4d63e3597863d515706408429fd1f3756d670f86f70bc7

See more details on using hashes here.

Provenance

File details

Details for the file arcticdb-5.0.0rc1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-5.0.0rc1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0a4ffe617bfa48d8e0d1d12cbaf97665fd7f85dc07847afeecf7e0ab24cae308
MD5 2045f67c992dce239c35183d4e109554
BLAKE2b-256 616a9a168c588566dd47af3acf5fb165c6dc1c7d5213911ba14499200fea61f5

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