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 ✔️
MacOS Beta️

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.1.0.dev0-cp311-cp311-win_amd64.whl (5.5 MB view details)

Uploaded CPython 3.11 Windows x86-64

arcticdb-4.1.0.dev0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.6 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

arcticdb-4.1.0.dev0-cp310-cp310-win_amd64.whl (5.5 MB view details)

Uploaded CPython 3.10 Windows x86-64

arcticdb-4.1.0.dev0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.6 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

arcticdb-4.1.0.dev0-cp39-cp39-win_amd64.whl (5.5 MB view details)

Uploaded CPython 3.9 Windows x86-64

arcticdb-4.1.0.dev0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.6 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

arcticdb-4.1.0.dev0-cp38-cp38-win_amd64.whl (5.5 MB view details)

Uploaded CPython 3.8 Windows x86-64

arcticdb-4.1.0.dev0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.6 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

arcticdb-4.1.0.dev0-cp37-cp37m-win_amd64.whl (5.5 MB view details)

Uploaded CPython 3.7m Windows x86-64

arcticdb-4.1.0.dev0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.7 MB view details)

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

arcticdb-4.1.0.dev0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.7 MB view details)

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

File details

Details for the file arcticdb-4.1.0.dev0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-4.1.0.dev0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d0aedfc7c7574b456409f015e9d0666992d6004189360c508621412817966f59
MD5 c818913a85f5a5386c80a2ebfa9ab781
BLAKE2b-256 430e8bc08d5c2d8393d13ba676851472f7ffd9acc1ac8c560f626102edb365d6

See more details on using hashes here.

File details

Details for the file arcticdb-4.1.0.dev0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-4.1.0.dev0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f963dd8da9aac1219594e52576051c5fdbeedfe25177d7bf32c8d351c2697fe8
MD5 dcc218141fdd4ab6e561cb291b607f43
BLAKE2b-256 4670a1d7673eee6e7feb5260d101c237f1b212339b220e85b6b25d7627f0429f

See more details on using hashes here.

File details

Details for the file arcticdb-4.1.0.dev0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-4.1.0.dev0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b43dec639a95b7c2891e59fdf653864f6081000bed83d7b0b54fb6b6bbe9b025
MD5 0d3d9b9886de6617eb80892e6db870a9
BLAKE2b-256 234c4928a78677dd9b8e418723f16c6eb7751e8e12d6b3d0a36588877925e5bc

See more details on using hashes here.

File details

Details for the file arcticdb-4.1.0.dev0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-4.1.0.dev0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f9db31ba63ace81eb5ae76affecd202fcce3c53c7c0b23b2982a57f1bafde27f
MD5 370ceb7ff59fd0daa0f4cce58fa25137
BLAKE2b-256 d647a2cd4d57132d3dc3b31c9ad4f2d95191132a2a433b88de8cd131ada09c35

See more details on using hashes here.

File details

Details for the file arcticdb-4.1.0.dev0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-4.1.0.dev0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 46ff85378a37405db4b1ac4c18d59deda76cbd6507cce4958e6bf2baba42f999
MD5 56c74d2c33f8d85e7bcb89224112f9c5
BLAKE2b-256 0c54f598a65142cc4f85ce7b7c230e10d6b24dc7f68dc979bb8d7bba1e350c84

See more details on using hashes here.

File details

Details for the file arcticdb-4.1.0.dev0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-4.1.0.dev0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d1c6f36113921dbcc1c0c71de22230bef03c2a6e0acefcc12985457ab7e47e35
MD5 8cb63281500dc088c7a0d838b78187b9
BLAKE2b-256 a822ecc03ff90a68a75bb2cfdcad029f2da8e05973a801137f7f9e75459e8b11

See more details on using hashes here.

File details

Details for the file arcticdb-4.1.0.dev0-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-4.1.0.dev0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 52140821514aae49dd23de33870df19207865b7597cf9fde9de00268bf7a2b82
MD5 3b27f5272f862a546323394adac22ade
BLAKE2b-256 1c5f0dc7d7b419a7da84f861dbf10ccd77841fbc55ac5d594e856cba81912122

See more details on using hashes here.

File details

Details for the file arcticdb-4.1.0.dev0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-4.1.0.dev0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 688e8a1a5e7b8ef3b553e65d9468a23a0b2133101fda1cfcb1fbd6e10438a7ae
MD5 d1206457e6bd7a952a8fbb94311d3ca2
BLAKE2b-256 c41e5bd4cea050039b6fc135f6fd03cc7d299d0bdda9b1a1b31589036e619298

See more details on using hashes here.

File details

Details for the file arcticdb-4.1.0.dev0-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-4.1.0.dev0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 8bd7a6b6ae7a041ead52762574c336393dcb14060f6ff5192810cbad34ba0313
MD5 d4cecb5de4bb26607ae47ac557dc6e46
BLAKE2b-256 7557d1bb30831db3af663c528d22075405d2878bce7a1b185efc9f6a1f7e28f0

See more details on using hashes here.

File details

Details for the file arcticdb-4.1.0.dev0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-4.1.0.dev0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8888538b041cdabbfc7a68276cae54f9019ba45f86158cfa76eba8f33b57e79a
MD5 e441b33974c0495eb17adaca81b4e166
BLAKE2b-256 d8e18def1170a09aa3794687b113394ed647f99576dc4d1792f279c5d23b2329

See more details on using hashes here.

File details

Details for the file arcticdb-4.1.0.dev0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-4.1.0.dev0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 48970841bd982b750c8190a706eef7209fa79b49a5ef0539b6522d5bf3dceddd
MD5 d8d8a3d2d6ccbbf0fdd8b0c566e43e3a
BLAKE2b-256 d8485505eb296fe8dc0aca036cc4f0a6ab4948fd6cc94bd79e5e7a1feb178945

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