ArcticDB 6.25.0 (9 Sep 2026) adds arrow-backed string dtype read/write plus arrow_string_format_default / per_column (LARGE_STRING, SMALL_STRING, CATEGORICAL) for PYARROW/POLARS reads. String-heavy market/TS stores. Not a pyarrow-25 or pandas-3 rewrite. Not investment advice.
Man Group ArcticDB v6.25.0 (GitHub / PyPI arcticdb 6.25.0, 9 September 2026) is the after-work hook for string-heavy market / time-series stores that already live in ArcticDB—not a warehouse rewrite. The release adds read/write support for arrow-backed string dtype (#3242), makes prune_previous a library option, and bounds processing-pipeline memory. This note focuses on Arrow string output formats when you read as PYARROW or POLARS. It is not a rewrite of the pyarrow-25 or pandas-3 dedicated-string Hub posts (brief context only), and not investment advice.
The only course CTA is Introduction to Python Programming.
ArcticDB lets you choose how string columns materialize on Arrow-backed reads (API, Arrow notebook):
| Format | Role |
|---|---|
LARGE_STRING (default) | 64-bit variable-size strings — general default (pa.large_string() / Polars String) |
SMALL_STRING | 32-bit variable-size — slightly leaner; PyArrow only (Polars does not support small strings) |
CATEGORICAL | Dictionary-encoded — best when few unique values repeat (pa.dictionary / Polars Categorical) |
Set a default with arrow_string_format_default, or mix columns with arrow_string_format_per_column (e.g. ticker/category → CATEGORICAL, free-text description → LARGE_STRING). These apply when output_format is PYARROW or POLARS (library/Arctic instance defaults can be overridden per read).
Pandas-3 / Arrow string dtype work elsewhere in the Hub is adjacent context only—the product hook here is ArcticDB 6.25.
python -c "import arcticdb; import importlib.metadata as m; print(m.version('arcticdb'))"
# pip install -U "arcticdb==6.25.0"
1. Read a string-heavy symbol as Polars with categorical default (URI / lib names are yours):
from arcticdb import Arctic, OutputFormat, ArrowOutputStringFormat
# ac = Arctic("lmdb://./arctic_demo")
# lib = ac.get_library("market", create_if_missing=True)
# df = lib.read(
# "strings",
# output_format=OutputFormat.POLARS,
# arrow_string_format_default=ArrowOutputStringFormat.CATEGORICAL,
# ).data
# print(df.dtypes)
2. Per-column mix: categorical for low-cardinality labels, LARGE_STRING for long text.
3. Confirm 6.25.0 and skim the release for arrow-backed string R/W + prune_previous if you version-prune libraries.
Stop after one of three. Docs: ArcticDB, GitHub man-group/ArcticDB.
Upgrade to arcticdb==6.25.0, pick CATEGORICAL vs LARGE_STRING for one symbol you already store, and measure dtype / memory on a POLARS or PYARROW read. Environment stuck? Introduction to Python Programming.