semvec/pypi-packages huggingface dataset:
lidar-processing 0.3.0
Routines for atmospheric lidar processing.
License: MIT
Keywords: lidar aerosol processing

.. image:: https://readthedocs.org/projects/lidar-processing/badge/?version=latest
   :target: http://lidar-processing.readthedocs.io/en/latest/?badge=latest
   :alt: Documentation Status

..
   .. image:: https://codeship.com/projects/2e21b760-6eaf-0134-9495-3e75f4fffff1/status?branch=default
      :target: https://codeship.com/projects/177870
      :alt: Build Status

Description
===========

This module collects basic processing routines for aerosol lidar systems.

The module should include only the pre-processing and optical processing functions. Reading data, visualization, etc.
should be handled by different modules.



Installation
------------

The module is tested for Python 2.7.* and slightly for Python 3.6

The suggested method to install is to clone the repository and install it using the -e command.

.. sourcecode:: console

   pip install -e ./lidar_processing

assuming that the module is cloned in the lidar_processing directory.

The installation procedure is not yet fully automatic. You may need to install numpy, scipy manually. Probably
the best way to install numpy and scipy is through a distribution like `anaconda <https://www.continuum.io/downloads>`_.


Documentation
-------------

Each function should be documented following the Numpy doc style.

For details see the `numpy documentation <https://github.com/numpy/numpy/blob/master/doc/HOWTO_DOCUMENT.rst.txt>`_.


All docstrings are collected to a single documentation file using the `Sphinx <http://www.sphinx-doc.org/>`_ module.
The documentation is located in the docs/ folder. The documentation is written in
`restructured text <http://www.sphinx-doc.org/en/stable/rest.html>`_ format.

You can rebuild the docs by running the following command from the docs folder.

.. sourcecode:: console

   make html

The documentation is also built automatically every time you push your changes to the repository. You can find it online
in `Read the docs <https://readthedocs.org/projects/lidar-processing/>`_.


Testing
-------
Some tests, based on unittest2 library, are located in the lidar_processing/tests/ folder.

You can run all the test using the commands from the project directory.

.. sourcecode:: console

   python -m unittest discover


Notebooks and data
------------------
The project includes some test data in the /data/ folder. It also includes some ipython notebooks with some
example processing of the data. You can run the notebook with the command:

.. sourcecode:: console

   jupyter notebook


Sponsors
--------
The development of this module is supported by `Raymetrics S.A. <https://www.raymetrics.com/>`_.

.. image:: logos/raymetrics_logo.png
   :target: https://www.raymetrics.com/
   :alt: Raymetrics logo
eac-logchecker 0.8.1
Logchecker for logs generated by EAC
License: MIT
Requires Python: >=3.5.0

# EAC Logchecker

![Travis-CI Status](https://img.shields.io/travis/com/OPSnet/eac_logchecker.py/master.svg)
![PyPI](https://img.shields.io/pypi/v/eac_logchecker.svg)

This is a transparent implementation of the Exact Audio Copy log checksum algorithm in Python 3.5+.

This is a fork of https://github.com/puddly/eac_logsigner, with modifications to have it
better match the output of the actual EAC Logchecker to be used in downstream applications. All
credit goes to puddly for reverse-engineering the closed source EAC to develop the base.

## Requirements

* Python 3.5+
* [pprp](http://pypi.org/project/pprp)==0.2.6

## Installation

From PyPI:

    $ pip install eac-logchecker

From source:

    $ git clone https://github.com/OPSnet/eac_logchecker.py
    $ cd eac_logchecker.py
    $ python setup.py install

## Usage

    usage: eac_logchecker.py [-h] [--json] file

    Verifies and resigns EAC logs

    positional arguments:
    file        input log file

    optional arguments:
    -h, --help  show this help message and exit
    --json      Output as JSON

## Example

    $ eac_logchecker logs/01.log
    Log Integrity Checker   (C) 2010 by Andre Wiethoff

    1. Log entry is fine!
    $ eac_logchecker logs/01.log
    $ eac_logchecker logs/05.log
    Log Integrity Checker   (C) 2010 by Andre Wiethoff

    1. Log entry is fine!
    2. Log entry is fine!
    $ eac_logchecker --json logs/05.log
    [{"message": "Log entry is fine!", "status": "OK"}, {"message": "Log entry is fine!", "status": "OK"}]

## Algorithm

 1. Strip the log file of newlines and BOMs.
 2. Cut off the existing signature block and (re-)encode the log text back into little-endian UTF-16
 3. Encrypt the log file with Rijndael-256:
    * in CBC mode
    * with a 256-bit block size (most AES implementations hard-code a 128-bit block size)
    * all-zeroes IV
    * zero-padding
    * the hex key `9378716cf13e4265ae55338e940b376184da389e50647726b35f6f341ee3efd9`
 4. XOR together all of the resulting 256-bit ciphertext blocks. You can do it byte-by-byte, it doesn't matter in the end.
 5. Output the little-endian representation of the above number, in uppercase hex.