0.8.0
The focus of 0.8.0 release is on addressing technical debt, modernizing our codebase, improving performance, and making it easier to contribute. Furthermore, we added support for BRO XML files for CPT and BHRgt objects.
To support BRO XML and GEF files we designed a DataClass
that holds the information in a standardized format. The names of the properties in the DataClass
as the column names of the DataFrame
are similar to the BRO standaard naming. We also made the decision to freeze the DataClass
as it holds only the parse data of the CPT or Bore file.
We believe that the chances we made resulted in more stable codebase as well an easier maintainability.
Breaking Changes
Instead of importing the Cpt
or Bore
object, you now import the read_cpt
or read_bore
functions:
- from pygef import Cpt
+ from pygef import read_cpt
- gef = Cpt("./my-file.gef")
+ gef = read_cpt("./my-file.gef")
The dataframe can now be accessed using the data
attribute. Please note that we changed the column names of the DataFrame
. The names are now linked to the BRO names:
- print(gef.df.head())
+ print(gef.data.head())
Property names have changed or return a different type, for example:
- gef.x
+ gef.standardized_location.x
- gef.zid
+ gef.delivered_vertical_position_offset
- gef.cpt_class
+ gef.quality_class.name
- gef.height_system
+ gef.delivered_vertical_position_datum.name
- gef.type_of_cone_penetration_test
+ gef.cpt_type
- gef.test_id
+ gef.alias
- gef.end_depth_of_penetration_test
+ gef.final_depth
Plotting has now been moved to its own function in its own module:
- gef.plot()
+ from pygef.plotting import plot_cpt
+
+ plot_cpt(gef)
Full Changelog: 0.7.4...0.8.0
What's Changed
- Bump version to 0.7.4 by @tlukkezen in #220
- 222 - Allow patch version range in setup requirements by @tlukkezen in #223
- pin requirements in requirements.txt by @tlukkezen in #224
- Bump polars[pyarrow] from 0.13.59 to 0.13.62 by @dependabot in #228
- chore[bro]: set strict mypy rules by @ritchie46 in #213
- refactor[gef]: lot's of refactoring by @ritchie46 in #235
- tests: move tests to dedicated folder by @ritchie46 in #243
- ci: don't automatically release from master by @ritchie46 in #244
- refactor: init broxml test and strict mypy by @ritchie46 in #245
- refactor: parsing the xml generic by @ritchie46 in #246
- Bump black from 22.6.0 to 22.8.0 by @dependabot in #247
- Bump mypy from 0.961 to 0.971 by @dependabot in #237
- load cpt data by @ritchie46 in #253
- parse header names and only parse measured columns by @ritchie46 in #254
- test all attributes by @ritchie46 in #255
- add a shim for the gef-file parser by @ritchie46 in #260
- make xml-parser generic by @ritchie46 in #262
- parse bore layers by @ritchie46 in #263
- add soil distribution by @ritchie46 in #264
- remove first xml bore parser by @ritchie46 in #265
- add basic cpt plotting by @ritchie46 in #270
- update readme by @ritchie46 in #271
- chore: add linting, rm old GEF functions, update docs by @RDWimmers in #290
- Bump ipython from 7.34.0 to 8.11.0 by @dependabot in #288
- Bump matplotlib from 3.5.2 to 3.7.0 by @dependabot in #286
- chore(pytest): use pytest for all test, omit tests in cov report by @RDWimmers in #291
- feat: support for NEN5104, update GEF properties by @RDWimmers in #294
- fix(ci): trigger release on every tag by @tversteeg in #293
- doc: add attributes to docstring by @RDWimmers in #295
- feat: add groundwater level property to cpt by @RDWimmers in #296
- fix(naming): standardize casing by @RDWimmers in #297
- fix(parsing): provide parsing engine by @RDWimmers in #298
- feat: update soil distribution by @RDWimmers in #300
Full Changelog: 0.7.4...0.8.0