Skip to main content

ArcticDB DataFrame Database

Project description



ArcticDB Website | 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 ✔️ ✔️
Windows ✔️
MacOS Beta️

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 Licesne 1.1 Nov 1, 2025
4.2 Business Source Licesne 1.1 Nov 12, 2025

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

Uploaded CPython 3.11 Windows x86-64

arcticdb-4.3.0rc0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.7 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

arcticdb-4.3.0rc0-cp310-cp310-win_amd64.whl (7.0 MB view details)

Uploaded CPython 3.10 Windows x86-64

arcticdb-4.3.0rc0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.7 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

arcticdb-4.3.0rc0-cp39-cp39-win_amd64.whl (7.0 MB view details)

Uploaded CPython 3.9 Windows x86-64

arcticdb-4.3.0rc0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.7 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

arcticdb-4.3.0rc0-cp38-cp38-win_amd64.whl (7.0 MB view details)

Uploaded CPython 3.8 Windows x86-64

arcticdb-4.3.0rc0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.7 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

arcticdb-4.3.0rc0-cp37-cp37m-win_amd64.whl (7.0 MB view details)

Uploaded CPython 3.7m Windows x86-64

arcticdb-4.3.0rc0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.8 MB view details)

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

arcticdb-4.3.0rc0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.8 MB view details)

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

File details

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

File metadata

File hashes

Hashes for arcticdb-4.3.0rc0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e4b6bad3770eee9b8ad557f4f3706b60ca3df191b5009d329d995aedfc42cb20
MD5 268350dcd7fc7ec03359d46131e8a6c0
BLAKE2b-256 93db27dc411b29e602e5010fa82aab803d614e72f1f2ac5aa994b24513d42848

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-4.3.0rc0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 afeeed058888ea37748b6a147ba2ccf61bece6c5a5dec73560c626785a67b9c1
MD5 7b7d80c9094e13a46a89271dbdbab960
BLAKE2b-256 31924c715a674f0ebcdd394ade6024e150e0ee3375ae0a60f8aa82086a425226

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-4.3.0rc0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 80f0fec2daa5e36fba62b9c78b889f24bf9eca0426199c99339a3622852a3bad
MD5 eadbe20b2680822db85b9c08ebbf10a3
BLAKE2b-256 7ea09095c6d99358f1565b0bea9174870cb6a47285aafe6c6ab1c36f799dff9f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-4.3.0rc0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 72d4895dc9d7035ca986da4fe27caa19fc2861bbe900366c3371757d975f5333
MD5 b56ba290e5191068d8e60c1f875917df
BLAKE2b-256 6d4729f62f9e0f79460dcbbaa15eb0d96a7f77e4b62598ad88836cb8561d2b2c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-4.3.0rc0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 a9cf0993372a3dfdfb3e6cf2fe23630527704adf893608a35953744f3a834501
MD5 32aae38e45e79296a347a92bf26dd14f
BLAKE2b-256 aa667e6e554ffada420a4554ebf032c8facf98c540e2f7457b81e63a20ca270d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-4.3.0rc0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 087aaa856c7f2bc3f16d57783fe9264befe777b93b934a96f2fd544e62bd6ed6
MD5 b775a937b4d3f4b1e9bc65ce41c9cb95
BLAKE2b-256 43943165e524efbc9bcf1a678e6df383b65f8090e6f1630ebbdb12183ecebd35

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-4.3.0rc0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 58c9b7892593b2f95e649c4994d4ac460491e5b8e5efe2f478146657d52baef1
MD5 d04c346eb4eb7cfb65116a5e4c94c9b2
BLAKE2b-256 cb95d36d431b4f81ae14d285828741d950766b1d4175929a38562df946ed7bc7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-4.3.0rc0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 62ab3ede0e9c540b14faccc8e4f26d80a8699307fe948faf79c315129d5755f6
MD5 c6cc98ac53eb8476b66918350e8b01c2
BLAKE2b-256 2c1ff89d14ecd68d5b7aa3d91731ad755e02a5c7983c8d1507f3ef2a32905338

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-4.3.0rc0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 99cad7c825b29b819f9f42a1759bec06cab32f5301682efe554eb5315c98e033
MD5 9b440c2fa24469595dda4cc85da568b6
BLAKE2b-256 472ff3c814506a5955f751d27474aa9d53bfe5caddf163b9363c56b4d32ac23d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-4.3.0rc0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6bbef0d848470527e2864bfd89f89c45e6a81b5a5b2a96539418a7fb4629a6ad
MD5 ea0ebad5ce04adcdd15ca36f43dee256
BLAKE2b-256 8ae327dc01ab07c119c20e55a0a213a1f1d84e2b08e20db5bc587fa77ae89b9b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-4.3.0rc0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d9cbb53cb69938890a74eab9dea1f4e2b18183dfc5808326aaf96e0ea18255d7
MD5 79355bcaa9795738d99a0ef665916016
BLAKE2b-256 258beec5b45f26fdc40fd713149690c8b60b9979973dcfedbdb77b1709090651

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