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

Uploaded CPython 3.11 Windows x86-64

arcticdb-4.5.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.1 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

arcticdb-4.5.0rc1-cp310-cp310-win_amd64.whl (6.7 MB view details)

Uploaded CPython 3.10 Windows x86-64

arcticdb-4.5.0rc1-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.0rc1-cp39-cp39-win_amd64.whl (6.7 MB view details)

Uploaded CPython 3.9 Windows x86-64

arcticdb-4.5.0rc1-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.0rc1-cp38-cp38-win_amd64.whl (6.7 MB view details)

Uploaded CPython 3.8 Windows x86-64

arcticdb-4.5.0rc1-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.0rc1-cp37-cp37m-win_amd64.whl (6.7 MB view details)

Uploaded CPython 3.7m Windows x86-64

arcticdb-4.5.0rc1-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.0rc1-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.0rc1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-4.5.0rc1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 803c5c506c5b5f2f60aae5f9298a1b4aaf4f687c04ce1cb801b93e707d7e89e4
MD5 2132bbcba36205bf05f47cfcd3bd552e
BLAKE2b-256 e326687ac714ef596906f3a9d02ab63c452c2235cdf4e84d2dc051e1f679f121

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 57d90e6b0acc952fc6ef79be6d9fdcf79de89d0c680957fe88f6cabb0be5d0f4
MD5 3b57daace7c843efc7dee337222eaa2a
BLAKE2b-256 b70c30771ea17f8e48bd1d09cc690b0812b788ab12983b8739d1bf24c907e054

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.0rc1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2adf85ca4286f7f6d43c5da0303f2d2a5d421e7c871cd37847acdfc4d2fb5b90
MD5 a0ba57f17c45534d77bc25353bd918c5
BLAKE2b-256 3219eb62d98c3656024711408f0498dd3ec23e93abcf4dd822c6b4ea90db9b5c

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 09195bea29f891e84c3efe2d0c4d7908838b4036098368e9418d64331b104bd1
MD5 59ff7f6478afd029a4ee8c4e0552247e
BLAKE2b-256 b3cdf84afbf510b711280174ef12965f64f5e1da6c44cbd0dc2fbed9daeb7a09

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.0rc1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ddf6533b398d75226172e5297e6935872571a23bceb52b21676139c309d6ab0f
MD5 d95914cc0e87c235dec8a85a0ea5e8dd
BLAKE2b-256 554945a810179350b4945a155637d8a049111443345653d8bf2e8eb1587bd7db

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1aa18dba1b35cddf0215b4301de1afae3212ce4a817260ddf43884fc4f979d65
MD5 3e9f1cf31ca09ecb33262b69c7d0b71e
BLAKE2b-256 e02d3a6b6387ffe48dae54dc2abd8816ed4253fb579c6562899fb7999de2eabe

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.0rc1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 d2897f1494f655a4306d2e38cf227a03e039e4e261fb492819e9edfa88ba6bde
MD5 9b02a921229d7b57d20b991641e4e246
BLAKE2b-256 ec0e4ef4b06c3f30298c02bd6aab495bcf9849f7b1ef268d32491f5bb0b92ce6

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.0rc1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 889b7b436f1e45109fa5c45e0481cf166708dd6b5a5165af78a2ecd69a17caf9
MD5 022afc8396379fef17737a7602b03290
BLAKE2b-256 686369b9891f5c4c5de28ecbb6633e38f906f8cf32e52896f2ed1bb89fadc8cc

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.0rc1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 a694b81e0674e0e178919b23bcf275483d4494197f610c2ba22eebfad8145659
MD5 243481108d5f76fd12e254aba72dd531
BLAKE2b-256 012acc23bab07d8f16c42aaac668503b7a7db2c473de03a7de5e0c137d38c5d9

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.0rc1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8250013ae808fe0d90bc0dcaeffd31907d3f3aa0960807dbe37583b993fecbf5
MD5 b41345c12dfa66332733771d82505048
BLAKE2b-256 982d24738459c67876ea0a4361ec392c00dd46a76ad3f386e3964ec147860411

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.0rc1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 879539e51857453636453d18dafa9d9389dbb7452c32db04f3abe8c9a011745b
MD5 2c06e3327209e753b6b446209f0f769a
BLAKE2b-256 a0c0f71fc1c310be896933a56e6f0410cc7923c6afccda310e72af3901486311

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