Skip to main content

ArcticDB DataFrame Database

Project description



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

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.5.0rc3-cp311-cp311-win_amd64.whl (6.7 MB view details)

Uploaded CPython 3.11 Windows x86-64

arcticdb-4.5.0rc3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.1 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

arcticdb-4.5.0rc3-cp310-cp310-win_amd64.whl (6.8 MB view details)

Uploaded CPython 3.10 Windows x86-64

arcticdb-4.5.0rc3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.1 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

arcticdb-4.5.0rc3-cp39-cp39-win_amd64.whl (6.7 MB view details)

Uploaded CPython 3.9 Windows x86-64

arcticdb-4.5.0rc3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.1 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

arcticdb-4.5.0rc3-cp38-cp38-win_amd64.whl (6.8 MB view details)

Uploaded CPython 3.8 Windows x86-64

arcticdb-4.5.0rc3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.1 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

arcticdb-4.5.0rc3-cp37-cp37m-win_amd64.whl (6.7 MB view details)

Uploaded CPython 3.7m Windows x86-64

arcticdb-4.5.0rc3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.2 MB view details)

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

arcticdb-4.5.0rc3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.2 MB view details)

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

File details

Details for the file arcticdb-4.5.0rc3-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-4.5.0rc3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9ab1248937bb06557885d1ca3d7d4d526ba9a18117181af01a6220dcee18a071
MD5 21c5700646229c63f7bd6be5ac4d45da
BLAKE2b-256 bbefccdf67286a20a0db2e9ebf4c3ec09763efb3de544bdfde17cc0d030a2281

See more details on using hashes here.

Provenance

File details

Details for the file arcticdb-4.5.0rc3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-4.5.0rc3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4e2093a538b8b6b6382527205ab3f2d05ce705dc7e2d0511e97d2633e1e22af6
MD5 18c942dcf98684cf5be6e9a87ad627db
BLAKE2b-256 edb1b4321f9ae75832f3a91c17f4ba16df120dfc995487014bb86b0504f70557

See more details on using hashes here.

Provenance

File details

Details for the file arcticdb-4.5.0rc3-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-4.5.0rc3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 6c89dad58d58f384d823e795b5e3fcb5efba9ac7098e4b8acff095e18d09837c
MD5 45d2531ba7d4715884e703c2c56794ff
BLAKE2b-256 812bea6728c84225487287a6943e772a21acdfdc7fe48e6eabd8a0f5e87b386b

See more details on using hashes here.

Provenance

File details

Details for the file arcticdb-4.5.0rc3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-4.5.0rc3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 476a15bc61fe96359b71af57c7361de52d678874c0f06a054b123702bd693bf7
MD5 1482b496e0a802bac1e49fbb53829d7c
BLAKE2b-256 e2441447d662a396febaa9405ae52a403f491036a120d6e0e71fdefacff01466

See more details on using hashes here.

Provenance

File details

Details for the file arcticdb-4.5.0rc3-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-4.5.0rc3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 91d73e1504552d085e8270d9e882a0dd7d827515cf0bf9e664228c27508e6a12
MD5 57ff166167df4c256da68fc5d73b266e
BLAKE2b-256 ba4b151dd41632a8583b2d171dcf7c8b09bc68a7cef449f928e0206e44478ec4

See more details on using hashes here.

Provenance

File details

Details for the file arcticdb-4.5.0rc3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-4.5.0rc3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0f7a89489356c160e884f5d3499dad881724234137b3726cd5e7643cea6925e6
MD5 0433edbfa47f4b78481eb788ab666245
BLAKE2b-256 eecc9251654a079d2513cb29ece6fc6532fc8047a7a3777725a9c96a0ef69f3e

See more details on using hashes here.

Provenance

File details

Details for the file arcticdb-4.5.0rc3-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-4.5.0rc3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 5f0b3474301017a86f05aa517d9986ca76c51a4c961feb09e399040049c5b27a
MD5 3cb413ba52c68d9b9e51cdc5b709e758
BLAKE2b-256 809198f64a1ce5ec65b5164ea8a97086f9f53525e17285b812a19163372a598d

See more details on using hashes here.

Provenance

File details

Details for the file arcticdb-4.5.0rc3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-4.5.0rc3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f48347c0cea90fd66fff0471321da2c3204eab8f9358a0209b9246b8fc7b79f2
MD5 54e3945da4f28ca705612de0f40b749f
BLAKE2b-256 86cfc8ec95b799749842a7abd37743ef6a29d5333cbd43d9be46a6199f86afce

See more details on using hashes here.

Provenance

File details

Details for the file arcticdb-4.5.0rc3-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-4.5.0rc3-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 1ff183aa7401c6148baf50a4ea2002304fe33299b78a896b42252bbf84fe2ec0
MD5 dc125234117710c7616872d1618d1008
BLAKE2b-256 9c5efdf4dcddb8c373b5362c7c1632c3fbf7bde7aacaf2df2198bb318ed0aaae

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.0rc3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3da9dd180220637975e698394cbe445a62015d8c2ba7f31fb589c08b9c7bf2cb
MD5 bd20f4bbc522a1365d50d5106e057d8f
BLAKE2b-256 7526944f8ac4995616f2cd1acb269ef58046839e5546209e163f92a80e88af4b

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.0rc3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7a55aafcc7a8e6ee08b0a9f45e314c703ebd9ddac9aef7aec22dd5d4689abef1
MD5 a9b73493ff53e4a5c20f157f51925317
BLAKE2b-256 eb2866b3e2a9fd7bb2ad4e94f74d5297d966bbdd2c052899375ed2a5aad263df

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