Package: pycev
PyCEVPython interpreter for SEL (Schweitzer Engineering Laboratories) CEV (Compressed EVent record) files.Functional Test StatusBranchStatusmaindevelopNOTE:This project is in VERY early stages of development and is nowhere near completion.DescriptionThis 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 UsagefrompycevimportCEV# Load a file and parse, directly.record=CEV(file="./event-report.cev")print("Trigger time ={}s".format(record.trigger_time))CautionThis 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.InstallationFrom PyPI as a Python PackageJust go ahead and issue:pip install pycevFrom GitHub as a Python PackageTo installpycevfrom GitHub:Download the repository as a zipped package.Unzip the repository.Open a terminal (command-prompt) and navigate to the new folder that's been unzipped.
(Hint:Usecd <the-path-to-the-folder-you-unzipped-in>/pycev)Usepiporpythonto install with the following commands, respectively:$ pip install .$ python setup.py installVerify that it's been installed by opening a Python instance and importing:>>> import pycevIf no errors arise, the package has been installed.From GitHub as a Standalone FileIf you wish to usepycevas a standalone file in your Python project, you can simply
download thepycev.pyfile from GitHub (you'll wantthis fileexactly)
and save it wherever you need it! Then, justimport pycevand away you go!ContributingWant 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 theissuepage.If you want to add features, or contribute yourself, feel free to open a pull-request.Running Tests LocallyTo run tests locally,pytestis required,
then you may simply run the command:$pytesttests/unitNot 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 thecautionabove, 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 anissue, but for general inquiries
and other contact, feel free to address Joe Stanley.engineerjoe440@yahoo.com