Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tbrand/neph
A modern command line job processor, similar with make command
https://github.com/tbrand/neph
command-line command-line-app command-line-tool concurrency crystal job-processor job-scheduler make yml
Last synced: about 2 months ago
JSON representation
A modern command line job processor, similar with make command
- Host: GitHub
- URL: https://github.com/tbrand/neph
- Owner: tbrand
- License: mit
- Created: 2017-05-05T10:20:53.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-03-08T22:57:49.000Z (almost 2 years ago)
- Last Synced: 2024-09-30T23:03:09.062Z (2 months ago)
- Topics: command-line, command-line-app, command-line-tool, concurrency, crystal, job-processor, job-scheduler, make, yml
- Language: Crystal
- Homepage: https://tbrand.github.io/neph/
- Size: 5.9 MB
- Stars: 204
- Watchers: 14
- Forks: 7
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-crystal - neph - A modern command line job processor that can execute jobs concurrently (Processes and Threads)
- awesome-crystal - neph - A modern command line job processor that can execute jobs concurrently (Processes and Threads)
- awesome-crystal - neph - A modern command line job processor that can execute jobs concurrently (Processes and Threads)
README
- A modern command line job processor written in Crystal :rocket:
- Parallel job execution. :rocket:
- Use like `make` command. :rocket:## Installation
### Arch Linux
Use your favourite AUR helper.
Package name: [`neph-git`](https://aur.archlinux.org/packages/neph-git/)### Mac
You can install Neph with `brew`.
```bash
$ brew tap tbrand/homebrew-neph
$ brew install neph
```### Manual
Build dependencies:
- `crystal` and `shards` for building the binary
- `go-md2man` for generating the man pageIt needs `libyaml` to be installed.
If you have a previous version of `neph` installed:
```bash
$ git clone https://github.com/tbrand/neph
$ cd neph
$ neph # man page will be at neph.1, binary will be at bin/neph
```
If you don't have a previous version of `neph` installed:
```bash
$ git clone https://github.com/tbrand/neph
$ cd neph
$ shards build # Now executable binary is located at bin/neph
$ bin/neph man # Generate man page. It will be located at neph.1
```## Usage
All features for neph.yaml is written in [sample/neph.yaml](https://github.com/tbrand/neph/blob/master/sample/neph.yaml). So please refer for the details.
Wiki is also maintained as a document. Here is a full features.
- [Execute command from neph](https://github.com/tbrand/neph/wiki/Execute-command-from-neph)
- [Define dependencies between jobs](https://github.com/tbrand/neph/wiki/Define-dependencies-between-jobs)
- [Working directory](https://github.com/tbrand/neph/wiki/Working-directory)
- [Specify sources](https://github.com/tbrand/neph/wiki/Specify-sources)
- [Ignoring errors](https://github.com/tbrand/neph/wiki/Ignoring-errors)
- [Hide executing command](https://github.com/tbrand/neph/wiki/Hide-executing-command)
- [Set a job result to env vars](https://github.com/tbrand/neph/wiki/Set-a-job-result-to-env-vars)
- [Import other configurations](https://github.com/tbrand/neph/wiki/Import-other-configurations)
- [Command line options](https://github.com/tbrand/neph/wiki/Command-line-options)
- [Log locations](https://github.com/tbrand/neph/wiki/Log-locations)
- [Log modes](https://github.com/tbrand/neph/wiki/Log-modes)## Use cases
Neph is used in [which_is_the_fastest](https://github.com/tbrand/which_is_the_fastest).
The build time is **reduced from 102[sec] to 33[sec]**.
The [neph.yaml](https://github.com/tbrand/which_is_the_fastest/blob/master/neph.yaml) is here.## Contributing
1. Fork it ( https://github.com/tbrand/neph/fork )
2. Create your feature branch (git checkout -b my-new-feature)
3. Commit your changes (git commit -am 'Add some feature')
4. Push to the branch (git push origin my-new-feature)
5. Create a new Pull Request## Contributors
- [tbrand](https://github.com/tbrand) Taichiro Suzuki - creator, maintainer
- [notramo](https://github.com/notramo) Márton Szabó - maintainer