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 ✔️

Support for Azure Blob Storage in conda-forge is tracked in #519.

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

Uploaded CPython 3.11 Windows x86-64

arcticdb-3.0.0rc0-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.0rc0-cp310-cp310-win_amd64.whl (6.6 MB view details)

Uploaded CPython 3.10 Windows x86-64

arcticdb-3.0.0rc0-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.0rc0-cp39-cp39-win_amd64.whl (6.6 MB view details)

Uploaded CPython 3.9 Windows x86-64

arcticdb-3.0.0rc0-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.0rc0-cp38-cp38-win_amd64.whl (6.6 MB view details)

Uploaded CPython 3.8 Windows x86-64

arcticdb-3.0.0rc0-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.0rc0-cp37-cp37m-win_amd64.whl (6.6 MB view details)

Uploaded CPython 3.7m Windows x86-64

arcticdb-3.0.0rc0-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.0rc0-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.0rc0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-3.0.0rc0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 859fc9d7f4f226f1423f4b2df71029e1bbe8b008c6dc4670f5f6d2e21e350163
MD5 ee75e6f60db9657e264d754ac6bc5480
BLAKE2b-256 d4f7d23fc4b796db54007f3d515e03ce286f5e5ef8d6d5449c707d5e1ad82488

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-3.0.0rc0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b1c328ff2c1584e05c4164811ec86b05457740fdd3c2854221374ddae82b88fc
MD5 bdab0b5919698080c078a86a5d16163b
BLAKE2b-256 b61ad26a9c0c015ba24fbac89b551fc1f899915db83f61432b4f611016fdd6d4

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-3.0.0rc0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 09c4c231d0d232dde9dfe65ad5f11a75d3fdab5a48eda0330307afd62c6a001f
MD5 fc0809982832b9e9fb46176388aee84d
BLAKE2b-256 fe0aa67719959606bc897a6f6a0929bd943c613f2072904dae5917bf6fd12e51

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-3.0.0rc0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 07596bbd742c17610b929b19620cbae2f06709bccb5d0dcb8c9f8cc7e3b5452e
MD5 2ea37e38391153c20a7bc8f8928153a9
BLAKE2b-256 59da667ed9db6418b9e92b03a131ece0c1718d5cb9953af99bbe7ad6c0113cfd

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-3.0.0rc0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 44c7439b473035c387fdbf72bbb48fa609e4bf94b1dd524fdf1b03a7b959e312
MD5 c426c46182722422afb01a7444b90418
BLAKE2b-256 1d08cabe8fe3233554e551d6cc3f04dc1afa102e909f4ce4a6d715b9208879e9

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-3.0.0rc0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 80df7d429b12cce48ad9457b4964f0eb265d8df2bfd7ae44e949f04281004560
MD5 466ce07607d0886c0454991fee448c45
BLAKE2b-256 63eeaea38387d564790dbed7208021e0c575a96acdf2b1bf29c65b167598dc96

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-3.0.0rc0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 747eb7421ee39a41d8b9dbd6cd309547f3afc32d90e170bb5c434040842fe97b
MD5 f08622fa25f4f2c45ab650c21882bd20
BLAKE2b-256 dc24eab06e836bf1a21fe8980c86138c849999e2decf6b66f4692d6bf660a4fb

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-3.0.0rc0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8753d1a3d81e218af34fee001e0f409f193f944ab0c47b57647356c2569d3de0
MD5 54e2f78d72b5aa48724836e9ca61d9d3
BLAKE2b-256 b082ba477c1dc3242fc6092c2ea62933df62436dd9b891bdee7f748c7cd0bfc9

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-3.0.0rc0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 6644b3ef07394773e238d85f630ecc411c0c4467911c6683b3e4522c4fee492e
MD5 1b17768067cc96ee489adde1b58a57c1
BLAKE2b-256 aae7f72a468daa30549ff8e19a9ae267417a368049d921cfcea6cb1d651ee167

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-3.0.0rc0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 248c882d413268abff73a874f37a64b9a54d09f425a20c2fb23b1b62ae3be8f8
MD5 3b3fd2f82a54f7fa04ac8d877f476d0a
BLAKE2b-256 8ff98b830af93c592447f80fefacbac22980d531b1939242d8165f5c9f171928

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-3.0.0rc0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c26e1c0696a0c78888aff67c4d928edb73b314f003df48bae9f9026cfa59b4c7
MD5 c4563861910a938b0ab4e506f2ef05e7
BLAKE2b-256 8f26e947e65509c4b9fb1928ec6b9a3f9c2ce548b9e1c631265f2a0a3671bb9a

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