{"id":25082626,"url":"https://github.com/yoavnir/specs2016","last_synced_at":"2026-05-10T10:58:33.084Z","repository":{"id":34094969,"uuid":"161839875","full_name":"yoavnir/specs2016","owner":"yoavnir","description":"New version of the specs pipeline stage based on what's in current CMS pipelines","archived":false,"fork":false,"pushed_at":"2026-03-25T15:23:24.000Z","size":1143,"stargazers_count":1,"open_issues_count":3,"forks_count":1,"subscribers_count":1,"default_branch":"dev","last_synced_at":"2026-03-25T15:58:10.968Z","etag":null,"topics":["cms-pipelines","non-interactive","specs-pipeline-stage","text","text-processing"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yoavnir.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-12-14T20:59:59.000Z","updated_at":"2026-03-05T13:16:53.000Z","dependencies_parsed_at":"2024-02-21T10:25:09.399Z","dependency_job_id":"c8fe4e6f-711e-4e1e-a5c9-948d35d230d3","html_url":"https://github.com/yoavnir/specs2016","commit_stats":null,"previous_names":[],"tags_count":50,"template":false,"template_full_name":null,"purl":"pkg:github/yoavnir/specs2016","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yoavnir%2Fspecs2016","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yoavnir%2Fspecs2016/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yoavnir%2Fspecs2016/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yoavnir%2Fspecs2016/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yoavnir","download_url":"https://codeload.github.com/yoavnir/specs2016/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yoavnir%2Fspecs2016/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31290858,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cms-pipelines","non-interactive","specs-pipeline-stage","text","text-processing"],"created_at":"2025-02-07T05:32:15.875Z","updated_at":"2026-05-10T10:58:33.072Z","avatar_url":"https://github.com/yoavnir.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# specs2016\nA re-writing of the specs pipeline stage from CMS, only changed quite a bit\n\n\"specs\" is a command line utility for parsing and re-arranging text\ninput. It allows re-alignment of fields, some format conversion, and\nre-formatting multiple lines into single lines or vice versa. Input\ncomes from standard input, and output flows to standard output.\n\nThis version is liberally based on the [**CMS Pipelines User's Guide and Reference**](https://publib.boulder.ibm.com/epubs/pdf/hcsj0c30.pdf), especially chapters 16, 24, and 20.\n\nNews\n====\n1-May-2026: Version 0.9.9 is here\n\nWhat's new:\n * MSI package \u0026 standalone executable for Windows\n * .pkg package for Mac OS\n * RPM for Linux\n * .deb package for Ubuntu/Debian\n * Visual Studio infra for building for Windows\n * Improved guessing of Python version\n * New spec units: `SPLITW` and `SPLITF` for splitting input records by words or fields into multiple output records. These new spec units support optional custom separators, `OF` clauses (with the same semantics as SUBSTRING), and range output placement (e.g. `splitw 1-10`).\n * A more exact `exact()` function\n\n*Note:* Installing from package does not include Python support on Windows.\n\n*Note:* On Linux, the `specs` binary is bigger when installed from package, as it is statically linked with libstdc++.\n***\n28-Feb-2026: Version 0.9.6 is here\n\nWhat's new:\n * Support for newer Linux distros (newer gcc)\n * Support for Visual Studio and latest Windows versions\n * Alignment with C++ coding standards\n\nSources\n=======\nTo download your copy of *specs*, you can get it from [github](https://github.com/yoavnir/specs2016) in either of two ways:\n1. Using git: `git clone https://github.com/yoavnir/specs2016.git`\n2. Using http: `wget https://github.com/yoavnir/specs2016/archive/dev.zip`\n\nInstallation from binaries\n==========================\nThe binaries for the latest release can be downloaded from [**the release page**](https://github.com/yoavnir/specs2016/releases/tag/v0.9.9)\n\nLimitations:\n * You will not get any Python support for Python integration on Windows\n * You may get an older version of Python for Python integration on other platforms\n * No support for exotic OS-es like Windows on ARM.\n\nBuilding\n========\nIf you have downloaded a git repository, first make sure to check out a stable tag such as v0.9.9:\n```\ngit checkout v0.9.9\n```\nA good way to get the latest stable release is to check out the `stable` branch and rebase to its tip:\n```\ngit checkout stable\ngit rebase\n```\n\nAfter that, _cd_ to the specs/src directory, and run the following three commands:\n* `python setup.py` - use `python3` or `python3.x` if your default Python version is 2.7\n* `make some`\n* `sudo make install`\n\n*Note:* For Microsoft Windows, you can use **MSBuild** as follows:\n* Start from the repository directory (do not _cd_ to specs/src)\n* `msbuild specs/specs.sln /p:Configuration=Release /p:Platform=x64`\n* Now copy the resulting `specs.exe` to a target directory in the path. \n\n*Note:* Only Python 3 is supported at this point. To enable Python support, you need to have the `python3-devel` package that matches your python version installed.\n\n*Note:* On some Mac machines, `sudo make install` will cause a warning about being the wrong user.\n\nKnown Issues\n============\n* Regular expression grammars other than the default `ECMAScript` don't work except on Mac OS.\n* On Windows with Python support the appropriate dll (like `python38.dll`) must be in the path.\n\nContributing\n============\nAnyone 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:\n* Submit bug reports or feature requests at the [Issue Tracker](https://github.com/yoavnir/specs2016/issues).\n* Help solve some existing issue.\n* Submit pull requests\n* Even if you use only Windows or only Linux, make sure to update both the `setup.py` file and the relevant `vcxproj` file or files.\n\nNew Versions\n============\nWhen starting a new version:\n* Update the README file\n* Update the manpage\n* Update specs/Directory.Build.props\n\nContributors\n============\n* Yoav Nir ([yoavnir](https://github.com/yoavnir))\n* Jean-Baptiste Jouband ([Gawesomer](https://github.com/Gawesomer))\n\nDocumentation\n=============\nThe documentation for *specs2016* exists in two places:\n* In the *manpage* installed with the utility on Linux and Mac OS.\n* In the [docs](specs/docs/TOC.md) directory.\n\nLicense\n=======\n*specs2016* is licensed under the [MIT License](https://github.com/yoavnir/specs2016/blob/dev/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyoavnir%2Fspecs2016","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyoavnir%2Fspecs2016","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyoavnir%2Fspecs2016/lists"}