Skip to main content

superstore

High-performance synthetic data generation library for testing and development.

Build Status codecov License PyPI

Overview

superstore is a Rust-powered Python library for generating realistic synthetic datasets. It provides:

Data Generators

Generator Description Use Cases
Retail Sales transactions, employees BI dashboards, forecasting
Time Series Financial-style series with regimes, jumps Quant research, backtesting
Weather Sensor data with seasonal/diurnal patterns IoT analytics, anomaly detection
Logs Web server & application logs Observability, alerting
Finance Stock prices, OHLCV, options chains Trading systems, risk analysis
Telemetry Machine metrics, anomalies, failures DevOps dashboards, ML training

Statistical Tools

Tool Description Use Cases
Distributions Sample from statistical distributions Simulation, Monte Carlo
Copulas Correlated multivariate data Risk modeling, portfolio analysis
Temporal Models AR, Markov chains, random walks Time series simulation

Key Features

  • Rust-powered: High-performance generation, 10-100x faster than pure Python
  • Flexible output: pandas DataFrame, polars DataFrame, or Python dicts
  • Configurable: Pydantic config classes for validated, structured configuration
  • Reproducible: Seed support for deterministic generation
  • Scalable: Streaming and parallel generation for large datasets

Installation

pip install superstore

For development with polars support:

pip install superstore[develop]

Quick Start

from superstore import superstore, employees, timeseries, weather

# Generate 1000 retail records as a pandas DataFrame
df = superstore(count=1000)

# Generate as polars DataFrame
df_polars = superstore(count=1000, output="polars")

# Generate as list of dicts
records = superstore(count=1000, output="dict")

Reproducibility with Seeds

All data generators support an optional seed parameter for reproducible random data generation:

from superstore import superstore, employees, getTimeSeries, machines

# Same seed produces identical data
df1 = superstore(count=100, seed=42)
df2 = superstore(count=100, seed=42)
assert df1.equals(df2)  # True

# Works with all generators
employees_df = employees(count=50, seed=123)
timeseries_df = timeseries(nper=30, seed=456)
weather_df = weather(count=100, seed=789)
machine_list = machines(count=10, seed=321)

# No seed means random data each time
df3 = superstore(count=100)  # Different each call

Development

Setup

# Clone the repository
git clone https://github.com/1kbgz/superstore.git
cd superstore

# Install development dependencies
make develop

Building

# Build Python wheel
make build

Testing

# Run all tests
make test

Linting

# Run linters
make lint

# Fix formatting
make fix

Architecture

superstore uses a hybrid Rust/Python architecture:

  • rust/: Core Rust library with all data generation logic
  • src/: PyO3 bindings exposing Rust functions to Python
  • superstore/: Python package with native module

The core data generation is implemented in Rust for performance, with PyO3 providing seamless Python integration. Output format conversion (pandas/polars/dict) happens in the Rust bindings layer.

License

This library is released under the Apache 2.0 license

[!NOTE] This library was generated using copier from the Base Python Project Template repository.

Metadata

Release files for superstore 0.3.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for superstore 0.3.2
File Size Uploaded
superstore-0.3.2.tar.gz 142.1 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for superstore 0.3.2
File Interpreter ABI Platform
superstore-0.3.2-cp310-abi3-win_AMD64.whl CPython 3.10 abi3 Windows x86-64 Details
superstore-0.3.2-cp310-abi3-manylinux_2_28_x86_64.whl CPython 3.10 abi3 Linux glibc 2.28+ x86-64 Details
superstore-0.3.2-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details

Total release size: 6.8 MB

Release files / superstore-0.3.2.tar.gz

Download URL superstore-0.3.2.tar.gz
Size 142.1 kB
Tags Source
SHA-256 checksum
How to use checksums
8292b7e5f915768ebad26b732438422a76b11866c58302076072a2dd4a2b287b
BLAKE2b-256 checksum
How to use checksums
7aeaf390415f052ffff288184e4e1d8dec5be3c70d159f245f37bd157e84b23b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release files / superstore-0.3.2-cp310-abi3-win_AMD64.whl

Download URL superstore-0.3.2-cp310-abi3-win_AMD64.whl
Size 2.1 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
c374abd3ea6b67582950514a67ed4ec1e47cfd66983872802d6e45faa8467b10
BLAKE2b-256 checksum
How to use checksums
0461ede8c9e4ee92237301113e2f3b4177db050ae3c115b0d4ba5e857b48d740
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release files / superstore-0.3.2-cp310-abi3-manylinux_2_28_x86_64.whl

Download URL superstore-0.3.2-cp310-abi3-manylinux_2_28_x86_64.whl
Size 2.6 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
f7a149ab09de8e7dc077bfc02c12275ce6a1254f7e0a46f59d6d0ee20305493c
BLAKE2b-256 checksum
How to use checksums
621ec6cea1192eaf0847f6ce3afbc0eef2b2ca8ff47da6f97141b7f23611bc50
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release files / superstore-0.3.2-cp310-abi3-macosx_11_0_arm64.whl

Download URL superstore-0.3.2-cp310-abi3-macosx_11_0_arm64.whl
Size 2.1 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e243aad86d55fe9a94e3ce81ec968c5bc1564cb9b235090894795c5e6f86d657
BLAKE2b-256 checksum
How to use checksums
f6b18f44af30223172de0f989fe51e3e8c40aa8275227f01753e8a7c2f086589
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release history Release notifications | RSS feed

This release

0.3.2 This release

4 release files

0.3.1

6 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page