Skip to main content

Schweitzer Engineering Laboratories (SEL) Compressed EVent (CEV) Reader

Project description

PyCEV logo

Python interpreter for SEL (Schweitzer Engineering Laboratories) CEV (Compressed EVent record) files.

PyPI Version Downloads Stars License

pytest-unit-tests pydocstyle pylint

Functional Test Status
Branch Status
main Build Status
develop Build Status

NOTE: This project is in VERY early stages of development and is nowhere near completion.

Description

This project, pycev, is intended to provide a means to interpret and interact with SEL CEV files for scientific analysis using common Python tools such as NumPy, Pandas, Matplotlib, and others. This package provides a parser and manager system to load and interact with SEL Compressed Event files. Potential avenues to explore for future development include a COMTRADE conversion tool to allow CEV to COMTRADE conversions, or to write CEV files from raw data.

This project is largely developed by using reverse-engineering practices to interpret the CEV files generated by SEL relays.

Example Usage

from pycev import CEV
# Load a file and parse, directly.
record = CEV(file="./event-report.cev")
print("Trigger time = {}s".format(record.trigger_time))

Antu dialog-warning Caution

This project, although providing support for CEV files created by SEL, is not sponsored, tested, or vetted in any way by Schweitzer Engineering Laboratories (SEL). This project is authored and maintained as an open-source project. Testing is performed on a very small set of event records provided from hardware running in the author's basement in the author's basement. In short, this project has no association with SEL.

Since this project is not rigorously tested across all SEL devices or in a wide variety of use-cases, any time this project is used, it should first be thoroughly tested. This project is not intended to serve protection-class systems in any capacity. It should primarily be used for research, exploration, and other learning objectives.

Installation

From PyPI as a Python Package

Just go ahead and issue: pip install pycev

From GitHub as a Python Package

To install pycev from GitHub:

  1. Download the repository as a zipped package.
  2. Unzip the repository.
  3. Open a terminal (command-prompt) and navigate to the new folder that's been unzipped. (Hint: Use cd <the-path-to-the-folder-you-unzipped-in>/pycev)
  4. Use pip or python to install with the following commands, respectively:
    • $ pip install .
    • $ python setup.py install
  5. Verify that it's been installed by opening a Python instance and importing: >>> import pycev If no errors arise, the package has been installed.

From GitHub as a Standalone File

If you wish to use pycev as a standalone file in your Python project, you can simply download the pycev.py file from GitHub (you'll want this file exactly) and save it wherever you need it! Then, just import pycev and away you go!

Contributing

Want to get involved? We'd love to have your help!

Please help us by identifying any issues that you come across. If you find an error, bug, or just have questions, jump over to the issue page.

If you want to add features, or contribute yourself, feel free to open a pull-request.

Running Tests Locally

To run tests locally, pytest is required, then you may simply run the command:

$ pytest tests/unit

Not all tests can be run, locally, since the functional tests require additional resources provided by a Jenkins runner managed by Joe Stanley.

Contact Info

:information_source: As mentioned in the caution above, this project is not associated with Schweitzer Engineering Laboratories (SEL) in any way, and as such, all contacts for questions, support, or other items should be directed to the resources listed here.

For issues found in the source code itself, please feel free to open an issue, but for general inquiries and other contact, feel free to address Joe Stanley.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pycev-0.1.0.tar.gz (15.5 kB view details)

Uploaded Source

Built Distribution

pycev-0.1.0-py3-none-any.whl (14.6 kB view details)

Uploaded Python 3

File details

Details for the file pycev-0.1.0.tar.gz.

File metadata

  • Download URL: pycev-0.1.0.tar.gz
  • Upload date:
  • Size: 15.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for pycev-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a9ebf926fa08e0ba38d8251e8b8fc5cd2f4c5d89b485b87dd66c0445ed0d38a8
MD5 1b3a2f689503c57438f48041ea319aa8
BLAKE2b-256 c7c2edf23296eb6d9ec7d685780648f435561ec767eb7561555a7dd293029823

See more details on using hashes here.

File details

Details for the file pycev-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pycev-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for pycev-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 51ef438836a29b5391474b957375a9c5e637a69ec535644a7e5581fc62689200
MD5 3c2b20d50e2be2a831ac9ce271146fd6
BLAKE2b-256 7e1e4ee508d1ca1bc7ec78825c265d5b16fd8e447d7a727e04248cbc61cf194b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page