Skip to main content

HydroSensorReader

Python 3.6 License: MIT pypi version Build status codecov

This project aims to provide a simple way to read scientific files produced by any kind of probe, sensor, or anything used in hydrogeology.

Installation

You can directly install this package with the command: pip install HydroSensorReader.

After the installation, you can use the package by using

import hydsensread as hsr

# File based reader
file_path = 'my_file_path'

# Files Generating Timeseries results
# =====================================

# read CR1000 files
r = hsr.DATCampbellCRFileReader(file_path)

# read Hanna multiparameter probes 
# - (model HI-9828 and HI-9829 tested)
# - Supported extension : '.xls', '.xlsx'
r = hsr.XLSHannaFileReader(file_path)

# Read Solinst Levelogger and Barologger files
# - Supported extension : '.lev', '.xle', '.csv'
r = hsr.SolinstFileReader(file_path)

# Plot the results with
r.plot()

# Files Generating Generic results
# =====================================
# read Maxxam laboratory analysis files.
# - Supported extension : '.xls', '.xlsx'
r = hsr.XSLMaxxamFileReader(file_path)


# Web data scrappers 
# These data scrappers use the station name.
station = 'StationName'
r = hsr.GNBWaterQualityStation(station)

Dependencies

Main package definition

file_reader

Implementation of different file readers. Each python file contains a main launcher to the class.

  • compagny_file_reader - Reader of generated files comming from different probes or labs.
  • web_page_reader - Web crawlers in charge of extracting data from web sites

file_parser

This package contains the classes in charge of reading the different files. More information about these packages is available in the code.

  • abstract_file_parser.py
    • AbstractFileParser - Abstract class used as an interface to implement the others
  • concrete_file_parser.py
    • CSVFileParser
    • TXTFileParser
    • EXCELFileParser
    • WEB_XMLFileParser

site_and_records

This package contains classes defining the domain elements and the data describing them

  • site.py
    • Site - A basic site class with the site name a the visited date
    • SensorPlateform - A Plateform is an object that can take measurements as a standalone object
    • Sample - Sample as an object manipulated by a laboratory
    • StationSite - Modelisation of a station object
    • StreamFlowStation - This specialized class was created to store the information of the ECCC website
  • records.py
    • Parameter - Class acting as a structure to store a parameter value (what is observed) and its associated unit
    • Record - A record must have a date, a parameter, a unit, and a value.
    • TimeSeriesRecords - The record_date corresponds to the first date of the list of values. Values are stored as a Dict as follows :
      • { date1: value1, date2: value2,...}
    • ChemistryRecord -A chemistry record has a detection limit, a report date, an analysis type and all the attributes of a Record

file_example

This folder contains several examples of files for testing.

Work To Do

  • Add a .LAS reader to take care of borehole geophysics files
  • Add a .LAS reader to take care of LiDar data
  • Create a Strategy class so you can input a file and the strategy class select the correct file_reader class
  • Continue documentation... always...

Release files for HydroSensorReader 1.7.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for HydroSensorReader 1.7.6
File Size Uploaded
HydroSensorReader-1.7.6.tar.gz 1.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for HydroSensorReader 1.7.6
File Interpreter ABI Platform
HydroSensorReader-1.7.6-py3-none-any.whl Python 3 none any Details

Total release size: 2.9 MB

Release files / HydroSensorReader-1.7.6.tar.gz

Download URL HydroSensorReader-1.7.6.tar.gz
Size 1.4 MB
Tags Source
SHA-256 checksum
How to use checksums
7a35b749a233cdcce2a80f750062b02e88210240de381411972040431cf8cfb2
BLAKE2b-256 checksum
How to use checksums
2974ee76e51b7997afeb339fc901707d2fcaae4aca7f12a504451fb712f0188a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

Release files / HydroSensorReader-1.7.6-py3-none-any.whl

Download URL HydroSensorReader-1.7.6-py3-none-any.whl
Size 1.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
1594524862fc3851c69987a2b0682941bb40adf1fd0b412d87656441d051c10b
BLAKE2b-256 checksum
How to use checksums
d41563d4605e74ab39cece8e027081b02835d2b82642a36d2d708ba16052b48f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

Release history Release notifications | RSS feed

This release

1.7.6 This release

2 release files

1.7.5

2 release files

1.7.4

2 release files

1.7.3

2 release files

1.7.2

2 release files

1.7.1.9

1 release file

1.7.1.8

1 release file

1.7.1.7

1 release file

1.7.1.6

1 release file

1.7.1.5

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page