Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
e17f9f3
chore: add pint dependency
tomjholland Mar 17, 2026
475db0d
refactor: create new ColumnName class for handling column names and c…
tomjholland Mar 17, 2026
9eaf633
refactor: enhance ColumnName class with improved parsing and conversi…
tomjholland Mar 18, 2026
20c30f4
fix: add temperature exception for the 'C' unit
tomjholland Mar 18, 2026
8c18a8a
refactor: create schema module
tomjholland Mar 18, 2026
3a39ec9
refactor(column): implement bdf standard and recipe-based derivation
tomjholland Mar 21, 2026
338aea7
refactor(io): create io.py module to replace cycler processors
tomjholland Mar 23, 2026
081e1f2
refactor(result): revert Result and daughter classes to standard pyth…
tomjholland Mar 23, 2026
225d71a
refactor!: rename Result.info to Result.metadata
tomjholland Mar 24, 2026
63e1034
refactor: update metadata handling for files in io
tomjholland Mar 24, 2026
2afabf5
refactor(column): migrate to bdf enum and encapsulate resolution logic
tomjholland Mar 26, 2026
2837ad7
refactor(io): update io module to use new BDF Enum
tomjholland Mar 26, 2026
08cd4e3
refactor(*): use BDF enum and ColumnSet for column resolution
tomjholland Mar 26, 2026
da3408a
refactor: redesign io.py API for process_cycler and add process_generic
tomjholland Mar 27, 2026
08eb11c
refactor: create load() factory method for Procedure class
tomjholland Mar 27, 2026
17e1955
refactor(cell)!: consolidate data processing methods into unified add…
tomjholland Mar 27, 2026
b5713ec
fix: require Unix Time or Test Time as a RawData columns
tomjholland Mar 27, 2026
4a40831
feat(io): add timezone correction and import temperature columns
tomjholland Mar 28, 2026
5894d8b
refactor(result)!: migrate add_data to unix time-based joining with s…
tomjholland Mar 28, 2026
75eef0c
refactor: extract timezone validation to utils module
tomjholland Mar 28, 2026
6330905
test: update pre-processed sample data
tomjholland Mar 28, 2026
c0b71a1
refactor(analysis): update all analysis methods for new column naming
tomjholland Mar 28, 2026
52f222e
fix: give SOC a % unit
tomjholland Mar 28, 2026
33550cc
fix(column): make static names attribute, and shortcuts for resolve i…
tomjholland Mar 28, 2026
0fd5923
refactor: remove pydantic from Cell class
tomjholland Mar 28, 2026
02e26e3
test: fix expected time column in rawdata and result
tomjholland Mar 28, 2026
5b6c81a
style: rename column module to columns
tomjholland Mar 29, 2026
ce03f56
refactor: update name format for cycling summary
tomjholland Mar 30, 2026
fec8f3d
test(novonix): fix novonix process_cycler integration test
tomjholland Mar 30, 2026
2603dd2
docs: update examples for new api
tomjholland Mar 31, 2026
4e8c15d
fix: return self from rawdata.zero_column method
tomjholland Mar 31, 2026
3adb397
fix: use f-strings in logs
tomjholland Mar 31, 2026
857fb4f
fix: use Step Count rather than Step Index for step() filter
tomjholland Mar 31, 2026
e281542
fix(rawdata): zero_column() method now returns a new result object a…
tomjholland Mar 31, 2026
d130273
fix(dashboard): update dashboard for new api and bdf columns
tomjholland Mar 31, 2026
2096b66
feat(*)!: allow Column and BDF instances in data retrieval methods
tomjholland Mar 31, 2026
d08c734
feat(columns): support ColumnSet in resolution methods and improve repr
tomjholland Mar 31, 2026
5f213ca
refactor(columns): rename ColumnSet to ColumnDict and implement mappi…
tomjholland Apr 1, 2026
ea9f469
docs: add example for Columns and BDF
tomjholland Apr 1, 2026
79a07f3
docs: fix makefile
tomjholland Apr 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 9 additions & 13 deletions docs/Makefile
Original file line number Diff line number Diff line change
@@ -1,24 +1,20 @@
# Minimal makefile for Sphinx documentation
#
# Minimal makefile for Sphinx documentation.

# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = source
BUILDDIR = build

# New target for running the append_footbib.py script
prebuild:
python source/_append_footbib.py source
SPHINXOPTS ?=
SPHINXBUILD ?= uv run sphinx-build
PYTHON ?= uv run python
SOURCEDIR = source
BUILDDIR = build

# Put it first so that "make" without argument is like "make help".
help: prebuild
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

.PHONY: help Makefile prebuild
.PHONY: help prebuild Makefile

# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
# Catch-all target: route all unknown targets to Sphinx using make mode.
# $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile prebuild
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
47 changes: 23 additions & 24 deletions docs/source/examples/analysing-GITT-data.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,9 @@
"\n",
"# Create a cell object\n",
"cell = pyprobe.Cell(info=info_dictionary)\n",
"cell.import_from_cycler(\n",
"cell.add_procedure(\n",
" procedure_name=\"Sample\",\n",
" cycler=\"neware\",\n",
" input_data_path=data_directory + \"/sample_data_neware.xlsx\",\n",
" source=data_directory + \"/sample_data_neware.xlsx\",\n",
")\n",
"print(cell.procedure[\"Sample\"].experiment_names)"
]
Expand All @@ -75,20 +74,20 @@
"source": [
"fig, ax = plt.subplots()\n",
"cell.procedure[\"Sample\"].experiment(\"Break-in Cycles\").plot(\n",
" x=\"Time [hr]\",\n",
" y=\"Voltage [V]\",\n",
" x=\"Test Time / hr\",\n",
" y=\"Voltage / V\",\n",
" ax=ax,\n",
" label=\"Break-in Cycles\",\n",
" color=\"blue\",\n",
")\n",
"cell.procedure[\"Sample\"].experiment(\"Discharge Pulses\").plot(\n",
" x=\"Time [hr]\",\n",
" y=\"Voltage [V]\",\n",
" x=\"Test Time / hr\",\n",
" y=\"Voltage / V\",\n",
" ax=ax,\n",
" label=\"Discharge Pulses\",\n",
" color=\"red\",\n",
")\n",
"ax.set_ylabel(\"Voltage [V]\")"
"ax.set_ylabel(\"Voltage / V\")"
]
},
{
Expand All @@ -111,20 +110,20 @@
"\n",
"fig, ax = plt.subplots()\n",
"cell.procedure[\"Sample\"].experiment(\"Break-in Cycles\").plot(\n",
" x=\"Time [hr]\",\n",
" y=\"SOC\",\n",
" x=\"Test Time / hr\",\n",
" y=\"SOC / %\",\n",
" ax=ax,\n",
" label=\"Break-in Cycles\",\n",
" color=\"blue\",\n",
")\n",
"cell.procedure[\"Sample\"].experiment(\"Discharge Pulses\").plot(\n",
" x=\"Time [hr]\",\n",
" y=\"SOC\",\n",
" x=\"Test Time / hr\",\n",
" y=\"SOC / %\",\n",
" ax=ax,\n",
" label=\"Discharge Pulses\",\n",
" color=\"red\",\n",
")\n",
"ax.set_ylabel(\"SOC\")\n",
"ax.set_ylabel(\"SOC / %\")\n",
"plt.legend(loc=\"lower left\")"
]
},
Expand All @@ -145,13 +144,13 @@
"\n",
"fig, ax = plt.subplots()\n",
"pulsing_experiment.plot(\n",
" x=\"Experiment Time [hr]\",\n",
" y=\"Voltage [V]\",\n",
" x=\"Test Time / hr\",\n",
" y=\"Voltage / V\",\n",
" ax=ax,\n",
" label=\"Discharge Pulses\",\n",
" color=\"red\",\n",
")\n",
"ax.set_ylabel(\"Voltage [V]\")\n",
"ax.set_ylabel(\"Voltage / V\")\n",
"plt.legend(loc=\"lower left\")"
]
},
Expand Down Expand Up @@ -188,20 +187,20 @@
"source": [
"fig, ax = plt.subplots()\n",
"pulse_object.input_data.plot(\n",
" x=\"Experiment Time [hr]\",\n",
" y=\"Voltage [V]\",\n",
" x=\"Test Time / hr\",\n",
" y=\"Voltage / V\",\n",
" label=\"Full Experiment\",\n",
" color=\"blue\",\n",
" ax=ax,\n",
")\n",
"pulse_object.pulse(4).plot(\n",
" x=\"Experiment Time [hr]\",\n",
" y=\"Voltage [V]\",\n",
" x=\"Test Time / hr\",\n",
" y=\"Voltage / V\",\n",
" label=\"Pulse 5\",\n",
" color=\"red\",\n",
" ax=ax,\n",
")\n",
"ax.set_ylabel(\"Voltage [V]\")"
"ax.set_ylabel(\"Voltage / V\")"
]
},
{
Expand Down Expand Up @@ -252,9 +251,9 @@
"outputs": [],
"source": [
"fig, ax = plt.subplots()\n",
"pulse_resistances.plot(x=\"SOC\", y=\"R0 [Ohms]\", ax=ax, label=\"R0\", color=\"blue\")\n",
"pulse_resistances.plot(x=\"SOC\", y=\"R_10s [Ohms]\", ax=ax, label=\"R_10s\", color=\"red\")\n",
"ax.set_ylabel(\"Resistance [Ohms]\")"
"pulse_resistances.plot(x=\"SOC / %\", y=\"R0 / Ohm\", ax=ax, label=\"R0\", color=\"blue\")\n",
"pulse_resistances.plot(x=\"SOC / %\", y=\"R_10s / Ohm\", ax=ax, label=\"R_10s\", color=\"red\")\n",
"ax.set_ylabel(\"Resistance / Ohm\")"
]
}
],
Expand Down
Loading
Loading