Data Platform · Backend only
You build the front end. We handle the backend.
Cycler ingestion, format standardization, parser maintenance, and cloud storage — handled. You access the data from Python and build whatever notebooks, dashboards, or models your team needs on top.
# Connect to your data from micantis import MicantisAPI api = MicantisAPI() # Every cycler. Already normalized. data = api.get_data_table(barcode="LOT-2024-0847") df = api.download_parquet_file(data[0]["id"]) # Cycle summaries are already computed df.columns # → ['cycle', 'capacity_ah', 'energy_wh', # 'dcir_mohm', 'voltage_v', 'current_a', ...] # Your models. Your dashboards. Your IP. predictions = your_model(df)
Two situations where this fits.
Most teams want the full Web App. The Data Platform makes sense in two specific cases.
Early-stage on a budget
$1,500 / month gets you a real data backend without committing to a full platform. When the team grows into needing dashboards, QC workflows, or reports, your data infrastructure doesn't change — the Micantis Web App adds the UI on top of the same data layer.
Custom workflows, custom UI
If your engineers have built notebooks, models, or dashboards specific enough that no off-the-shelf app fits, skip writing the ingestion and parser layer yourself. Bring your front end. We handle the backend.
A data layer, not an app.
The Data Platform handles ingestion, normalization, and storage. You bring the analytics.
What's included
- Auto ingestion from every cycler in your lab
- Standardized format across cyclers — one schema, one set of column names and units
- Parser maintenance as cycler formats and firmware change
- Cycle summaries pre-computed (capacity, energy, efficiency, DCIR)
- Per-cell metadata read and write
- Python API —
pip install micantis - Parquet downloads for direct DataFrame loading
- Cloud storage for raw + processed data
What's not included
- No web app or browser UI
- No dashboards — build your own in Grafana, Streamlit, or Jupyter
- No quality control workflows or automated reports
- No spec evaluation or pass / fail engine
- No alerts, scheduled reports, or notifications
- No MOOSE AI assistant
Need any of these? The Micantis Web App adds the full UI on top of the same data layer.
From cycler file to clean Parquet.
Files land, formats get standardized, parsers stay current. You query the result in Python.
Supported Cyclers
We maintain the parsers as cycler vendors push firmware changes. Your pipeline keeps working without engineering time on your side.
Works With Your Stack
Parquet is the standard for analytical workloads. Load into pandas, Polars, Spark, DuckDB, Databricks, or any tool that reads columnar data. No proprietary formats.
# Download a full dataset as Parquet df = api.download_parquet_file(data_id) # Or filter by cycle range df = api.download_parquet_file( data_id, cycles="1-50" # first 50 cycles ) # Last 10 cycles df = api.download_parquet_file( data_id, cycles="-10" # from the back ) # Embedded metadata comes with the file meta = api.unpack_parquet(df) # → cell info, timestamps, cycle counts
Search, Filter & Metadata
Find what you need. Tag cells with your own properties. Build your data pipeline around the API.
Find Data
Search and filter your data table by barcode, date range, station, channel, cell test name, or data type. Get back structured results you can iterate over.
Per-Cell Metadata
Read and write custom metadata on any cell. Tag with chemistry, supplier, lot number, grade — whatever your workflow needs. Query it back in wide format for batch analysis.
Data Operations
stitch_data()— combine interrupted testsclean_data()— auto-fixup, filter, parametric cleaningget_changelog()— track every data modificationget_duplicate_files()— find similar uploads
# Search your data results = api.get_data_table( search="NMC811", start_date="2024-01-01", end_date="2024-06-30" ) # Read per-cell metadata meta = api.get_cell_metadata( cell_ids=["CELL-001", "CELL-002"], metadata=["chemistry", "supplier", "lot"] ) # Write your own properties back api.write_cell_metadata([{ "cell": "CELL-001", "field": "grade", "value": "A" }]) # Track changes since last sync changes = api.get_changelog( since="2024-06-01T00:00:00Z" )
Bring your own everything else.
The Data Platform is the foundation. Everything you build on top of it stays yours.
Your Analysis
Write your own models, your own statistical tests, your own degradation fits. The data layer doesn't care what you do with the data.
Your Dashboards
Build in Grafana, Streamlit, Jupyter, or whatever your team already uses. Pull from the API. We're not replacing your tools.
Your IP
Your models, your code, your insights — they stay yours. We provide the plumbing. You own everything that runs on top of it.
pip install micantis[parquet]
If your team needs the app later, the data layer doesn't change.
The Micantis Web App is the same Data Platform with a browser UI on top. Anything you've built on the Python API keeps working.
Same data, plus a UI
Dashboards, search, plotting, and comparisons in the browser — driven by the same standardized data you've been querying from Python.
QC & reporting
Spec-driven pass / fail evaluation, automated reports, and quality workflows for incoming inspection, manufacturing, and R&D.
MOOSE AI assistant
Ask questions about your test data in plain language. Learn more →