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

Uploaded CPython 3.11 Windows x86-64

arcticdb-4.5.1rc3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.2 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.10 Windows x86-64

arcticdb-4.5.1rc3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.2 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

arcticdb-4.5.1rc3-cp39-cp39-win_amd64.whl (6.8 MB view details)

Uploaded CPython 3.9 Windows x86-64

arcticdb-4.5.1rc3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.2 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.8 Windows x86-64

arcticdb-4.5.1rc3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.2 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

arcticdb-4.5.1rc3-cp37-cp37m-win_amd64.whl (6.8 MB view details)

Uploaded CPython 3.7m Windows x86-64

arcticdb-4.5.1rc3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.3 MB view details)

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

arcticdb-4.5.1rc3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.3 MB view details)

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

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.1rc3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 591dfd6ddd1aa7c376901fbe5c83a2458c1ae377757d9adaa1b4b091ff3fd0fd
MD5 c4e655edde5b008eabf45c4b426be434
BLAKE2b-256 06fb1307690f4dcaa83efc55723b348affd4fc9d7c31c0feace502f536f72b8b

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.1rc3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d01e6e89e4d04c797e9071a423f6bcadcac240a2e4d93f84c3f3c61102071378
MD5 4dfbdb6f013978ff91cfcacd94d0c9bb
BLAKE2b-256 4b0e7a1e685556b5182ebd46a5884f4d339fa37e8aebb108b0ef6de9f9f4bfef

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.1rc3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 231580898ec135ddd5e14177b9d984be11ff25b5e01739c6ae175f9adb95ada2
MD5 90b52c0c990e848f5261256e66554ed1
BLAKE2b-256 3e4f2068be3cf699fd41d960299a0340c1e90247c16bb8ebf9fba7329af0f90a

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.1rc3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 69977862122690819b7ff11dbd9c2ba679aab0ecacef243531bbf021bed89a29
MD5 0f12b9c3dd39516177532a04173559d0
BLAKE2b-256 8d46d5e5fedd6667fa3c5667c255ccca4c966bf512212e3cea94a03187ce2041

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.1rc3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 fb85c132bf90e8463b3ec2484631a0e6d0450969b137522bfd8f92ef193f5cf3
MD5 e391c02495979a29d2f5c32d052dac6e
BLAKE2b-256 549f5918dca00b780f7e5171226905421bf1c144c7ef8703cf428f107c33d3d3

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.1rc3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3fc624a9ed3df398c8956d8432d6c900fac6093b76ef28b2c868c4c3e5e9c9c3
MD5 ff4ff21d4cb39c3912d17386c246e860
BLAKE2b-256 401ea81d3ce36b2bf016bf5790018db9ecdbe84de5e75978f6f8cfedd30447f8

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.1rc3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 de577e6bd76f89100c5b5f1729b4dea3b95e37fac31884b5465ef00ed59b7c6f
MD5 b63c43e20dea472827d800cec5a04559
BLAKE2b-256 1359d8538b2c9fd99b1e5cde0ffc35a1cfd6561f1ac99f218389c42607d9ac6c

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.1rc3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 47f61a5d318101a7e8070aaeeab6f9addf434cc9447a690683fbf948bec576dd
MD5 6dde0b8e5834f6fa17d9321e9ba1a645
BLAKE2b-256 5a9a415055578573a005623337a77126b4275922114509c32c7c1f184cae14bf

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.1rc3-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 24ba69afbfcf9e8ce6ecf51f79c618126216af61b51a85c051d4daaf9600be00
MD5 2727e3715bfea5b9a5b47437add0ff87
BLAKE2b-256 a973d980709dbde1465c1c9638e1bf6b0efc1074c23d1656a3e6bfd2ac270917

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.1rc3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 abf02ef3da3574028f1a459bee02adcb1b4ceab3d245563bd4836f09d15e454f
MD5 5e8c9ddb9797180f81fb9feace46f0e5
BLAKE2b-256 290c734a1af2695efd38f410da69c5a414a05f64dae9e867ad647248e7fbdce9

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.1rc3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 17f74bc9c83663b003daeef022057b62672c466a8f9d1fe45d4c835b9fdda356
MD5 0d7049ba05aa9bf57ff389614c51a006
BLAKE2b-256 c4657379c49f307e9a57fd0dde4b13029e4bc2976f109eda5159f630bafb4082

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