Skip to main content

ArcticDB DataFrame Database

Project description



ArcticDB Website | 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

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.4.0rc2-cp311-cp311-win_amd64.whl (6.3 MB view details)

Uploaded CPython 3.11 Windows x86-64

arcticdb-4.4.0rc2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.4 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

arcticdb-4.4.0rc2-cp310-cp310-win_amd64.whl (6.3 MB view details)

Uploaded CPython 3.10 Windows x86-64

arcticdb-4.4.0rc2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.5 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

arcticdb-4.4.0rc2-cp39-cp39-win_amd64.whl (6.3 MB view details)

Uploaded CPython 3.9 Windows x86-64

arcticdb-4.4.0rc2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.4 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

arcticdb-4.4.0rc2-cp38-cp38-win_amd64.whl (6.3 MB view details)

Uploaded CPython 3.8 Windows x86-64

arcticdb-4.4.0rc2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.4 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

arcticdb-4.4.0rc2-cp37-cp37m-win_amd64.whl (6.3 MB view details)

Uploaded CPython 3.7m Windows x86-64

arcticdb-4.4.0rc2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.5 MB view details)

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

arcticdb-4.4.0rc2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.5 MB view details)

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

File details

Details for the file arcticdb-4.4.0rc2-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-4.4.0rc2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ab3beedf8c0783a797be5588d5a696a7df4373b165b0a90463e20b2567dba618
MD5 6edce4f4453bda6f782da44fcf3c3239
BLAKE2b-256 024e9fdae1e31d42e6afcaeebf495525e2be047c93dfc7d57fdf2f2a6250de7d

See more details on using hashes here.

File details

Details for the file arcticdb-4.4.0rc2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-4.4.0rc2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 18e7952aaba81a66dc0a74ea697294805b888d7d3d3a9902ff65b852b80ce386
MD5 d37de5dce35b8175488d0079cdca9d73
BLAKE2b-256 bf2a7d1972985620dce367d0dcd99afda5d1092cd8e1b2fa2bcc166297bfc471

See more details on using hashes here.

File details

Details for the file arcticdb-4.4.0rc2-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-4.4.0rc2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 f7ed44ee47f36854e19e7ee9903a76b8071f4c7a50db780233f78863da80fadf
MD5 7e41d48ac1e1e3511eb75ad29709d92d
BLAKE2b-256 0d0a74f6aff7b8790757e5dd3a8e443c9c071ff16be0841acd1a906e348ec723

See more details on using hashes here.

File details

Details for the file arcticdb-4.4.0rc2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-4.4.0rc2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 af344154c62346b740b90e495f9bd592545909b4fd7b87f295964ab74c500c84
MD5 bc44501976da843d56c88ddd209e7a79
BLAKE2b-256 6b77bf0db9a89d50bef81a58052a57bddefb35c8d4c6a270b4cd3f0a77d9293c

See more details on using hashes here.

File details

Details for the file arcticdb-4.4.0rc2-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-4.4.0rc2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 83a9f595183531283c69820749832ea9d4f1c28c917a930fcadbea59db36db4a
MD5 8f3873960290398330f224009217ee13
BLAKE2b-256 9ad85503de77f9a74374e3cd3f7ca9e7212d13579516a13d6f31925d6296eb0f

See more details on using hashes here.

File details

Details for the file arcticdb-4.4.0rc2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-4.4.0rc2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 31ec2caacf7574d82309705a33c25cdeb37d77e3fff12fd080fb893461d13ad1
MD5 6ee2aafdc507495c71705bbe0a9ed34e
BLAKE2b-256 0afc351cd5b03645d3237af2d10ddbef8c5c59dfbbd5c3cf60fcb5d14d28d3cc

See more details on using hashes here.

File details

Details for the file arcticdb-4.4.0rc2-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-4.4.0rc2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 dd106686a9c652d9b7a6de7a7beb668c57a82b80b240abd904b904f2c660abec
MD5 fe821cdfbcd92118112860ca954ac5ca
BLAKE2b-256 4032585406560a40769de21c4c4c8953693de62b2e6a1960ac79422c9b98924f

See more details on using hashes here.

File details

Details for the file arcticdb-4.4.0rc2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-4.4.0rc2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 940906680d38b2775f42cd84750eda1d8a1380f986c6fe1803d4e3c4dd0e20a0
MD5 8b6376f26cf646672900170d2b03253f
BLAKE2b-256 4882abda90e08b068339065e9bcb279a1488b6eb04119e2fee57138a8cf54179

See more details on using hashes here.

File details

Details for the file arcticdb-4.4.0rc2-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-4.4.0rc2-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 ee6a0da254312a54e9a07a8fe45484b936c6d16d34feff8c04f6e0afcc0b374d
MD5 1b518db9ac1507a0532e72cb10f8bc51
BLAKE2b-256 631a4336ea7969717dd5cc9437c2f9817b94688b9d0e0f64f8c508402080d39a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-4.4.0rc2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d6bf803cf8a01b5eb47d3bc625f8813da108fadcac064a4973ed3894fb54eb33
MD5 43f9c79ed267fd88392cead0d0cf656f
BLAKE2b-256 ced8a0a77a50156eca7803a4cee2a6e1493bb5008dea0a53272f925f106dfbdc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-4.4.0rc2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3ea391bdb694f157cae4793a6b4d99bb3c12c6bfb40d0677c5035a82e032bb98
MD5 a7a8224260999285ee3af5a80f4e7409
BLAKE2b-256 ffab3338e9da36382fcad69990d2efc38af16104d3f615a4b90933e894d00bd7

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