Release Notes
Upgrading
You can always update to the latest version of lasertram using pip:
pip install --upgrade lasertram
or install a specific version:
pip install lasertram==version-number
To check which version of lasertram you have installed:
pip show lasertram
Maintenance team
Current and past maintainers of lasertram:
1.0.1 and 1.0.2
1.0.2 is the same as 1.0.1 but I screwed up the PyPI distribution so I'm redoing it as 1.0.2
First release after manuscript acceptance 
Features
- added a module for basic plotting of time-series and uncertainties in
LaserTRAM - added a module for preprocessing which has functions related to loading in test data ready for
LaserTRAMand for taking raw .csv files from Thermo or Agilent quadrupoles and converting them directly topandas.DataFramesready forLaserTRAM.
Documentation
- added more example jupyter notebooks on signal de-spiking and region omission
- Added much better docstring coverage to everything
- Added much better line-by-line coverage to everything
Bug Fixes
- fixed pytest bugs with move to new version.
1.0.0 (07/11/2024)
USGS Software Release approval 
- Addresses reviewer comments from Issue !1 related to USGS internal code review
Features
- updated syntax to reflect
pylintrecommendations (e.g., snake case variables, correct negation/equivalence referencing)
Documentation
- transitioned to solely using a
pyproject.tomlrather than combination ofsetup.cfg+pyproject.toml
v0.1.2 (5/1/2024)
Bug Fixes
- fixed indexing issue in
despike_data
Documentation
- added more coverage in tests to now include
get_secondary_standard_accuraciesanddespike_data
v0.1.1 (4/29/2024)
Documentation
- added
lasertram.__version__
- changed naming of all functions that refer to standards for consistency
- Any attribute or method that references an internal standard uses
int_std - Any attribute or method that references the calibration standard uses
calibration_std
v0.1.0 (4/25/2024)
Code structure change
A re-organization of the package structure was completed to set up for further growth. This has created the following modules for lasertram:
tram: holds the class 'LaserTRAM`calc: holds the classLaserCalchelpers: holds the submodulesbatchandconversions, for batch processing and unit conversions, respectively.
An example folder structure for this is as follows:
βββ πlasertram
βββ πcalc
βββ calc.py
βββ __init__.py
βββ πhelpers
βββ batch.py
βββ conversions.py
βββ __init__.py
βββ πtram
βββ tram.py
βββ __init__.py
βββ __init__.py
The only real effect on the user is the change in import statements to now be the following:
from lasertram import LaserTRAM, LaserCalc, batch
or to import an entire module:
from from lasertram.helpers import batch, conversions
v0.0.13 (4/08/2024)
Bug Fixes
- Fixed undeclared list instantiation in
LaserTRAM.despike().
v0.0.12 (1/12/2024)
Bug Fixes
- Fixed issue with
calculate_uncertainties()internal error calculation dropping the wrong terms
v0.0.11 (1/12/2024)
Bug Fixes
- Fixed issue in
drift_check()where data do not have a timestamp and the index of analysis was being treated as a pandas Series. It is now a numpy array for consistency and better compatibility with the statsmodels package. - Updated analyte indexing for regex deprecation warning related to string literals.
Documentation
- Updated Basic Usage page to reflect new uncertainty output implemented in
v0.0.10
v0.0.10 (1/11/2024)
Features
- added support for both internal and external precision on output.
- Now on output uncertainties are displayed with column header suffixes as either
_exterrorinterrto reflect overall uncertainties that incorporate the uncertainty in the calibration standard accepted value or those that don't, respectively. The vast majority of use cases should utilize_exterrvalues unless one is comparing datasets processed with the same calibration standard.
v0.0.9 (10/26/2023)
Bug Fixes
- fixed type issue with internal standard compositions being defaulted to
int - fixed pandas indexing in
drift_check()to support future move to.iloc
Features
- added support for both GUI (LaserTRAM-DB) and API (
lasertram.LaserTRAM) outputs to be used as inputs intolasertram.LaserCalc() - changed all naming instances of
calibration_standardtocalibration_std. Previously some there were a mix of attributes that had one or the other. Now anything that deals with the calibration standard (e.g.,self.calibration_std_stats) will always havecalibration_stdin the name for consistency.
v0.0.8 (10/25/2023)
Bug Fixes
- Fixed bug that overwrote and ignored omission interval in
LaserTRAM.normalize_interval() - Future proofed output report for deprecated pandas indexing. Now properly uses
.iloc - Fixed interval
dtypeinconsistencies so they are all typefloat64rather thanobject
Documentation
- Added general motivation to documentation landing page
New Features
- Added required dependencies to
setup.cfg
v0.0.7 (10/24/2023)
Bug Fixes
- Fixed
omitted_regionbeing counted as experiment analyte
Documentation
- fixed filepath issues and typos in Basic Useage tutorial
- moved all test data to
test_datafolder - created
testsfolder for future tests to be held - created
CHANGELOG.md
v0.0.5 (10/20/2023)
- First release of
lasertramfor public use.