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

Uploaded CPython 3.11 Windows x86-64

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

Uploaded CPython 3.10 Windows x86-64

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

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.8 Windows x86-64

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

Uploaded CPython 3.7m Windows x86-64

arcticdb-1.6.2rc0-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.2rc0-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.2rc0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for arcticdb-1.6.2rc0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 48025dd9ca24195790c2ee517037476037e9f62e056156981bccb438c312f5b2
MD5 0d8409e799d90280cc60284352732301
BLAKE2b-256 741c162655672d89a223886b71db5ddb8bceffae17e0b6a8e3a889ec3c3f9f9d

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.2rc0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3f2241104ca86a6e8ad630dd4726cd495e8a29213306a64e19f996fe67f13895
MD5 3942e46a974ee2f5045ade70645585d2
BLAKE2b-256 510bb9ae14374736718b72c43f982f8c27ba8d3c4797a800142a07f186ea603b

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.2rc0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1411580c5ba1c2b4bcf774a5fdcf7d51d3670a3065b7a8118aff24384e6033c6
MD5 2a78fefcb5c6e9e237720df8d7aedbfe
BLAKE2b-256 fa6945d98488a4ba5e45e4d457b0abb3e90c16b8e50bc37f80a3e3b1ad348ee3

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.2rc0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a753382dcb46bdae3f6e5269989e31bd965c7f050baa501d9c8da44fa91f375b
MD5 941f8c5fad81990d21c9e8d6ec9188a6
BLAKE2b-256 3d905b24fe86513abe0259f4384b6e71af37015eae784da6d916536ae5a3dfa3

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.2rc0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 4f93a9931354d8a00b56e374d149dfa860acef105ec2e26d90c824ac45cd3c9b
MD5 b7ef2c53da70323111bc5cb7213b642e
BLAKE2b-256 90cdc0033bde8597767e304f465c8d855cb8a7c6f6a5690588cdead2843f9a62

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.2rc0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 72c42e35b86f2a1966318d9c5fc860c1e1b1087dbb9a7234551a40c06c20f82b
MD5 14f79e7374fabdc6ad3e73931eba2a00
BLAKE2b-256 498db55b79aa63128ca81348cff56cad1566b089f73847898b03bc11268aff7a

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.2rc0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 d6e63ab35edc7659f3b6c0c791192c626a5e55909faacdeb7e94c2f2a0449fe4
MD5 fd036c897227cfa61e5a4a4ad3c478ec
BLAKE2b-256 85c0bb0346dcc5ce8d7724ff05608d9322805710c91074946d1fd3055ad2fc18

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.2rc0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 14c5f52707a88b428a49a3c62993a039fdedc31df2f3bfe1cba286dcf4605003
MD5 9510cc7226534358498c94a6e5d70063
BLAKE2b-256 938f087dafca9833f45c11d776fc42185e0e43543a144eff373ea13bc10750e5

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.2rc0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 c149afdca4c64f2d97940df0668e973b4aae3afea94a6fca5b29031e495c67ae
MD5 b3af4dae20549658124a8174008a1df0
BLAKE2b-256 90b1c4aac649a434fe1e0ca4ee3b3f07ab1fff42990a1523a8547000f751fd6f

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.2rc0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1bf2996c2177e895c3786fbd0321e3288aae11f9156b375e3108e9f10fa4786e
MD5 a6993d6568dfa7164ca65bf429a68440
BLAKE2b-256 ec4795f0e14bec1e60a47894ba63d8c3f4264c673ec027acb7d70ff723e3ad11

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for arcticdb-1.6.2rc0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 97dae410a6773e492b6e44ca9f0f4ebf6da31f037188472135bc97df649b225d
MD5 d482d0c55a1949f98d03bebb5c3b0f0f
BLAKE2b-256 d457605218d5d2fb02260562eafb4bfb33b8bf795ab0e1b7a162341d47dfc6fd

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