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

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

Uploaded CPython 3.11 Windows x86-64

arcticdb-5.0.0rc0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.3 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

arcticdb-5.0.0rc0-cp310-cp310-win_amd64.whl (7.0 MB view details)

Uploaded CPython 3.10 Windows x86-64

arcticdb-5.0.0rc0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.4 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

arcticdb-5.0.0rc0-cp39-cp39-win_amd64.whl (7.0 MB view details)

Uploaded CPython 3.9 Windows x86-64

arcticdb-5.0.0rc0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.4 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

arcticdb-5.0.0rc0-cp38-cp38-win_amd64.whl (7.0 MB view details)

Uploaded CPython 3.8 Windows x86-64

arcticdb-5.0.0rc0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.4 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

arcticdb-5.0.0rc0-cp37-cp37m-win_amd64.whl (7.0 MB view details)

Uploaded CPython 3.7m Windows x86-64

arcticdb-5.0.0rc0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.5 MB view details)

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

arcticdb-5.0.0rc0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.4 MB view details)

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

File details

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

File metadata

File hashes

Hashes for arcticdb-5.0.0rc0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a9846b44cfbb2de430382d04130ab6fed7beddcdec2825546535f3af0e078257
MD5 f8ef41e08deb0f0c188d677bb137daf1
BLAKE2b-256 e614d9c949968ce4b4e93217dcf311551f84077d5c7d2f7f5309e8b2a436bc6b

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-5.0.0rc0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c694c178b4c525bcf2813f8a1a503d0983244b800a5575e68707706853d2ddc0
MD5 c32566f8b44321ea516e1d38e525f7be
BLAKE2b-256 daad203bfc488b2c02bc0aa666f09e12e8c6c5c5fb89c3a1c381d7c526858993

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-5.0.0rc0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d709e09c0ca81222c0811b3b808ca29b8c0bb56af30d4c290bceead074243c06
MD5 3769d00539be1af10bd9bcb569059393
BLAKE2b-256 5ddbc7a1c05698d93d6789c1caea061dda73fd1fdce3dce18e059b16f9a37f3a

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-5.0.0rc0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 07be2d8fd688ce2dbcab7b70505f6f088897308176c8d185048d91f9997b62a7
MD5 ed36867a9c0be53d6fd3ac924d8beb8b
BLAKE2b-256 edc0dbc869e9cf3bcc94752eeef23b9b2537771efcd32215c29aabebe0f7e8fc

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-5.0.0rc0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 664b1d95d008d7ef6f4c1bb5b90100e853baa34683f74502ff43e58d2ccc0c2a
MD5 a9f0ca89ce0ccd7500ef1e1c3eea69fb
BLAKE2b-256 9d6992550aab4e1b3bfd565ea320fc87bafae11aca1b3bdfe82f56ec30170214

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-5.0.0rc0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d92ed5ac698604b3a6851b16eb3aaa2a7f225fcb96ca881791e6089ec10469f8
MD5 fe8bc058b828ae6f485c5362e86cdec4
BLAKE2b-256 7181d627459e3729e48f0f61ad5c5d22eff088927b81c06d592d1582737347f9

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-5.0.0rc0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 e39aac371c5d083c788e22a89661839a0459bd062f40ecbf75177e1fa5d63da1
MD5 5adfc8c839756c85a06e960c8ecfc5ef
BLAKE2b-256 65dbd2fe02ccd2cb008b79c9c8aa6ec09426a4712c48cd8b820f2d4c52076ddf

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-5.0.0rc0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f1d768032dbfb1cfc589aec787c5049647e76c6ec72cc668ebd039d5234e473d
MD5 5763bd730210b0c3af9b6a2fc62c7db0
BLAKE2b-256 acc5e720379f5d70644c834c5658cacca1abddaadddf901c2981b9c242e522e1

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-5.0.0rc0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 1e123862752d14fc11234108ab999cfa86ee828140d872619cc4cadc5870ca0e
MD5 11794b9d26a57dcb19febdf02518091d
BLAKE2b-256 b7b2315aede4019f99fadc910851c2d8b873bdec60fac117a7358b87005153c4

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-5.0.0rc0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2da468d379a8937577c5f6700f083eb35739e8fa9a7ad3cc73e755c5a82cf590
MD5 6ef85c7949c7f871fe37612b00305501
BLAKE2b-256 5475b54c5cf3ba0b493e1e997c4a0936b456fd7eb17b5d25ba058a6155821c9f

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-5.0.0rc0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b6e4be6eb6baaee3b3de110bb85d2cb4d3ee167ac76c00451511abbb3b716eb7
MD5 cbdf45cdd52f6476981fba2d28e82d6f
BLAKE2b-256 3206cb56acd12ac610f659c00becab6305ae1fed50147bfc23806b7f2617e96c

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