Metadata-Version: 2.3
Name: gamry-dta
Version: 0.1.3
Summary: Read Gamry .DTA files as polars dataframes. Also extract metadata as dictionaries.
Author: kristianfkt
Author-email: kristianfkt <kristianfkt@gmail.com>
Requires-Dist: pandas>=3.0.6
Requires-Dist: polars>=1.42.0
Requires-Dist: pyarrow>=25.0.1
Requires-Dist: matplotlib>=3.11.2 ; extra == 'plot'
Requires-Python: >=3.11
Provides-Extra: plot
Description-Content-Type: text/markdown

# Gamry DTA
Gamry DTA allows you to read .DTA files generated by Gamry potentiostats. 
Data is returned as polars dataframes.  
Metadata is returned as a dictionary.  

# Installing
`pip install gamrydta`

# Quick start
```
import gamrydta

path = ".../some_file.dta"
dta = gamrydta.read()
```

`gamrydta.read(...)` returns an instance of an `Experiment` class, or any derived class such as `CyclicVoltammetry`.  
Main measurement data is exposed as a polars dataframe as `dta.data` or `dta.curves`.  
Experiment metadata is exposed as a dictionary as `dta.header` or `data.metadata`.  

# Notes
- `dta.header`/`dta.metadata` values are strings now. Next release will parse to correct types. 
- Gamry-DTA is built on data generated by a Gamry reference 600 potentiostat.   
- The author (kristianfkt) do no longer have access to any Gamry potentiostats. 

# Future releases:
- Parse column name-units according to https://github.com/emmo-repo/domain-electrochemistry
- Parse header fields according to https://github.com/emmo-repo/domain-electrochemistry
- Infer header field types, text, float, etc
- Add retry-cases for encoding errors
- Infer decimal separator if not provided. 
- Explorative dashboard. 

# TODO notes
- Consider swithcing `Experiment` and derived classe to dataclass. 
- A DTAFile class might be convenient to separate Experimet class and file parsing more clearly. 
- Header file parsing probaly require different TypedDicts or something for the different kinds. Or dataclass. 

