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

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

Uploaded CPython 3.11 Windows x86-64

arcticdb-1.6.1rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.9 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

arcticdb-1.6.1rc1-cp310-cp310-win_amd64.whl (6.5 MB view details)

Uploaded CPython 3.10 Windows x86-64

arcticdb-1.6.1rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.9 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

arcticdb-1.6.1rc1-cp39-cp39-win_amd64.whl (6.5 MB view details)

Uploaded CPython 3.9 Windows x86-64

arcticdb-1.6.1rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.9 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

arcticdb-1.6.1rc1-cp38-cp38-win_amd64.whl (6.5 MB view details)

Uploaded CPython 3.8 Windows x86-64

arcticdb-1.6.1rc1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.9 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

arcticdb-1.6.1rc1-cp37-cp37m-win_amd64.whl (6.5 MB view details)

Uploaded CPython 3.7m Windows x86-64

arcticdb-1.6.1rc1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.0 MB view details)

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

arcticdb-1.6.1rc1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.0 MB view details)

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

File details

Details for the file arcticdb-1.6.1rc1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-1.6.1rc1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b59fa796ffe4e0b1832f3766208481e0e4d864377229347c99e698e400f972a8
MD5 53d9bfb41258234b1129a311b487fb11
BLAKE2b-256 b2529e4ced98b31030eecc620ada6b02f730585ffbb3afe9519f54aef6bcca57

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.1rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d8ce442a4d29cae5ad4ade7eb0282b13f0bfc0eb8ae0bcb42859b8119b5e58c6
MD5 47defda4c975407c8a30a34a5996fe62
BLAKE2b-256 4e470f4ce1f3e4224ed8b3f8994b8d44b24451e7c3f7d1c53cfc0885d1986751

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.1rc1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ae557231b6eb5df8d7d7264acfa11f8107a1386857ef22ab840a78e1797b0041
MD5 63e688d6c337745e1233d9a08156aed6
BLAKE2b-256 bddfab39178ae52e458319ea18405008514e1bb78b57c94cc1bcc6986889d5ca

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.1rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0687d69b6efdadff3f3e7a6ba53d1b8c0ffdd802e2c1128e7b51783a284e000c
MD5 93c51beb3389d44a7e1a7e0e7e3fe9f1
BLAKE2b-256 2fa4ce4b8506adf4cf31fd4048280165aa1bce55bf5c48394cb7a961fcb7e9a6

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.1rc1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 d2b74e20a943909ae1e1bdda5ad8b48efdeea9f5ce2a667464cc5cf384edbbb0
MD5 6b25f0f6a349a9a671f2f8cd2e2577a5
BLAKE2b-256 9cd9bbc1097889c2c6d419627adcd7fc28def888ebe004eebb9dbb9df9ef85b8

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.1rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 01c593f12ac4ebe1de398ce3b8e19ba2e55b151cba3aadf799c994c23f11eb55
MD5 e2018223b3a4f3b1d09a55a0da7c41fd
BLAKE2b-256 6fb1fc8abe4e6f8c602aefd9663432418819d9d0a1fa7e22fcd44e5719e3a003

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.1rc1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 2255081f2bae1c0949dedb84bbfb4ea5570040b71ce8d01aca9ce839e32f1357
MD5 b947f75209b92d1f618325df292591e5
BLAKE2b-256 d58c47cb8954e97e984afac0940c82174ad0d5900c0aa99d096b54e607da390e

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.1rc1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d7ba995dc91e6db2eacb1e8d909f5977efb082dd2f64d5178ca8883f9a040cf8
MD5 05336e57b0f1322c89282f13f1e14e2d
BLAKE2b-256 f94dbc4446432c2be7da25197502768217242df104906b314cc77b71cf7302e6

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.1rc1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 2933ab675066537d460daa4d1b1386ce7ff50fcf9a5412c89c28eb41e077ebc5
MD5 0bd7e46ebb6d9b7e3f708f4c5f4aaabf
BLAKE2b-256 3a3b47d85d2754d0b69de797f01b52a60b996547e962856a3542a804011a6948

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.1rc1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 12176e335690e4593f63f8194e2d41be8c466a8c783d7af9247dfa41ce919007
MD5 c496be4dd2e9ceec2587b0538ce8ace0
BLAKE2b-256 eada974dd3f82a04b4dcfdc7406182229262082a4f45db98e2320a5d74a175f6

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.1rc1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 600693b8e906fe362fd454f18490854d47edf25a01f4fde0dee3a880940639a1
MD5 e156609cec8e41005954cf64c163636d
BLAKE2b-256 49a039912bd73bb81aece56575ca2077888ba25f6b5dcd06f7779b27870a69a0

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