A re-writing of the specs pipeline stage from CMS, only changed quite a bit
"specs" is a command line utility for parsing and re-arranging text input. It allows re-alignment of fields, some format conversion, and re-formatting multiple lines into single lines or vice versa. Input comes from standard input, and output flows to standard output.
This version is liberally based on the CMS Pipelines User's Guide and Reference, especially chapters 16, 24, and 20.
28-Feb-2026: Version 0.9.6 is here
What's new:
- Support for newer Linux distros (newer gcc)
- Support for Visual Studio and latest Windows versions
- Alignment with C++ coding standards
03-Jan-2025: Version 0.9.5-HF1 is here
What's new:
- Fixes a bug where
RECNOwithin a loop returned the number of iterations of the loop rather than the numbers of records read.
NOTE: This is a non-backwards-compatible change.
To download your copy of specs, you can get it from github in either of two ways:
- Using git:
git clone https://github.com/yoavnir/specs2016.git - Using http:
wget https://github.com/yoavnir/specs2016/archive/dev.zip
If you have downloaded a git repository, first make sure to check out a stable tag such as v0.9.5:
git checkout v0.9.6
A good way to get the latest stable release is to check out the stable branch and rebase to its tip:
git checkout stable
git rebase
After that, cd to the specs/src directory, and run the following three commands:
python setup.pymake somesudo make install
Note: Windows does not need sudo.
Note: Only Python 3 is supported at this point.
Note: On some Mac machines, sudo make install will cause a warning about being the wrong user.
- Regular expression grammars other than the default
ECMAScriptdon't work except on Mac OS. - On Windows with Python support the appropriate dll (like
python38.dll) must be in the path.
Anyone can contribute. So far, I have written most of the code, but if you want to help, I'll be very happy. Feel free to:
- Submit bug reports or feature requests at the Issue Tracker.
- Help solve some existing issue.
- Submit pull requests
- Even if you use only Windows or only Linux, make sure to update both the
setup.pyfile and the relevantvcxprojfile or files.
When starting a new version:
- Update the README file
- Update the manpage
- Update specs/Directory.Build.props
The documentation for specs2016 exists in two places:
- In the manpage installed with the utility on Linux and Mac OS.
- In the docs directory.
specs2016 is licensed under the MIT License.