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
LaserTRAM
and for taking raw .csv files from Thermo or Agilent quadrupoles and converting them directly topandas.DataFrames
ready 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
pylint
recommendations (e.g., snake case variables, correct negation/equivalence referencing)
Documentation
- transitioned to solely using a
pyproject.toml
rather 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_accuracies
anddespike_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 classLaserCalc
helpers
: holds the submodulesbatch
andconversions
, 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
_exterr
orinterr
to 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_exterr
values 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_standard
tocalibration_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_std
in 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
dtype
inconsistencies so they are all typefloat64
rather 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_region
being counted as experiment analyte
Documentation
- fixed filepath issues and typos in Basic Useage tutorial
- moved all test data to
test_data
folder - created
tests
folder for future tests to be held - created
CHANGELOG.md
v0.0.5 (10/20/2023)
- First release of
lasertram
for public use.