Skip to content

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 to pandas.DataFrames ready for LaserTRAM.

πŸ“š 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 of setup.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 and despike_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 class LaserCalc
  • helpers: holds the submodules batch and conversions, 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 or interr 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 into lasertram.LaserCalc()
  • changed all naming instances of calibration_standard to calibration_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 have calibration_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 type float64 rather than object

πŸ“š 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.