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
  • VAST Data S3
  • Pure Storage S3
  • Ceph
  • MinIO on Linux
  • Scality S3

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 Sep 13, 2025
4.0 Business Source License 1.1 Sep 27, 2025
4.1 Business Source Licesne 1.1 Nov 1, 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.2.0rc0-cp311-cp311-win_amd64.whl (6.8 MB view details)

Uploaded CPython 3.11 Windows x86-64

arcticdb-4.2.0rc0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.6 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

arcticdb-4.2.0rc0-cp310-cp310-win_amd64.whl (6.8 MB view details)

Uploaded CPython 3.10 Windows x86-64

arcticdb-4.2.0rc0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.6 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

arcticdb-4.2.0rc0-cp39-cp39-win_amd64.whl (6.8 MB view details)

Uploaded CPython 3.9 Windows x86-64

arcticdb-4.2.0rc0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.6 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

arcticdb-4.2.0rc0-cp38-cp38-win_amd64.whl (6.8 MB view details)

Uploaded CPython 3.8 Windows x86-64

arcticdb-4.2.0rc0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.6 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

arcticdb-4.2.0rc0-cp37-cp37m-win_amd64.whl (6.8 MB view details)

Uploaded CPython 3.7m Windows x86-64

arcticdb-4.2.0rc0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.7 MB view details)

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

arcticdb-4.2.0rc0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.7 MB view details)

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

File details

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

File metadata

File hashes

Hashes for arcticdb-4.2.0rc0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 58e663b862bdb664ea366292e2a51fa8df0174976856fd6b3ed8a71100498dce
MD5 15901bc2656928935d6e2eff47e4a4ae
BLAKE2b-256 9985ca062f778022099ce662d9c311a9a44ad368efe2e176f92e49fdc1d33177

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-4.2.0rc0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1cdb89e099a7885c4f9be60559741fb69faa81aa1ede02355de00a7dbebbd909
MD5 249eeac2232eb2b92dbceea940246bf0
BLAKE2b-256 8902c8be0a99eb7068793dc216728b66407bf957a308b564c98ba3da2d1c6503

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-4.2.0rc0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 f4e53f12bd7f6ce8c4d3a9af1de88cca967771c9fc1f02db1e02d5a0e1f770f5
MD5 ba37a4b9100cb6cc237b91bbaa25111e
BLAKE2b-256 16cdb8d3e290280c8bf5344b1d5c8b9862b8a7fa362f8f87ef7e9c33d100373e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-4.2.0rc0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ddde8ecc5ec2349d4378edfde5803a642ed3914846955a975c3ce89a36421264
MD5 b5902e55deac073bd67e86ea997c0c3e
BLAKE2b-256 34937fb4a9cf22c7e7c933d2283cc68296941c1d13b179243df40d18f678328c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-4.2.0rc0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 cf5703a7187aec9fffc41164fe163a62ef295c307ff0bdcfc0c25e823e5253b4
MD5 fef888e66ea4506b8a0ed1b44f2a2e87
BLAKE2b-256 c5aabb462901c657e29395e1cae2287e3246dd16d7048abfce4676b8447f6948

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-4.2.0rc0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 48fa7d4564c3e2da621977b576b92b04716975fe77ff13c4d1b46d347bc636ae
MD5 86e89968942558d8e4105425d0531099
BLAKE2b-256 e16c39875307f3817ede27c9516c1d87752c2480937d9326787e4b63f1e1d225

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-4.2.0rc0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 9150ceb69d45c7b2af9afbd32390b34cf62c51768a77462f19250d7d3a3a5526
MD5 772dae6217097d80ac3f5087b311a942
BLAKE2b-256 65327070d28d34c648c77a617a233f93f94f517db71f3e2f7f870f81fe22edf9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-4.2.0rc0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5dea428433bb25d1f2af7537d7cdcc20c91baa06c710c23fe471613383ab9fef
MD5 19b67fc7e03b466cb8e28c4bce857f69
BLAKE2b-256 8097355d20a133877ab1f4d8e4edd10c69894ba4006985d05650a3c091f6de24

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-4.2.0rc0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 e1d02ed2a8a2e3833118ae427c536bde2e17475582dbdb09177c71bc5720268c
MD5 70c3c2b58c2452df9e07314dbebf8fda
BLAKE2b-256 6a07c8ccb07d2325c8d3870a479c732fc69420f6c0793031af6edef712df5ce3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-4.2.0rc0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bab20a23f3c2573841310ef1427a651138d219d95dc67001e2e32ce46b90422c
MD5 7e426ad8603f5bd30f4e4b59217f4db9
BLAKE2b-256 9dd4bb48ce182a117c11d7341a8936bb286add43764d7075941926010d85ea3e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-4.2.0rc0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0e719558ea7385585451bafa8f1d4c169cdb75dc3b3410ada069bd386b1354af
MD5 52df60fb2c73613b42428dff6fba9088
BLAKE2b-256 23692018a27fc7a987a7647bcc067972c2b088b76cc1967ae4eb44c6f970d4e4

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