https://github.com/sadit/juliaapps
Simple and effective Julia's application workaround
https://github.com/sadit/juliaapps
Last synced: 3 months ago
JSON representation
Simple and effective Julia's application workaround
- Host: GitHub
- URL: https://github.com/sadit/juliaapps
- Owner: sadit
- License: mit
- Created: 2024-04-05T20:50:10.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-11T15:00:50.000Z (over 1 year ago)
- Last Synced: 2025-03-12T12:24:39.601Z (10 months ago)
- Language: Shell
- Size: 9.77 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# JuliaApps: Simple and effective Julia's application workaround for unix based systems
At this moment, there is no standard way to create Julia applications. Different ways exist, but most approaches contain other limitations. This limitation may come from design because Julia includes a powerful REPL that makes CLI unnecessary for Julia practitioners.
However, people who do not work with Julia could find the Julian way unaccessible.
While we anticipate a more standardized approach to working with Julia's programs soon, I am glad to introduce JuliaApps (`japps`) as a solution today. This script aims to create Julia applications with minor modifications using isolated environments for each application so each app will work out of the box.
The script `japps` supports the following commands:
- `run`: runs a package as an application.
- `install`: installs a package from its GitHub URL.
- `uninstall` (still not implemented).
- `update`: updates a package and optionally checkouts some branch to work.
- `list`: lists the installed packages.
# Installing
Clone this repository; `chmod +x japps`; copy `japps` to some directory in your executable path
This procedure only works for unix based systems
# How it works
JuliaApps is a bash script that helps to handle packages with entry points that can be called directly from command lines.
In particular, the idea is to install directly from git repositories and maintain an isolated environment for each package.
It is designed to be very simple and work with packages outside the Julia General registry.
The entry points are similar to those created by the [Comonincon.jl](https://comonicon.org/stable/) package; that is, it will call a module's function called `command_main(ARGS)`
Some working examples:
-
-
By now, we don't have a curate list of applications.
# More help
```
japps --help
Install and run julia packages from command line easily
usage: ./japps args...
commands: run install uninstall update help
run app-name args...
runs an application with the given arguments
install url-app-repo
install the app cloning the git repository in the application directory and initializes the directory
uninstall app-name
removes the app git local repository
update app-name [branch or tag]
updates the app using a pull on the app repository
INFO:
Julia-Apps directory: /home/sadit/.julia/Apps
Julia-Binary: /home/sadit/.juliaup/bin/julia
```