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

Uploaded CPython 3.11 Windows x86-64

arcticdb-4.5.0rc0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.0 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

arcticdb-4.5.0rc0-cp310-cp310-win_amd64.whl (6.6 MB view details)

Uploaded CPython 3.10 Windows x86-64

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

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.8 Windows x86-64

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

Uploaded CPython 3.7m Windows x86-64

arcticdb-4.5.0rc0-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.0rc0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.1 MB view details)

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

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.0rc0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9a3a18f05df7cdf263e29601be5aaccc521938798457fddd580d6acdb3332a96
MD5 648866e21c6a7ac5b723cd662b35d70a
BLAKE2b-256 82bb4ba5e8ff250a500413a44173e9331bc068a0f37f8d01531bb1e2e74bcf7b

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.0rc0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ae009a862fae491f90d11b63dfd70bea06265c0a965af6c8ecb5f3c61cae266c
MD5 7058ad53fc4fb086978fbcf11ec1f759
BLAKE2b-256 5aa3384e2dfd5d8179c9b1726c24e471bdd17a781148d6e337f7ff4790437e6e

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.0rc0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 af3f577b4adf3fcfdef865577b747a8740d411ecb6b9f1b9772f8f4025ae32bb
MD5 5f69772c02bc1530348e57758f040c87
BLAKE2b-256 a0b24d2dff6f40bae42d4ba0a4c3ea6f77b790b1580f3028e5285dfdd4a267ba

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.0rc0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1ef6bb8f5e251d88359c69eebb29d825b3eaca0efe16ae82e940bb74d284c217
MD5 7678531390ea1b2d8a0916b04ddfc4ce
BLAKE2b-256 54474a6e54f02b760cc59dfa3fd38e282a413e59bd1cf40ddf3cdd9fdfb6937b

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.0rc0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 1259a91fce9c646b4057f278cdccdbba5988520335ab97d29f0ae5a6b9d09711
MD5 225c7dedb5000540eb74f1aaa147aabd
BLAKE2b-256 d3f04ca1c6d73c2f0c4e879a6b3a347db98d9e4b05823072c4c4d41391b8b764

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.0rc0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cc6648b074be4748988a279fb8113c5e62ee994eac0c5482adccd8c74588564f
MD5 8608228b057868dd72da808f5e95ba73
BLAKE2b-256 b025a4855c40fdbf3c644c759692bcdd7d06928a43b54145a994e3f16b8f92cb

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.0rc0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 053f80e13f065b624d66d651c9c111cb3a3fd58aea2e3a1d68f82227e4cd1cbf
MD5 e829474eeec729a6fc3d3074d69f61d0
BLAKE2b-256 6f8e3bd5f56b41431ec5d370134651cf807512461c6b561d71242f5357c43dfe

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.0rc0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9c5016f55a47a2ac8078f0e0bc44188a2f04ae82d85e53a5d1708155607d1bea
MD5 0d00c50582fac8f2ee731a39ffc76379
BLAKE2b-256 7dbaa0dd1dfc7be4408f21ee194c7a75632f7752aad3c44d79be0c2f0786fd84

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.0rc0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 bbe3aba066ac656433dcd5352afb8ae8300b595c4810c34d623f5fb2d74021d1
MD5 32225f29fd36f19fa135c67d959359dd
BLAKE2b-256 0abbba09d9dc6acb30783530d93466edf2ec24acef8e85839e56e0c845a151db

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.0rc0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d0186abced8f9c7b59e5f10f6b4660ae5359b8d4f264ac6beb63b7f98c24e48c
MD5 76e73bd2224b9e4eb6638344614b350f
BLAKE2b-256 0e1bd93441aaf4d87139c09119354a5e5bed977c53538bf404f48e8e9abf31b5

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.0rc0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 627c8f75d70b29996a2d6a89bc672ebdc4200178afa458f640a76a5f0f2bc94a
MD5 74cccf0bbcc86dd657993cc6e461456e
BLAKE2b-256 5e167265271fb58ab96631745723b6f2d9611283a4b0482b15ad1edf3ca24b2c

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