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

Uploaded CPython 3.11 Windows x86-64

arcticdb-4.4.4rc5-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.4rc5-cp310-cp310-win_amd64.whl (6.3 MB view details)

Uploaded CPython 3.10 Windows x86-64

arcticdb-4.4.4rc5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (14.4 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

arcticdb-4.4.4rc5-cp39-cp39-win_amd64.whl (6.3 MB view details)

Uploaded CPython 3.9 Windows x86-64

arcticdb-4.4.4rc5-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.4rc5-cp38-cp38-win_amd64.whl (6.3 MB view details)

Uploaded CPython 3.8 Windows x86-64

arcticdb-4.4.4rc5-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.4rc5-cp37-cp37m-win_amd64.whl (6.3 MB view details)

Uploaded CPython 3.7m Windows x86-64

arcticdb-4.4.4rc5-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.4rc5-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.4rc5-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-4.4.4rc5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 1655ba9d918c2e7a363092752c524760fbb0bd06bfcd1b452c1be28cddc440ff
MD5 0cc52fbabc5a71e42165b10a96b4e069
BLAKE2b-256 a21fb37e01547e42d5fc9c578b4b3887f347b7484d8a928e543ab5fe32dc5b73

See more details on using hashes here.

File details

Details for the file arcticdb-4.4.4rc5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-4.4.4rc5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b1aec7f352ffbbdda7194808fca0371a604a52e0314b53170a93532068fbbb41
MD5 03c47b9d82befb3ba4028b4ff803d309
BLAKE2b-256 a12b5986bcc73028c5f747f42fccd4bff96f44571a06a6e3286a20b00a0cb78d

See more details on using hashes here.

File details

Details for the file arcticdb-4.4.4rc5-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-4.4.4rc5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ed6decc8127bd56919409573fb16afc6c26397f1dc34926d27138cd24c428b12
MD5 6bf38c1581b1635aa6560cb36fca08ed
BLAKE2b-256 f37c8f7db3716e1b3ce142a89f289af2166840eeddbcdf2b52ba7de90603334f

See more details on using hashes here.

File details

Details for the file arcticdb-4.4.4rc5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-4.4.4rc5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 39f1a959ad1b0974879bfdfc0ee425e444c38fce78b902590276906a85be5562
MD5 77842a33aa1e54b16c0793a3d52635bd
BLAKE2b-256 ee2bab18f70da44457cc77d09722e603e2ceeb7e56ecc806f5eb659ab4ba5714

See more details on using hashes here.

File details

Details for the file arcticdb-4.4.4rc5-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-4.4.4rc5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 a71ceb45a84ff46d41b1a72fca61a678d2890f7221fc5f5eaeb310996c1272c2
MD5 5c9fa2adf7e87ab2550a48a99dd32aa2
BLAKE2b-256 2f2433d9e194b2475a49f76c40be4e242469edc421ca2f54faf50139bb2b3408

See more details on using hashes here.

File details

Details for the file arcticdb-4.4.4rc5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-4.4.4rc5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 44706e09009dcc01bebaa4c1acd2e84246ef143bea277b02ce1b9f1e89fcb127
MD5 71edff3d4abf6a03c066abacd95e0ec0
BLAKE2b-256 4e3aab1e1c46add349e0ea4a1563ca88c242025896d89ec4db32ca4036287636

See more details on using hashes here.

File details

Details for the file arcticdb-4.4.4rc5-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-4.4.4rc5-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 94c7e505dd28b80a2e60ef146638029d4d93295d0482083637a095ad8b345297
MD5 fc435e4023ff208ae073a3fedd34787b
BLAKE2b-256 96321017158db081410f830370bc9987257106ab71ac5bd754d0011e9d90a9d7

See more details on using hashes here.

File details

Details for the file arcticdb-4.4.4rc5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-4.4.4rc5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ea1603d1c495ac67027cff076a5e72cfbcbfd825b5dc2f0ab0837c223271729b
MD5 d81512979eb4a9dc22bfbb3c76929ee5
BLAKE2b-256 4b69360af7f286fe21a993e68f623eb4391df58f755b3176db5a775a976e55a8

See more details on using hashes here.

File details

Details for the file arcticdb-4.4.4rc5-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-4.4.4rc5-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 b7f3325a654734dec996fb6eeb1a0c9fced43772a4960aaeb2f4bc65f1a1dd9b
MD5 76ddfe7364a6b336955c369625485d9a
BLAKE2b-256 a0c36c3884a91e067e9100c6f7ea92769e9cee872b30153fdb720c0775a6cc28

See more details on using hashes here.

File details

Details for the file arcticdb-4.4.4rc5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-4.4.4rc5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 16837462b2d56c3726d1944efaacb8662974036a9f69e15edb123bd91a9bae06
MD5 b1458a18dcf241360b9db1716a9651cc
BLAKE2b-256 b88303331a050930798a609754d49fdba79178f79d5bfd6f14d3f07e3f28bfcc

See more details on using hashes here.

File details

Details for the file arcticdb-4.4.4rc5-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for arcticdb-4.4.4rc5-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 723eff01f7b334ec2094322fdac324c12bab192a52d0eec513954e530dcc9575
MD5 a473c2f6dc4d21cce4adace5b596891a
BLAKE2b-256 1afbecb267af2090aeae712bdfb732c06a0065fa29f93a2d8ffd7c00ae2a65f1

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