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

Uploaded CPython 3.11 Windows x86-64

arcticdb-1.6.1rc0-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.1rc0-cp310-cp310-win_amd64.whl (6.5 MB view details)

Uploaded CPython 3.10 Windows x86-64

arcticdb-1.6.1rc0-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.1rc0-cp39-cp39-win_amd64.whl (6.5 MB view details)

Uploaded CPython 3.9 Windows x86-64

arcticdb-1.6.1rc0-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.1rc0-cp38-cp38-win_amd64.whl (6.5 MB view details)

Uploaded CPython 3.8 Windows x86-64

arcticdb-1.6.1rc0-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.1rc0-cp37-cp37m-win_amd64.whl (6.5 MB view details)

Uploaded CPython 3.7m Windows x86-64

arcticdb-1.6.1rc0-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.1rc0-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.1rc0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-1.6.1rc0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 202de6c45a521b3ebb71c206b4e7d733c011270ffe8f0b6fdd7cb9abf357905a
MD5 f2f125f59ff7ca170b4708a35534fd25
BLAKE2b-256 78b24789e305914684da141f9bfff89391a8bab31f302ac25e13abca1fada1cd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.1rc0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 43011a2546165e1fa425edfce54b4fc8e2e7a535f3861ac4ba05c45965a0d404
MD5 4cdc9dbf3cda710235f4ada2dff41fd0
BLAKE2b-256 bc1632acb0a5f8c33a48210c43a64ccd3ca2837c6ebfae56421926e697031b07

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.1rc0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d0096d1e2d315715c26e4d50f7c691496796caf5c06fd6ca1bb76b3b1aa0b401
MD5 69abd9b3e8bc7fec7e9a7bc1dd11c7cc
BLAKE2b-256 f47f754e7361de751ae186571a65fd0446f821c8c39cf08417459993a6597fd1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.1rc0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9ab1bb910dbe8c83aaddcc15c50f861b78c6774c813faee1f10e7391900784e5
MD5 affeee947b4f9e092c4fa0560c233f47
BLAKE2b-256 f5a63343ed64b2a67be0d79e6e12b7851130e15168021ee0c35d4ba3f8fa3ba7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.1rc0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 f87950b0b0006375055a568a54b7fef8045cfe68a8540b8da392f449ca6c23ac
MD5 22674745b6f32dfbdf3fffe311b81ce2
BLAKE2b-256 3412466306eb330a0301cfce9619e7582dd8a91f192bfce297fba323bed5794a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.1rc0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f0832c6d5de19aae8cf71c51ca6a901641b3cc7c0dbe4828b6f2fa81b3a9d0ec
MD5 dd77d75ef271f844cace0f95d20ddbbb
BLAKE2b-256 be296e5b06c81cd8d91717b179b335f95dc8c90618e4f015ccc4d625bde3ed8d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.1rc0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 442c708578633427317867acdf3212727ab59edf4d8ea9554b153b90301101c0
MD5 9aed1e25bb6abf46376c8ae0cf38a873
BLAKE2b-256 8a2fb1219c4e2c1b2ce4926c4198ac0613192df4c4690de8fedd0d4e351b214d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.1rc0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 09fd7fe16328468afeb58d44740804503bd3b014ae04e9438daa651f35ee2177
MD5 023f7e2c62b994d4b5e9fbaee1f4c8fb
BLAKE2b-256 56c4dae038b0043efcfd91fd2f1012960c4f37bf21dd9e2677b99a1fd0e51a8c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.1rc0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 8ada5b79d904d52425fd06effa439e1f0aea2de9490df02ae1af065ee581f430
MD5 92b8243bf256acf6cd4229199343ed5b
BLAKE2b-256 4540e6a913e146755abd6e7bd3190336477b516ba57120b2c565ceef656f09f2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.1rc0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4821ac22986fbb3ac4f3274ce3f8050e70cd1a2e03458d6c4677dfeb42b4f83f
MD5 6e35175bf720ddf5fa893c175f823003
BLAKE2b-256 b2997e5bebb01faac4fed6bf3f4511d1ebdff1bfac9b9bed288248b63fea451e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.1rc0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 712f2dccf46bbf975b635427af512708204818989b86bcbff87d77fb6d0bac46
MD5 ba70711070571fc7a87c788984a19f4b
BLAKE2b-256 5ee86e0e9d8c3f39d3de36c9630a789938d2ace296c085639071892a7c68a2d7

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