Description
OPS allows anyone, not just developers, to run any existing linux based application as an unikernel quickly, easily, on your own laptop or in the cloud.
OPS alternatives and similar libraries
Based on the "Data Visualization" category.
Alternatively, view OPS alternatives based on common mentions on social networks and blogs.
-
echarts
Apache ECharts is a powerful, interactive charting and data visualization library for browser -
BabylonJS
Babylon.js is a powerful, beautiful, simple, and open game and rendering engine packed into a friendly JavaScript framework. -
p5.js
p5.js is a client-side JS platform that empowers artists, designers, students, and anyone to learn to code and express themselves creatively on the web. It is based on the core principles of Processing. http://twitter.com/p5xjs — -
#<Sawyer::Resource:0x00007f1b609038f0>
Open-source JavaScript charting library behind Plotly and Dash -
paper.js
The Swiss Army Knife of Vector Graphics Scripting – Scriptographer ported to JavaScript and the browser, using HTML5 Canvas. Created by @lehni & @puckey -
GoJS, a JavaScript Library for HTML Diagrams
JavaScript diagramming library for interactive flowcharts, org charts, design tools, planning tools, visual languages. -
mxGraph
DISCONTINUED. Diagramming library that enables interactive graph and charting applications to be quickly created that run natively in any major browser that is supported by its vendor. -
processing.js
DISCONTINUED. Processing.js makes your data visualizations work using web standards and without any plug-ins -
jquery.sparkline
A plugin for the jQuery javascript library to generate small sparkline charts directly in the browser
InfluxDB - Purpose built for real-time analytics at any scale.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of OPS or a related project?
README
OPS
Ops is a tool for creating and running a Nanos unikernel. It is used to package, create and run your application as a nanos unikernel instance.
Check out the DOCS
Installation
Most users should just download the binary from the website:
Binary install
curl https://ops.city/get.sh -sSfL | sh
Build and Install from source
Building from source is easy if you have used Go before.
This program requires GO Version 1.13.x or greater.
Installing from source follows these general steps:
Install dependencies:
make deps
Build:
make build
macOS notes:
GO111MODULE=on go build -ldflags "-w"
For detailed instructions please consult the documentation.
Basic usage examples
Before learning more about ops
it is a good idea to see some basic usage
examples. Below are links to simple examples using various programming platforms:
Let's run your first unikernel right now.
Throw this into hi.js:
const http = require('http');
http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello World\n');
}).listen(8083, "0.0.0.0");
console.log('Server running at http://127.0.0.1:8083/');
Then you can run it like so:
ops pkg load node_v11.5.0 -p 8083 -f -n -a hi.js
Want to push your app out to the cloud?
For Google: https://nanovms.gitbook.io/ops/google_cloud
For AWS: https://nanovms.gitbook.io/ops/aws
Languages:
Various langauge examples can be found at https://github.com/nanovms/ops-examples.
Applications:
- Nginx
- HAProxy
- Tarantool
- Hiawatha
- Mosquitto
- Kache
- Gnatsd
- Wasmer
You can always find more pre-made packages via:
ops pkg list
Apple M1 Users
The Apple M1 and M2 are ARM based. OPS is built for users primarily deploying to x86 based servers. While you can certainly run ARM builds with Nanos and OPS be aware that if you are trying to run x86 builds (the default) on ARM based M1s you won't be able to use hardware acceleration.
Build a bootable image
ops build <app>
Package and run
ops run <app>
# or
ops run -p <port> <app>
Using a config file
ops run -p <port> -c <file> <app>
Example config file
ops config files are plain JSON, below is an example
{
"Args":["one","two"],
"Dirs":["myapp/static"]
}
Setup networking
New users wishing to play around in a dev environment are encouraged to use the default user-mode networking. Other production users are encouraged to utilize native cloud builds such as Google Cloud which handle networking for you.
Only advanced/power users should use the bridge networking option.
Reporting Bugs
Feel free to open up a pull request. It's helpful to have your OPS version and the release channel you are using.
Also - if it doesn't work on the main release you can try the nightly - the main release can tail the nightly by many weeks sometimes.
ops version
if you are using a package, get the package hash:
jq '."gnatsd_1.4.1"' ~/.ops/packages/manifest.json
Pull Requests
If you have an idea for a new feature and it might take longer than a few hours or days to do it's worth opening a feature request tkt to ideate it first before jumping into code. There might be someone already working on the feature or plans to do something entirely different.
Security
Feel free to email security at.
Support
If you are having trouble running a particular application please feel free to open an issue and we can take a look. In general we'll only want to support the latest release from a given application/project, however, if you really want/need support for something older there are paid support plans available - contact the folks at https://nanovms.com.