# Measurement Processor **Meas**urement**Process**or Collection of different measurement processors --- especially with regards to geospatial data # Installation Either clone the repo directly or use pip install. `pip install git+` Make sure to replace `` with the correct URL. # Requirements To install all necessary requirements use: `pip install -r requirements.txt` `conda install -r requirements.txt` # Testing To run all available unit-tests: `python -m pytest tests` to also output stdout use: `python -m pytest -s tests` Alternatively you can directly call individual test modules. For instance: `python -m pytest -s tests/overpy_series_test.py` # Coding Guidlines **General** * Use [type hints](https://mypy.readthedocs.io/en/stable/cheat_sheet_py3.html) for parameters and return values for each function you implement * Each module should have basic [unit tests](https://realpython.com/python-testing/) so that we can catch coding errors before we push changes * Each function and class should include a [docstring](https://realpython.com/documenting-python-code/#documenting-your-python-code-base-using-docstrings) **Good Practices** * Common pittfalls --- for instance wrong EPSG --- should be handled via [warnings](https://docs.python.org/3/library/warnings.html) or exceptions so that errors are not introduced silently * Whenever we are dealing with coordinates, we try to use [geopandas.GeoSeries](https://geopandas.org/reference/geopandas.GeoSeries.html) so that the projection is handled explicitly * Use progress bars such as [tqdm](https://tqdm.github.io/) for jobs which take a considerable amount of time