# Pipelib
[![PyPI version](https://badge.fury.io/py/pipelib.svg)](https://badge.fury.io/py/pipelib)
[![DOI](https://zenodo.org/badge/482741082.svg)](https://zenodo.org/badge/latestdoi/482741082)
Pipelib is a library for creating pipelines. You can parse, compare, and order iterables. With Pipelib you can:
1. Create a custom pipeline to parse and compare version strings
2. Use a collection of provided sorting functions for custom sorts.
3. Assemble different processing blocks to pre-process inputs first.
The initial ideas came from [Singularity Registry HPC (shpc)](https://github.com/singularityhub/singularity-hpc/blob/main/shpc/main/container/update/versions.py) that had a need to parse and compare version strings from docker container tags.
⭐️ [Documentation](https://vsoch.github.io/pipelib/) ⭐️
## TODO
- add tests for wrappers and pipelines
- automated detection / docs for pipelines too
- should be able to print pretty a pipeline / steps
- ToInteger doesn't work because we choose an int wrapper - we need to be able to detect output and apply a different wrapper type given int.
- pipeline steps will need a way to sort / compare / filter
## Contributors
We use the [all-contributors](https://github.com/all-contributors/all-contributors)
tool to generate a contributors graphic below.
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tbody>
<tr>
<td align="center" valign="top" width="14.28%"><a href="https://vsoch.github.io"><img src="https://avatars.githubusercontent.com/u/814322?v=4?s=100" width="100px;" alt="Vanessasaurus"/><br /><sub><b>Vanessasaurus</b></sub></a><br /><a href="https://github.com/vsoch/pipelib/commits?author=vsoch" title="Code">💻</a></td>
</tr>
</tbody>
</table>
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->
## License
This code is licensed under the MPL 2.0 [LICENSE](LICENSE).
Raw data
{
"_id": null,
"home_page": "https://github.com/vsoch/pipelib",
"name": "pipelib",
"maintainer": "Vanessa Sochat",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "library for collating (filtering,comparing,ordering) things",
"author": "Vanessa Sochat",
"author_email": "vsoch@users.noreply.github.com",
"download_url": "https://files.pythonhosted.org/packages/b0/9d/5d477e2e88f4f935e108d9e1d3202279be7d8de9c2486dbeb6045b1f4571/pipelib-0.0.17.tar.gz",
"platform": null,
"description": "# Pipelib\n\n\n[![PyPI version](https://badge.fury.io/py/pipelib.svg)](https://badge.fury.io/py/pipelib)\n[![DOI](https://zenodo.org/badge/482741082.svg)](https://zenodo.org/badge/latestdoi/482741082)\n\n\n\nPipelib is a library for creating pipelines. You can parse, compare, and order iterables. With Pipelib you can:\n\n1. Create a custom pipeline to parse and compare version strings\n2. Use a collection of provided sorting functions for custom sorts.\n3. Assemble different processing blocks to pre-process inputs first.\n\nThe initial ideas came from [Singularity Registry HPC (shpc)](https://github.com/singularityhub/singularity-hpc/blob/main/shpc/main/container/update/versions.py) that had a need to parse and compare version strings from docker container tags.\n\n\u2b50\ufe0f [Documentation](https://vsoch.github.io/pipelib/) \u2b50\ufe0f\n\n\n## TODO\n\n - add tests for wrappers and pipelines\n - automated detection / docs for pipelines too\n - should be able to print pretty a pipeline / steps\n - ToInteger doesn't work because we choose an int wrapper - we need to be able to detect output and apply a different wrapper type given int.\n - pipeline steps will need a way to sort / compare / filter\n\n## Contributors\n\nWe use the [all-contributors](https://github.com/all-contributors/all-contributors)\ntool to generate a contributors graphic below.\n\n<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n<!-- prettier-ignore-start -->\n<!-- markdownlint-disable -->\n<table>\n <tbody>\n <tr>\n <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://vsoch.github.io\"><img src=\"https://avatars.githubusercontent.com/u/814322?v=4?s=100\" width=\"100px;\" alt=\"Vanessasaurus\"/><br /><sub><b>Vanessasaurus</b></sub></a><br /><a href=\"https://github.com/vsoch/pipelib/commits?author=vsoch\" title=\"Code\">\ud83d\udcbb</a></td>\n </tr>\n </tbody>\n</table>\n\n<!-- markdownlint-restore -->\n<!-- prettier-ignore-end -->\n\n<!-- ALL-CONTRIBUTORS-LIST:END -->\n\n## License\n\nThis code is licensed under the MPL 2.0 [LICENSE](LICENSE).\n",
"bugtrack_url": null,
"license": "LICENSE",
"summary": "A command line client and functions for collation.",
"version": "0.0.17",
"project_urls": {
"Homepage": "https://github.com/vsoch/pipelib"
},
"split_keywords": [
"library for collating (filtering",
"comparing",
"ordering) things"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8ac9d19d5acb17eacb33da65ac089030ff641eac08b3f0de82ac9f4bfed76cda",
"md5": "21640772f761b706a6dcd6bff01e3d76",
"sha256": "86b4120e72ca39a752e5bd5f7d9bb1e61305ecfdb0e69e67b7ba637197d63b0d"
},
"downloads": -1,
"filename": "pipelib-0.0.17-py3-none-any.whl",
"has_sig": false,
"md5_digest": "21640772f761b706a6dcd6bff01e3d76",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 34903,
"upload_time": "2023-05-27T04:35:16",
"upload_time_iso_8601": "2023-05-27T04:35:16.478958Z",
"url": "https://files.pythonhosted.org/packages/8a/c9/d19d5acb17eacb33da65ac089030ff641eac08b3f0de82ac9f4bfed76cda/pipelib-0.0.17-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b09d5d477e2e88f4f935e108d9e1d3202279be7d8de9c2486dbeb6045b1f4571",
"md5": "9946ffec342526ddab4819404fbc7d3e",
"sha256": "2147b98d9fd9104881b407e67b6f2ac27cea4e3d13841c29696d69976e25a133"
},
"downloads": -1,
"filename": "pipelib-0.0.17.tar.gz",
"has_sig": false,
"md5_digest": "9946ffec342526ddab4819404fbc7d3e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 26915,
"upload_time": "2023-05-27T04:35:18",
"upload_time_iso_8601": "2023-05-27T04:35:18.180534Z",
"url": "https://files.pythonhosted.org/packages/b0/9d/5d477e2e88f4f935e108d9e1d3202279be7d8de9c2486dbeb6045b1f4571/pipelib-0.0.17.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-05-27 04:35:18",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "vsoch",
"github_project": "pipelib",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "pipelib"
}