Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/4thel00z/pipey
https://github.com/4thel00z/pipey
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/4thel00z/pipey
- Owner: 4thel00z
- License: gpl-3.0
- Created: 2023-10-24T23:10:07.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2023-10-24T23:11:31.000Z (about 1 year ago)
- Last Synced: 2024-11-24T16:52:05.471Z (about 1 month ago)
- Language: Go
- Homepage:
- Size: 851 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: COPYING
Awesome Lists containing this project
README
# pipey 🚰
![Pipey Logo](./pipey.jpeg)
`pipey` (pronounced /paɪpi/ like "pipe-ee") is a powerful utility that bridges the world of UNIX pipes and HTTP servers. With `pipey`, you can expose any data stream from a named pipe over HTTP, allowing for a myriad of applications, especially in creating non-blocking UIs with bash using Go binaries.
## Motivation 🌟
While UNIX pipes are incredibly powerful, they're limited to inter-process communication on the same machine. What if you wanted to expose the data from a pipe to other systems or services over HTTP? That's where `pipey` comes into play.
Moreover, in the era of interactive CLIs and TUIs, there's a growing need to integrate traditional shell scripting with modern UI paradigms. Tools like `charty` allow us to create visually appealing interfaces right from the terminal. By using `pipey`, we can further enhance these UIs by fetching data asynchronously over HTTP, ensuring our UI remains responsive and snappy.
Imagine crafting non-blocking UIs using bash and Go binaries, where the data is sourced from various scripts or processes via `pipey`. The possibilities are endless!
## Installation 🛠
To install `pipey`, use the following `go install` command:
```bash
go install github.com/4thel00z/pipey/...@latest
```Ensure your Go bin directory (usually $HOME/go/bin) is in your PATH to access the pipey command.
## Usage 🚀
```bash
pipey [PIPE_NAME] --host [HOST] --port [PORT] --timeout [SECONDS]
```For more details and options, refer to the command help:
```bash
pipey --help
```## Contributing 🤝
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.
## License 📄
This project is licensed under the GPL-3 license.