Skip to main content

ArcticDB DataFrame Database

Project description



ArcticDB Website | 📘 ArcticDB Docs | 📰: 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
4.4 Business Source License 1.1 Apr 5, 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.5.0rc2-cp311-cp311-win_amd64.whl (6.7 MB view details)

Uploaded CPython 3.11 Windows x86-64

arcticdb-4.5.0rc2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.1 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

arcticdb-4.5.0rc2-cp310-cp310-win_amd64.whl (6.8 MB view details)

Uploaded CPython 3.10 Windows x86-64

arcticdb-4.5.0rc2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.1 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

arcticdb-4.5.0rc2-cp39-cp39-win_amd64.whl (6.7 MB view details)

Uploaded CPython 3.9 Windows x86-64

arcticdb-4.5.0rc2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.1 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

arcticdb-4.5.0rc2-cp38-cp38-win_amd64.whl (6.8 MB view details)

Uploaded CPython 3.8 Windows x86-64

arcticdb-4.5.0rc2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.1 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

arcticdb-4.5.0rc2-cp37-cp37m-win_amd64.whl (6.7 MB view details)

Uploaded CPython 3.7m Windows x86-64

arcticdb-4.5.0rc2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.2 MB view details)

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

arcticdb-4.5.0rc2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.1 MB view details)

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

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.0rc2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a2e20a1fdfe760e0a8708bda35a72ed197a9148f3211f8dd16d0b2ed781a35c0
MD5 1cdbe279d5696357337e8d3780b05c8c
BLAKE2b-256 4267fd6615d01af78f3b3b35c0c94215123f5ead756af2ad177935fc5b8821ab

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.0rc2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ca4e09280e10d03df6c737d12fc3be48b1aa2a0214084c29b872d0aaab495371
MD5 daf9a16bbde99891b43a8753dbf4bd6c
BLAKE2b-256 a01889435cc758932a7cd7a94283b21136503dd9998f797250e160492af6c340

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.0rc2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5a0a282ae994edf72e8a99911bb59b9ad7924f116a164e383046b61c57c19ec5
MD5 096bc84ac7cc0da64cdaaccc0b2ee721
BLAKE2b-256 4ca9e87fac9eefd1d9e271be1ffd9076d7d3b34a50ba547d9a39b8ec1b447cd2

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.0rc2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 96388d7fde471a9dfa3e3d506c107c82885a35edba0dd75e9093c2b522c7869f
MD5 08256dc61ef62b2a134e4df4e21130ac
BLAKE2b-256 6ca33ee08e18630d4e2c708799ea69c65a2a9d9b7d2d4e312656ac2ee9f6bf0b

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.0rc2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 d9377d07d40438c94463c5c93311043687126fc7899290f6e5d20a9ff1cdee2a
MD5 26fd7a1f9c32f4a74723732cbd2e7c67
BLAKE2b-256 edd8b2eb7f5973e1b07173e232ed79ea6736edae8764b3c18664beb7e3e8d55f

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.0rc2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e8e2ee2cf188f7593179b6b297543c8d6720bb590f554a5b0f1c6e45af7b28e5
MD5 04e0908a8b442fd6cdf5af944ccf33fb
BLAKE2b-256 20166f364d75c2455c79b8c4d89101679c5b16855b84b7000f0d4342411bc6f9

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.0rc2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 610b24a9053c607cf80d0e1780cfb9799c4e98152c5a7b350fc123d7f0f471b3
MD5 25055ab1bbcfc20baf3e0859a97927e1
BLAKE2b-256 796a90abc8846a799e1e26b08b4f2fcee7229968d69e4d5506522d3442fd160e

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.0rc2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c807fd9f1e77a4ff14524e20a4082191d495b11a58b6f96efe723134eaa205e5
MD5 819f47fbfcf0537137977e0b2cc29559
BLAKE2b-256 8ed2928f93ea184da10b85ff7aa00d887a5fd55ebce82ada0959cee32fe094d1

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.0rc2-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 f8181e9a643f5711aebf2b4467734e14a95434d7bed91dc09e07bab88a817f75
MD5 8a6f886a0ea0e58555c3d1ec1ab61276
BLAKE2b-256 2843dbc207b06d408583afe7af105b3f80f76571533f8a46a52cf81d070b2d05

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.0rc2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 994c7a3c1c3871d0981b87c76c710df2be354f731b75e2c0a72392db856dbefc
MD5 396d390659967b2cd2c1897c743a096e
BLAKE2b-256 355e7d36cd8a237b20d7532652f5b1df042cad3592c78675b6b2559d19c146f1

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-4.5.0rc2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e3908c293b74257f73d44a7a016c436e0116ef778021bdc5458e9725beb70b2d
MD5 142331bb1fc14fd54ae66118e9ada8d6
BLAKE2b-256 8ac9e128183bba8dc946d6c9686628ec844e50f6b8e18ca2c39bf3c6cba43e56

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