Skip to main content

ArcticDB DataFrame Database

Project description


Three minute ArcticDB demo from PyQuantNews

Options data in ArcticDB

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
4.5 Business Source License 1.1 Aug 14, 2026
5.0 Business Source License 1.1 Oct 31, 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-5.1.0-cp311-cp311-win_amd64.whl (7.2 MB view details)

Uploaded CPython 3.11 Windows x86-64

arcticdb-5.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.7 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

arcticdb-5.1.0-cp310-cp310-win_amd64.whl (7.2 MB view details)

Uploaded CPython 3.10 Windows x86-64

arcticdb-5.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.7 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

arcticdb-5.1.0-cp39-cp39-win_amd64.whl (7.2 MB view details)

Uploaded CPython 3.9 Windows x86-64

arcticdb-5.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.7 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

arcticdb-5.1.0-cp38-cp38-win_amd64.whl (7.2 MB view details)

Uploaded CPython 3.8 Windows x86-64

arcticdb-5.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.7 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

arcticdb-5.1.0-cp37-cp37m-win_amd64.whl (7.2 MB view details)

Uploaded CPython 3.7m Windows x86-64

arcticdb-5.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.8 MB view details)

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

arcticdb-5.1.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.8 MB view details)

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

File details

Details for the file arcticdb-5.1.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: arcticdb-5.1.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 7.2 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for arcticdb-5.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 dd0a4914942c20cc8cf768a30368d3c07ae5f950455cd79dc349c1a1b051b133
MD5 d45cf43338ce9ca23241766161258588
BLAKE2b-256 c060a43de71c4d47d40930522ffd65660d4fdd6d7d727e0b1708c8a82d61adf0

See more details on using hashes here.

File details

Details for the file arcticdb-5.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-5.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 32b0b36e71acd1d2057d9c507ebc47a84578ffc60073212ec636517ce6d41b07
MD5 8e02d5933e618b93303bac955149f8ed
BLAKE2b-256 b7362deeb2af1148e0f317976ca4a37920b64000fff4c4646cf9153e50dc8b46

See more details on using hashes here.

File details

Details for the file arcticdb-5.1.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: arcticdb-5.1.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 7.2 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for arcticdb-5.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 cc0a419394e0acb8ca92d73115bd00901173ac52a2d2e2220f598b5c1fa3614f
MD5 ada8220be198547b0e96e50f0edcb552
BLAKE2b-256 661dacfd1f9c5d5d13ae24654cfc22bdea08334049d3800d9623980f828bfe66

See more details on using hashes here.

File details

Details for the file arcticdb-5.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-5.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4a65167624ee959d6c3d29aec46d79222976d2e56d6a966824a25ed0bad927e1
MD5 64081b9fc4570f7ca6eb51df1dcd294c
BLAKE2b-256 83bba68a18c2a2f650a7d3c2c517657a72d57906ac343961cb162f15cde1d781

See more details on using hashes here.

File details

Details for the file arcticdb-5.1.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: arcticdb-5.1.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 7.2 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for arcticdb-5.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 c44ac9775082ea9eac385aa8da0d7a3e7f015dab07a8fae2879207a820c3e30e
MD5 c11b80c3e773905c2f7646f9aceedbf5
BLAKE2b-256 ec51a783eaf6ff2fff86b1b373754e82f110a278c0cfd3b83e0d0fbcab7d2f71

See more details on using hashes here.

File details

Details for the file arcticdb-5.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-5.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3e799a86282c484299bfb2e04bf870139bb0daee396a044e64419b9e410822f1
MD5 9aeecd485da57df15a8d20d7fb4544d1
BLAKE2b-256 a616c590ddbe241d876b0516971f67238649a708a8abba9d31852df54f152792

See more details on using hashes here.

File details

Details for the file arcticdb-5.1.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: arcticdb-5.1.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 7.2 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for arcticdb-5.1.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 41aebe1d7b67b592acf0f07f44636a6a868ff47bec7e6f5249c604a71f539db4
MD5 44a27fa00e22338aea8382e6172bc4aa
BLAKE2b-256 07a9dba71a8bfffedf37527cb4f847fea3e962ced3636be3d7aa7ca087d9e3bb

See more details on using hashes here.

File details

Details for the file arcticdb-5.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-5.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9e62280076bc10928eaea2fb118643727eca1d1706edafda5be0cdf598ff54d4
MD5 3d45aa032e0d581dcf9451a2502226be
BLAKE2b-256 4f9cc52183f3dc409bf764d4e738136202c31e74d784b4d5255a4b22fa27f85d

See more details on using hashes here.

File details

Details for the file arcticdb-5.1.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: arcticdb-5.1.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 7.2 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for arcticdb-5.1.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 9321fe4322e419d6f68da2ce048ab68a882b4c8186b92a56c97fd704870461d9
MD5 6a0d82d90fb05b7d6a502f077ad801ec
BLAKE2b-256 2bedb8d7887ef7842225989754acff7670847738e47cab1e72c4e205532926df

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-5.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 522b3190cdbaddc0553eb7c9f2edf28abea21c548519ec0b54a6dad9b1c22d3a
MD5 92d3e6ae53e7762a73b2220d3a381d54
BLAKE2b-256 f8f060539d36985e0a7f9dbd16cf262fcd35a47858d55fb0cfc2038ba5eb5c28

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-5.1.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e7204f182b51dd6b8308b9d5d95be5e2e4bc420cfd069a98fcb9a089c7c679a8
MD5 ea30d1db952608f4816516182dfe77cc
BLAKE2b-256 03a6df90bdcbb0693bd9ccee23d101634e24094b34eb8a8dbb6b7ba9247ea9e1

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