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 ✔️ ✔️
Windows Beta
MacOS (Apple Silicon) ✔️

Storage compatibility

PyPI conda-forge
S3 ✔️ ✔️
LMDB ✔️ ✔️
Azure Blob Storage ✔️

Support for Azure Blob Storage in conda-forge is tracked in #519.

Installation

Install ArcticDB:

$ pip install arcticdb

or using conda-forge

$ conda install -c conda-forge arcticdb

Import ArcticDB:

>>> from arcticdb import Arctic

Create an instance on your S3 storage (with or without explicit credentials):

# Leave AWS to derive credential information
>>> ac = Arctic('s3://MY_ENDPOINT:MY_BUCKET?aws_auth=true')

# Manually specify creds
>>> ac = Arctic('s3://MY_ENDPOINT:MY_BUCKET?region=YOUR_REGION&access=ABCD&secret=DCBA')

Or create an instance on your local disk:

>>> ac = 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

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

Uploaded CPython 3.11 Windows x86-64

arcticdb-2.0.0rc0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.0 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

arcticdb-2.0.0rc0-cp310-cp310-win_amd64.whl (6.5 MB view details)

Uploaded CPython 3.10 Windows x86-64

arcticdb-2.0.0rc0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.0 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

arcticdb-2.0.0rc0-cp39-cp39-win_amd64.whl (6.5 MB view details)

Uploaded CPython 3.9 Windows x86-64

arcticdb-2.0.0rc0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.0 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

arcticdb-2.0.0rc0-cp38-cp38-win_amd64.whl (6.5 MB view details)

Uploaded CPython 3.8 Windows x86-64

arcticdb-2.0.0rc0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.0 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

arcticdb-2.0.0rc0-cp37-cp37m-win_amd64.whl (6.5 MB view details)

Uploaded CPython 3.7m Windows x86-64

arcticdb-2.0.0rc0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.1 MB view details)

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

arcticdb-2.0.0rc0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.1 MB view details)

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

File details

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

File metadata

File hashes

Hashes for arcticdb-2.0.0rc0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f0e989cc4fa5441198ac849fae21ae316fdd300e2c05d6b8c11fc409ddeaa475
MD5 e06dae462c478793f237f3c40ae9b618
BLAKE2b-256 98eeb32f4c31066ffad5df720ffd89c8b62e3d8e35cdc0faf37e083cdd88e7ec

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-2.0.0rc0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9bc2809e2730a826aec99590cf8866e23664e70aac291d45ca9e31ea6e76d021
MD5 f95db907c4ba8cb642a617ae13aa817d
BLAKE2b-256 724b9a33753008f90fa17d1c925cd2d782958ce4a74b244aff414f911ba2c989

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-2.0.0rc0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 409b1900a56e011d886dc14ea44c82da77234573b9cd3b38dff1d27ad8c39c00
MD5 db85f26468b57f263ac206054256bd7b
BLAKE2b-256 d33390796a56aedb6285e29a71e7817474fa56be35285b174ddc8ee48f43e104

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-2.0.0rc0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 66ab4715eab61ef77e7069d27586d3c0e9a0cf4fc1cf4fc80a30b17c411bae89
MD5 6b83feef7f34e8d5f47b27f1782d5eca
BLAKE2b-256 cf99d844e74ef914bfab77554b9c5605c2b3a3e36ffb670b8bcb226c50aaa6d7

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-2.0.0rc0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 7e467425228ddcee011a00b82f3f0e27033c87ada2cb61f36194051dbcd9cf64
MD5 c889c75d943b77f4ae7be8a64ac5574f
BLAKE2b-256 d5ec97d326a7ae05b79fd249bb98d3050c9cad38c3bc00c5a7bd9d1a627822b1

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-2.0.0rc0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f6a13d914620154573097d86847330c57a1fea5197af08c5574849176009172f
MD5 8466a0ac64851e51283a649b4073f420
BLAKE2b-256 69c07163da765f0b85ea92e889b4f4fb941d9b63ec0c11aa024f6327e6787eb1

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-2.0.0rc0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 5c37ee3e2d36fec663323acb90e04ef942b59269e8c878041a5448d3e309029b
MD5 9c7d041dfb5e3770a51d31c5b8d1ed16
BLAKE2b-256 44d1a4fb29ef1acfda1f1b10c2d355d4b9cd42a8c51f90f2f36c7f70ce998af0

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-2.0.0rc0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f8bfca1c5c72fe97e4e7617badb76c5ed8287bbe80050fe2508efbdd1dd4190c
MD5 0efd0757118571c80de6a6e2cee570d2
BLAKE2b-256 cd30da8077c5a72edb7d240a386add5dd0b0b9a7777779fdfe6cc66438a515ab

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-2.0.0rc0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 04d98319320dd8c0331d22ccfb383569653b5de6511ded5162779120953fd4f7
MD5 45d03f97f2c440fb7d6718401b9df6cc
BLAKE2b-256 39698c09d3d3ce3ab1c197fe31d3a9a422cf9565b13be9f5e4b1de27faed956d

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-2.0.0rc0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b9f397116fbaa7fdc2bb1cd8c3fb8fed885592b2cc48e551c3be2ed3d9aa5991
MD5 87eedb20ceb75182e54f7f3f729e90cc
BLAKE2b-256 bee04f4249163b9ebb2ad1d6b74658c909ecf5bb72cf55d19582c77e71aa6053

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-2.0.0rc0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3fff8ef9e8174654a6a1b6751814247ab5fc94d2493035545426691af6998d93
MD5 bf60d1cc5cf2068f4cbd4fc75f6d8dda
BLAKE2b-256 703603f34b208489ec627a1b55ae5dc28973c21e0fc20d8fc38a5473f44b27b7

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