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

Uploaded CPython 3.11 Windows x86-64

arcticdb-1.6.1rc2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.9 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

arcticdb-1.6.1rc2-cp310-cp310-win_amd64.whl (6.5 MB view details)

Uploaded CPython 3.10 Windows x86-64

arcticdb-1.6.1rc2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.9 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

arcticdb-1.6.1rc2-cp39-cp39-win_amd64.whl (6.5 MB view details)

Uploaded CPython 3.9 Windows x86-64

arcticdb-1.6.1rc2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.9 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

arcticdb-1.6.1rc2-cp38-cp38-win_amd64.whl (6.5 MB view details)

Uploaded CPython 3.8 Windows x86-64

arcticdb-1.6.1rc2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.9 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

arcticdb-1.6.1rc2-cp37-cp37m-win_amd64.whl (6.5 MB view details)

Uploaded CPython 3.7m Windows x86-64

arcticdb-1.6.1rc2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.0 MB view details)

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

arcticdb-1.6.1rc2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.0 MB view details)

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

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.1rc2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3f34815d551cf80e4df1f1a1572a7d5d68583bbb7eae9d4498c7958f25fd29b0
MD5 7e8111e52e72db68f7b4d29c7b214ede
BLAKE2b-256 27d2822ac27111ca64dd83d602f3a5a2e2cf744bb24c4122df02753275015c6e

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.1rc2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7291b7a0a247632b0d6cbce0f9fd3b80bfe9f8beb86dc728ab1f5e9749e5fdf8
MD5 7e9c9332acd5b395083cdc23de977713
BLAKE2b-256 64240f4168011ee75e0cc112952e3a4a6b17a60e27e8796b10d955c5fad46686

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.1rc2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ad5998727995fe027cc5b51b8481250eb290f4d656377dd1ac9f6b61078db827
MD5 5613476c7382e24ad53cb69adbdc2d10
BLAKE2b-256 6b583f0413e6d665699d423fbdfe6c08f4799eb7f3a1cfa5a822982ed62e4d55

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.1rc2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 27ddb3a3bd04215bdad96109a28b793463c1f9a25735bc798f490bd970035df0
MD5 a102c6f1b218122f69cb68188c659bc6
BLAKE2b-256 8ba7b5b1b94d5c5072b863d551a1df6f199904e4ce0278ac818422e6f8cf6f6e

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.1rc2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 290563383ac1cf0227ce078485fba308ae363f9c8965ab4df05425e75ca33d2d
MD5 1755c5b47b925d3ad3ef1518816e9f29
BLAKE2b-256 8fcf53fa232ef46af8c9f80d340a4a4af754ecc8e90b8aa6512ad0d3ea9325b2

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.1rc2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 84d7666c93f29581dea1f95ae0d8ea8f0863d79aa033cf36c052abf0d83cdc9e
MD5 2f07ec7499ec968c6b4cf28242f178c8
BLAKE2b-256 e8bd565170f2490818d86204df3f72333adf17d49779e8413031cf0512e507db

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.1rc2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 a6ac56379e5d890b8d4020f9809f12ef4e40187107a017b18c6e54a10db1ad6f
MD5 637be60ab7feb727dfa2916b1db03f8c
BLAKE2b-256 23228241b9ef17dc704b09833188deb185d2c60c7317653d439148e5591fc9b6

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.1rc2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 14257c652b2d7fe1d1bc3a101f9c37c640fcecf9c3ee40a64e1faf8ada6d2a72
MD5 fec76bdc196f72ebf33410b59d2f3e68
BLAKE2b-256 94773ff5d4c662f24a1bdc234a2f1a29b679c25db69a17fa6362b50e3d13c7ca

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.1rc2-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 6ed32b139ba5dc465b64ea3ac0a333ce8b589b0bcc5a953fce92877407b6be72
MD5 d85f5cab3da9e975fb240c1599684a4d
BLAKE2b-256 3ac31484a269d817b67dd1fabedadd7f82ea8877658a0d0d10d786da54256f03

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.1rc2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 25950ad33e454496265e1b6173f45479f6ed0552a197c8b9395bee55b0eff50b
MD5 713283fff070cef1372cd82781fb3c0b
BLAKE2b-256 674b5fee6ab21685caca8e0f54f80d29958ddd226e1cec16530db9f764a9bb3d

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.1rc2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ebd6e807937ee329078c2606427e1d55e367f9bf626b3df4ddb1930e67a90085
MD5 3fa35f45dacc39212d9e90695f72ae3f
BLAKE2b-256 cf8d075f42609de93a58fba8f52077e2098e5b9e5dec4e22fdf793253807bf95

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