fusou-datasets Python SDK
Secure, reproducible data loader for FUSOU research datasets.
Installation
pip install fusou-datasets
Quick Start
import fusou_datasets as fd
# Configure session defaults
fd.configure(
period_tag="latest",
table_version="0.6.0",
cache_dir="./data/cache",
api_key="your_api_key",
)
# Load battle records (3-tier split: train, validation, test)
df_cells = fd.load("cells", split="train")
# Load equipment synergy data
synergy = fd.load_synergy(period_tag="latest")
print("Single bonuses:", len(synergy.single_bonuses))
print("Cross synergies:", len(synergy.cross_synergies))
# Load ship stat growth curves (naked stats and caps)
growth = fd.load_growth_snapshot(period_tag="latest")
Configuration
Set credentials and defaults globally or via environment variables:
fd.configure(
api_key="your_key",
cache_dir="./data/cache",
period_tag="latest",
table_version="0.6.0",
)
# Inspect current configuration
print(fd.get_config())
Or via environment variables:
export FUSOU_API_KEY="your_key"
export FUSOU_PERIOD_TAG="latest"
export FUSOU_TABLE_VERSION="0.6.0"
export FUSOU_CACHE_DIR="./data/cache"
3-Tier Data Split
To prevent data leakage and ensure scientific reproducibility, datasets are split deterministically:
split="train"(70%): For training models, estimating parameters, and exploratory data analysis.split="validation"(20%): For public verification onfusou-web. Access is audit-logged.split="test"(10%): Held-out test set for blind evaluation. Regular API keys will receive HTTP 403.
train_data = fd.load("cells", split="train")
val_data = fd.load("cells", split="validation")
Caching
When cache_dir is configured, datasets are saved in local Parquet and JSON files:
- Battle tables:
{cache_dir}/{table}/{table_version}/{period_tag}/{split}/data.parquet - Synergy data:
{cache_dir}/synergy/{period_tag}/synergy.json - Growth curves:
{cache_dir}/growth/{table_version}/{period_tag}/bounds.parquet
# Load from cache without contacting the server
df = fd.load("cells", offline=True)
synergy = fd.load_synergy(offline=True)
# Force re-download from server even if cached
df = fd.load("cells", force_download=True)
Synergy Data
synergy = fd.load_synergy(period_tag="latest")
# Filter single item bonuses by ship ID
ship_bonuses = synergy.query(ship_id=1)
# Export to Parquet for fast analytics
synergy.to_parquet("./data/cache/synergy")
Fluent Query Builder
ds = fd.VerificationDataset("cells", split="validation")
# Filter with Django-style expressions
results = (
ds.filter(maparea_id=45, mapinfo_no__in=[1, 2])
.select("maparea_id", "mapinfo_no", "cell_id")
.limit(500)
.to_dataframe()
)
API Reference
| Function / Class | Description |
|---|---|
configure(...) |
Set global API key, URL, cache_dir, period_tag, table_version |
get_config() |
Return dictionary of current configuration |
save_api_key(key) |
Persist API key to ~/.fusou-datasets/settings.json |
list_tables() |
List available dataset tables |
list_period_tags() |
List available period tags |
load(table, ...) |
Load dataset as DataFrame (split: train, validation, test) |
load_synergy(...) |
Load equipment synergy rules and bonuses |
load_growth_snapshot(...) |
Load ship parameter growth curves |
load_speed_observation(...) |
Load speed observation records |
load_master(table, ...) |
Load master-data table |
VerificationDataset(...) |
Fluent dataset interface for hypothesis verification |
clear_cache(table=None) |
Clear local cache |
Metadata
Release files for fusou-datasets 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fusou_datasets-0.2.0.tar.gz | 39.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fusou_datasets-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 81.3 kB
Release files / fusou_datasets-0.2.0.tar.gz
| Download URL | fusou_datasets-0.2.0.tar.gz |
|---|---|
| Size | 39.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ee2b76f890bb6cb1703271ab32acf3602a5859ef56cd629ffc7893cc4e4cf758
|
|
BLAKE2b-256 checksum How to use checksums |
6601dec9ca3e62b0fc785093ed9dc80ff30463496072714b1412872b12e48122
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.
Transparency logRelease files / fusou_datasets-0.2.0-py3-none-any.whl
| Download URL | fusou_datasets-0.2.0-py3-none-any.whl |
|---|---|
| Size | 41.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ee6b573d12698683ec29f8421b7b8b52249a208495b2c0a96e0d66eb02c88f20
|
|
BLAKE2b-256 checksum How to use checksums |
75716a12a82a090846309515092a1c044f952d9bbefbcfc89a663df4aef09ae3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.
Transparency log