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 Beta
MacOS (Apple Silicon) ✔️

Storage compatibility

PyPI conda-forge
S3 ✔️ ✔️
LMDB ✔️ ✔️
Azure Blob Storage ✔️

Azure Blob Storage will be available on conda-forge as of 3.0.0.

Installation

Install ArcticDB:

$ pip install arcticdb

or using conda-forge

$ conda install -c conda-forge arcticdb

Import ArcticDB:

>>> from arcticdb import Arctic

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

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

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

Or create an instance on your local disk:

>>> ac = 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 Aug 31, 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-3.0.0rc2-cp311-cp311-win_amd64.whl (6.6 MB view details)

Uploaded CPython 3.11 Windows x86-64

arcticdb-3.0.0rc2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.2 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

arcticdb-3.0.0rc2-cp310-cp310-win_amd64.whl (6.6 MB view details)

Uploaded CPython 3.10 Windows x86-64

arcticdb-3.0.0rc2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.2 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

arcticdb-3.0.0rc2-cp39-cp39-win_amd64.whl (6.6 MB view details)

Uploaded CPython 3.9 Windows x86-64

arcticdb-3.0.0rc2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.2 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

arcticdb-3.0.0rc2-cp38-cp38-win_amd64.whl (6.6 MB view details)

Uploaded CPython 3.8 Windows x86-64

arcticdb-3.0.0rc2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.2 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

arcticdb-3.0.0rc2-cp37-cp37m-win_amd64.whl (6.6 MB view details)

Uploaded CPython 3.7m Windows x86-64

arcticdb-3.0.0rc2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.3 MB view details)

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

arcticdb-3.0.0rc2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.3 MB view details)

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

File details

Details for the file arcticdb-3.0.0rc2-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-3.0.0rc2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 eea9c563170a3226d1747d39a271114decd84ee413da5e4528fedbb92e7d51b8
MD5 dc50bdbf1356766583c01eba4191e087
BLAKE2b-256 0c152bef634bc833d0d321536f869b403f1f30fa5486e6b729a3f5a387b53d2d

See more details on using hashes here.

File details

Details for the file arcticdb-3.0.0rc2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-3.0.0rc2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d5f32b333ea8d5ca50badc0945b20c34c695c224ad6dea1df385574915efa63e
MD5 41238e66039e13f186c5e617381b33f0
BLAKE2b-256 f3ba43609d2b5c759147f8d37a46fbdc174badeb85ba0efce51f9896c32ecc0d

See more details on using hashes here.

File details

Details for the file arcticdb-3.0.0rc2-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-3.0.0rc2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 03ac8955a6402f559d906ca38c38b1e5bc577b79a9891df9d42911ae0ad3b473
MD5 0cc8979dac0c320561003c1c3606fad3
BLAKE2b-256 6d1e69095d08e19298d241eb730b4742819bd61767b459f1e18c50fba9a5069c

See more details on using hashes here.

File details

Details for the file arcticdb-3.0.0rc2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-3.0.0rc2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 40482a7cda8daeaa18df79bf30d0ba2ccdc5bbb186c9110b89c0dbef86581049
MD5 1a6fb61f04495c41a0ab75de83204921
BLAKE2b-256 fd13f7c1d272add138eb304e00b33d57796f185386818faa5fcea9ebca5610bb

See more details on using hashes here.

File details

Details for the file arcticdb-3.0.0rc2-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-3.0.0rc2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 92c757a8026cc2b71b12b43d4ce348ae62a81ebff6fbd15ac3b9bfee17affce7
MD5 a899b9444abf6308b4dcc99141264932
BLAKE2b-256 f4b504d9f282c7eb15e38a701733de5bc0385d8841d297c25b251646296e12bc

See more details on using hashes here.

File details

Details for the file arcticdb-3.0.0rc2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-3.0.0rc2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bbbdc50bc0f620cbe76454dfd75fed011b07ae905861b14527d738309fee8a2e
MD5 6f523a0cfdf4f28a71c79b23d5b7ac0a
BLAKE2b-256 5c6c8219f4cca34252cb989768ca18456e48fd0ffeb1c0990be1afcacaa7ebad

See more details on using hashes here.

File details

Details for the file arcticdb-3.0.0rc2-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-3.0.0rc2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 2df933d9cb191c1665bc90a04f8bc14caec1d450f42df99de3f48c5ab232bac4
MD5 7ce0ef57bb7b8d3be7e590c20218d51c
BLAKE2b-256 942f1f532a70f0eff576c6ec1baf16c7c80dd72891624e8b94cc0b68dd11be2e

See more details on using hashes here.

File details

Details for the file arcticdb-3.0.0rc2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-3.0.0rc2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 75da9ecce9be0617fd0252cd8b132b8692b00d4f71dc8003c1f202ea2a5c5933
MD5 7db1d96acc6778de5ee28083469b0be3
BLAKE2b-256 1da66b9ee09aef8f7da77a9f8fcebebacb7b20a9b4ecc637e3748508bb323c8a

See more details on using hashes here.

File details

Details for the file arcticdb-3.0.0rc2-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-3.0.0rc2-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 e745064da8117070c2e0cf9ca66272bed7005eb71a8020bcd871b745926c8d06
MD5 c36a34839efa59db4a7cb51dc55cfde5
BLAKE2b-256 f507065a44ac2c9cd0b346637734fb8f6aef0dd0d9982879b5596e963950d2b0

See more details on using hashes here.

File details

Details for the file arcticdb-3.0.0rc2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-3.0.0rc2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 069d7b8cbc0aaf76e1952e794e7f3f742215e322bcc7544b9e58a9eac776e20b
MD5 853179455ef0f210b4629824638f4ce5
BLAKE2b-256 ee9212358cbc700a13a049739b3c7bad8b8e7cb572296b5e4bf073bc7680c67b

See more details on using hashes here.

File details

Details for the file arcticdb-3.0.0rc2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-3.0.0rc2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 51045f1df09f7b1bc1b10f61e7b4cbd920708508f5392e15317a3d5eb4d7a917
MD5 d7abd1a3a7b0738d3f2bdda1a0f676a6
BLAKE2b-256 dbb5f28485347320bad41189989b4652a46ebb1dbf42d3a64b368db06461abfe

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