HydroSensorReader


NameHydroSensorReader JSON
Version 1.7.1.9 PyPI version JSON
download
home_pagehttps://github.com/x-malet/scientific_file_reader
SummaryContain files readers for specific sensors files
upload_time2018-04-16 14:22:49
maintainer
docs_urlNone
authorLaptop
requires_python
licenseGPLv3
keywords
VCS
bugtrack_url
requirements beautifulsoup4 requests openpyxl xlrd xlwt pandas matplotlib numpy
Travis-CI
coveralls test coverage No coveralls.
            HydroSensorReader
======================

[![Build Status](https://travis-ci.org/x-malet/scientific_file_reader.svg?branch=master)](https://travis-ci.org/x-malet/scientific_file_reader)
[![Python 3.6](https://img.shields.io/badge/python-3.6-blue.svg)](https://www.python.org/downloads/release/python-360/)
[![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)

This project aim to provide a simple way to read a scientific file provided by any
kind of probe, sensor, or anything used specificly 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 
```python
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)


```


Dependency
----------
- [openpyxl](https://openpyxl.readthedocs.io/en/default/)
- [xlrd](http://www.python-excel.org/)
- [xlwt](http://www.python-excel.org/)
- [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/)
- [requests](http://docs.python-requests.org/en/master/)
- [pandas](https://pandas.pydata.org/)



Main entry point
-----
The main entry point for this project is the `file_reader` package. You can choose between the readers available and do your work.


Main package definition
=============

`file_reader`
----
Implementation of diffenrents files readers. _Each python files contain a main laucher to the the class._

* __compagny_file_reader__
_- Reader of generated files comming from different probes or labs._
* __web_page_reader__
_- Web crawlers in charge of extracting the datas from web sites_

`file_parser`
--------

This package contain the classes responsible of the different files reading. More information abouts these package is available into them
* __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 contain classes defining the domain elements and carry the data describing them
* __site.py__
    * __Site__
        _- A basic site class with the site name a the visited date_
    * __SensorPlateform__
        _- A Plateform is an that can take measurement 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](http://climate.weather.gc.ca/historical_data/search_historic_data_e.html)
* __records.py__
    * __Parameter__ - Class acting as a structure to store parameter (what is observed) and its associated unit
    * __Record__ 
    _- A record must have a date, a parameter, an unit and a value._
    * __TimeSeriesRecords__ 
    _- The record_date correspond to the first date of the values list. Values are stored as a Dict as following :_
        - { date1: value1, date2: value2,...}
    * __ChemistryRecord__
    _-A chemistry record have a detection limit a report date and an analysis type and all the attributes of a __Record___
        
`file_example`
------------

You have several files examples in this folder used a tests
    
    
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...
            

Raw data

            {
    "maintainer": "", 
    "docs_url": null, 
    "requires_python": "", 
    "maintainer_email": "", 
    "cheesecake_code_kwalitee_id": null, 
    "keywords": "", 
    "upload_time": "2018-04-16 14:22:49", 
    "requirements": [
        {
            "name": "beautifulsoup4", 
            "specs": [
                [
                    ">=", 
                    "4.6.0"
                ]
            ]
        }, 
        {
            "name": "requests", 
            "specs": [
                [
                    ">=", 
                    "2.18.4"
                ]
            ]
        }, 
        {
            "name": "openpyxl", 
            "specs": [
                [
                    ">=", 
                    "2.4.8"
                ]
            ]
        }, 
        {
            "name": "xlrd", 
            "specs": [
                [
                    ">=", 
                    "1.1.0"
                ]
            ]
        }, 
        {
            "name": "xlwt", 
            "specs": [
                [
                    ">=", 
                    "1.3.0"
                ]
            ]
        }, 
        {
            "name": "pandas", 
            "specs": [
                [
                    ">=", 
                    "0.22.0"
                ]
            ]
        }, 
        {
            "name": "matplotlib", 
            "specs": [
                [
                    ">=", 
                    "2.2.2"
                ]
            ]
        }, 
        {
            "name": "numpy", 
            "specs": [
                [
                    ">=", 
                    "1.14.2"
                ]
            ]
        }
    ], 
    "author": "Laptop", 
    "home_page": "https://github.com/x-malet/scientific_file_reader", 
    "github_user": "x-malet", 
    "download_url": "https://pypi.python.org/packages/45/77/ba026160c4ab1a172bbea1f1cd3ce8b7c1db626aebad5ec4ab096342f9fa/HydroSensorReader-1.7.1.9.tar.gz", 
    "platform": "", 
    "version": "1.7.1.9", 
    "cheesecake_documentation_id": null, 
    "description": "HydroSensorReader\n======================\n\n[![Build Status](https://travis-ci.org/x-malet/scientific_file_reader.svg?branch=master)](https://travis-ci.org/x-malet/scientific_file_reader)\n[![Python 3.6](https://img.shields.io/badge/python-3.6-blue.svg)](https://www.python.org/downloads/release/python-360/)\n[![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n\nThis project aim to provide a simple way to read a scientific file provided by any\nkind of probe, sensor, or anything used specificly in hydrogeology.\n\n## Installation\n\nYou can directly install this package with the command:\n` pip install HydroSensorReader`.\n\nAfter the installation, you can use the package by using \n```python\nimport hydsensread as hsr\n\n# File based reader\nfile_path = 'my_file_path'\n\n# Files Generating Timeseries results\n# =====================================\n\n# read CR1000 files\nr = hsr.DATCampbellCRFileReader(file_path)\n\n# read Hanna multiparameter probes \n# - (model HI-9828 and HI-9829 tested)\n# - Supported extension : '.xls', '.xlsx'\nr = hsr.XLSHannaFileReader(file_path)\n\n# read Solinst Levelogger and Barologger files\n# - Supported extension : '.lev', '.xle', '.csv'\nr = hsr.SolinstFileReader(file_path)\n\n# Plot the results with\nr.plot()\n\n# Files Generating Generic results\n# =====================================\n# read Maxxam laboratory analysis files.\n# - Supported extension : '.xls', '.xlsx'\nr = hsr.XSLMaxxamFileReader(file_path)\n\n\n# Web data scrappers \n# These data scrappers use the station name.\nstation = 'StationName'\nr = hsr.GNBWaterQualityStation(station)\n\n\n```\n\n\nDependency\n----------\n- [openpyxl](https://openpyxl.readthedocs.io/en/default/)\n- [xlrd](http://www.python-excel.org/)\n- [xlwt](http://www.python-excel.org/)\n- [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/)\n- [requests](http://docs.python-requests.org/en/master/)\n- [pandas](https://pandas.pydata.org/)\n\n\n\nMain entry point\n-----\nThe main entry point for this project is the `file_reader` package. You can choose between the readers available and do your work.\n\n\nMain package definition\n=============\n\n`file_reader`\n----\nImplementation of diffenrents files readers. _Each python files contain a main laucher to the the class._\n\n* __compagny_file_reader__\n_- Reader of generated files comming from different probes or labs._\n* __web_page_reader__\n_- Web crawlers in charge of extracting the datas from web sites_\n\n`file_parser`\n--------\n\nThis package contain the classes responsible of the different files reading. More information abouts these package is available into them\n* __abstract_file_parser.py__\n    * __AbstractFileParser__\n    _- Abstract class used as an interface to implement the others_\n* __concrete_file_parser.py__\n    * __CSVFileParser__\n    * __TXTFileParser__\n    * __EXCELFileParser__\n    * __WEB_XMLFileParser__\n\n`site_and_records`\n------\nThis package contain classes defining the domain elements and carry the data describing them\n* __site.py__\n    * __Site__\n        _- A basic site class with the site name a the visited date_\n    * __SensorPlateform__\n        _- A Plateform is an that can take measurement as\n                                 a standalone object_\n    * __Sample__\n        _- Sample as an object manipulated by a laboratory_\n    * __StationSite__ - Modelisation of a station object\n    * __StreamFlowStation__ - This specialized class was created to store the information of the [ECCC website](http://climate.weather.gc.ca/historical_data/search_historic_data_e.html)\n* __records.py__\n    * __Parameter__ - Class acting as a structure to store parameter (what is observed) and its associated unit\n    * __Record__ \n    _- A record must have a date, a parameter, an unit and a value._\n    * __TimeSeriesRecords__ \n    _- The record_date correspond to the first date of the values list. Values are stored as a Dict as following :_\n        - { date1: value1, date2: value2,...}\n    * __ChemistryRecord__\n    _-A chemistry record have a detection limit a report date and an analysis type and all the attributes of a __Record___\n        \n`file_example`\n------------\n\nYou have several files examples in this folder used a tests\n    \n    \nWork To Do\n----------\n-   Add a `.LAS` reader to take care of __borehole geophysics__ files\n-   Add a `.LAS` reader to take care of __LiDar__ data\n-   Create a Strategy class so you can input a file and the strategy class select the correct `file_reader` class\n-   Continue documentation...always...", 
    "lcname": "hydrosensorreader", 
    "bugtrack_url": null, 
    "github": true, 
    "coveralls": false, 
    "name": "HydroSensorReader", 
    "license": "GPLv3", 
    "travis_ci": true, 
    "github_project": "scientific_file_reader", 
    "summary": "Contain files readers for specific sensors files", 
    "split_keywords": [], 
    "author_email": "maletxa@gmail.com", 
    "urls": [
        {
            "has_sig": false, 
            "upload_time": "2018-04-16T14:22:49", 
            "comment_text": "", 
            "python_version": "source", 
            "url": "https://pypi.python.org/packages/45/77/ba026160c4ab1a172bbea1f1cd3ce8b7c1db626aebad5ec4ab096342f9fa/HydroSensorReader-1.7.1.9.tar.gz", 
            "md5_digest": "19bafa00031f5f85a2730ff30d664831", 
            "downloads": 0, 
            "filename": "HydroSensorReader-1.7.1.9.tar.gz", 
            "packagetype": "sdist", 
            "path": "45/77/ba026160c4ab1a172bbea1f1cd3ce8b7c1db626aebad5ec4ab096342f9fa/HydroSensorReader-1.7.1.9.tar.gz", 
            "digests": {
                "sha256": "0777b47a1839e47b2668f6b7da4064114295720ba930002ee4deb0fb32748aa6", 
                "md5": "19bafa00031f5f85a2730ff30d664831"
            }, 
            "sha256_digest": "0777b47a1839e47b2668f6b7da4064114295720ba930002ee4deb0fb32748aa6", 
            "size": 1369809
        }
    ], 
    "_id": null, 
    "cheesecake_installability_id": null
}