Skip to content

Releases: brownag/soilprofilecollection

soilprofilecollection 0.3.1

Choose a tag to compare

@brownag brownag released this 01 May 15:20
8ef2266
  • Bug fix in .from_dataframe():
    • Changed inference to check if standard names exist in the schema, and raise a ValueError if they don't (instead of silently defaulting), but allowing user-provided idname/hzidname/depthcols to pass through to the constructor.

What's Changed

  • build(deps): bump pillow from 11.1.0 to 12.1.1 in /docs by @dependabot[bot] in #6
  • build(deps): bump pillow from 11.1.0 to 12.1.1 by @dependabot[bot] in #7
  • build(deps): bump markdown from 3.7 to 3.8.1 in /docs by @dependabot[bot] in #8
  • build(deps-dev): bump pygments from 2.19.2 to 2.20.0 by @dependabot[bot] in #9
  • build(deps): bump pillow from 12.1.1 to 12.2.0 by @dependabot[bot] in #10
  • build(deps-dev): bump pytest from 8.4.2 to 9.0.3 by @dependabot[bot] in #11
  • soilprofilecollection v0.3.1 by @brownag in #12

Full Changelog: 0.3.0...0.3.1

soilprofilecollection 0.3.0

Choose a tag to compare

@brownag brownag released this 27 Dec 20:23
bef1d5d

This pull request makes matplotlib an optional dependency and introduces a new installation extra ([plot]) for plotting support. The base package is now lighter and faster to install for common non-visualization use cases.

Also, improved .from_dataframe() method, and fixed a bug in 2D slicing affecting profile ID column.

  • BREAKING: matplotlib is now optional. Users who need plotting must install with the plot extra (e.g., pip install soilprofilecollection[plot]).
    • .plot() method now lazily imports matplotlib and raises error with installation instructions if matplotlib is not available
    • Added tests to verify error handling when matplotlib is missing and to ensure plotting works as expected when installed
    • README provides clear instructions for both basic and plotting-enabled installations
  • Improved .from_dataframe(): now automatically infers standard column names from schema template
    • No need to repeat idname, hzidname, depthcols, and hzdesgncol parameters
  • Fixed slicing bug in __getitem__ where profile ID column was dropped when selecting specific horizons within profiles
  • Makefile gains new installing targets for plotting and dev dependencies
  • Code formatting and import cleanup in tests and main module

What's Changed

  • build(deps): bump fonttools from 4.56.0 to 4.61.0 in /docs by @dependabot[bot] in #3
  • build(deps): bump pymdown-extensions from 10.14.3 to 10.16.1 in /docs by @dependabot[bot] in #4
  • soilprofilecollection v0.3.0 by @brownag in #5

New Contributors

Full Changelog: 0.2.1...0.3.0

soilprofilecollection 0.2.1

Choose a tag to compare

@brownag brownag released this 13 Oct 01:43

soilprofilecollection 0.2.1

  • Resolved a FutureWarning in pandas by explicitly setting include_groups=False in a groupby().apply() call.

What's Changed

  • fix: futurewarning/pin pandas version by @brownag in #2

Full Changelog: 0.2.0...0.2.1

soilprofilecollection 0.2.0

Choose a tag to compare

@brownag brownag released this 13 Oct 00:42
6912787

soilprofilecollection v0.2.0

  • Added pytest test suite with fixtures and test coverage for core functionality
  • Added .from_dataframe() utility function for schema-based data import
  • Removed debug print statements throughout the codebase and streamlined error handling

What's Changed

Full Changelog: 0.1.0...0.2.0

soilprofilecollection 0.1.0

Choose a tag to compare

@brownag brownag released this 31 Mar 00:50

soilprofilecollection 0.1.0

  • Basic implementation of SoilProfileCollection object

    • Site and Horizon Data
    • Profile and Horizon IDs
    • CRS information and Metadata
    • Indexing with [i,j]
  • Added SoilProfileCollection .profile_apply() .glom() and .plot() methods

    • .glom() method does both slicing/intersection and aggregation

Full Changelog: https://github.com/brownag/soilprofilecollection/commits/0.1.0