https://github.com/mbarbin/eio-process
Extending the [Eio.Process] api to spawn external processes
https://github.com/mbarbin/eio-process
Last synced: 10 months ago
JSON representation
Extending the [Eio.Process] api to spawn external processes
- Host: GitHub
- URL: https://github.com/mbarbin/eio-process
- Owner: mbarbin
- License: mit
- Archived: true
- Created: 2024-02-25T09:01:24.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-02-21T09:54:46.000Z (over 1 year ago)
- Last Synced: 2025-02-28T11:45:14.173Z (over 1 year ago)
- Language: OCaml
- Homepage: https://mbarbin.github.io/eio-process/
- Size: 751 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- License: LICENSE
Awesome Lists containing this project
README
# eio-process
[](https://github.com/mbarbin/eio-process/actions/workflows/ci.yml)
[](https://coveralls.io/github/mbarbin/eio-process?branch=main)
:warning: This repository is now a public archive. I have stopped developping the `eio-process` project and will not be maintaining it forward.
---
This is an experimental library to spawn external processes in [Eio](https://github.com/ocaml-multicore/eio) with an api that resembles [Async.Process](https://github.com/janestreet/async_unix).
This project re-uses some function and type names from the `Async_unix.Process` interface. The implementation however is quite different, since the original runs in the `Async` monad, whereas this lib targets `Eio`.
## Motivation
We find that this API offers convenient wrappers that we believe are a good fit on top of the core functionality offered by `Eio.Process`.
## Usage
`Eio_process` is meant to be used directly as a top-level module, alongside other `Eio` modules. We do not recommend shadowing `Eio.Process` with `Eio_process` in user code at this time.
## Acknowledgements
We would like to express our gratitude to the `Eio` developers for their work on the [eio](https://github.com/ocaml-multicore/eio) project, and for the original module `Eio.Process` that this project extends. `Eio` is released under the terms of an ISC License. Its copyright and permission notice are included at the root of this project, in the file `LICENSE.eio`.
We also appreciate the work done by the async team at Jane Street and their contribution to the open source community. We're thankful for the api exposed by the `Async_unix.Process` module which we took inspiration from in this project. `Async_unix` is released under the terms of an `MIT` License. Its copyright and permission notice are included at the root of this project, in the file `LICENSE.janestreet`.
## Code Documentation
The code documentation of the latest release is built with `odoc` and published to `GitHub` pages [here](https://mbarbin.github.io/eio-process).