Coder Social home page Coder Social logo

ixakalabadie / carta-frontend Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cartavis/carta-frontend

0.0 0.0 0.0 26.98 MB

Source code repository for the frontend component of CARTA, a new visualization tool designed for the ALMA, the VLA and the SKA pathfinders.

Home Page: https://cartavis.github.io/

License: GNU General Public License v3.0

Shell 0.39% JavaScript 0.34% C++ 1.98% C 0.04% TypeScript 91.41% CSS 0.06% HTML 0.13% GLSL 1.14% SCSS 3.70% MDX 0.82%

carta-frontend's Introduction

CARTA Frontend

The CARTA frontend is used in conjunction with the CARTA backend, and for general use a pre-built production frontend is usually installed alongside the backend automatically. However, a user may wish to install the frontend component separately in order to test beta versions, for example, or to develop it.

Pre-built production packages

The simplest way to install the frontend component is to use the pre-built production packages from NPM (for any OS with Node.js installed), our PPA (Debian packages for Ubuntu), or our RPM repository (for RHEL based systems).

NPM

Pre-built production frontends can be obtained from the npmjs.com carta-frontend repository.

If you have Node.js and npm already installed on your system, you can install a production frontend using the following command:

npm i carta-frontend

The files will be installed to your node-modules directory. For a system-wide 'global' installation (using the -g flag) this is located at /usr/lib/node_modules, whereas for a local user installation, it is located at $PWD/node_modules.

You can install specific frontend versions by appending @ plus the version number. For example,

The available versions are listed in the npmjs.com carta-frontend versions tab.

Alternatively, the pre-built production frontend can be downloaded directly without npm. For example,

wget https://registry.npmjs.org/carta-frontend/-/carta-frontend-2.0.0.tgz

The standalone tgz archive file extracts as package/build in your current directory.

You can start the CARTA backend with a non-default frontend by specifying its location with the --frontend_folder flag. For example,

./carta-backend --frontend_folder $HOME/package/build

PPA

A Personal Package Archive (PPA) is a third-party package repository for Ubuntu. We supply pre-built production frontends at the CARTAvis-team PPA on the Ubuntu Lauchpad.

To install the latest release version:

sudo add-apt-repository ppa:cartavis-team/carta
sudo apt-get update
sudo apt-get install carta-frontend

The Ubuntu package install location for the frontend is /usr/share/carta/frontend/.

The PPA also provides a carta metapackage which automatically installs the CARTA frontend and backend packages. In addition to the latest release versions, beta versions are provided in a parallel set of packages.

RPM

RPMs are for users of Red Hat Enterprise Linux (RHEL) and other Red Hat-based Linux distributions, e.g. CentOS. To install the latest release version, add the appropriate repository file depending on whether you are using RHEL7 (el7) or RHEL8 (el8):

sudo curl https://packages.cartavis.org/cartavis-el7.repo --output /etc/yum.repos.d/cartavis.repo

or

sudo curl https://packages.cartavis.org/cartavis-el8.repo --output /etc/yum.repos.d/cartavis.repo

Then the frontend component can be installed using yum or dnf :

sudo yum install carta-frontend

The RPM package install location for the frontend is /usr/share/carta/frontend/.

The RPM repo also provides a carta metapackage which automatically installs the CARTA frontend and backend packages. In addition to the latest release versions, beta versions are provided in a parallel set of packages.

Development

If you wish to modify or develop the CARTA frontend, you may build a production or non-production frontend from source. Here are the instructions to do so:

Prerequisites

The build process relies heavily on npm and nodejs, so make sure they are installed and accessible.

We recommend using Docker or Singularity to perform WebAssembly compilation. If neither is available, the Emscripten compiler (emcc version 2.0.14 recommended) needs to be available in the build environment. Installation instructions are available on the Emscripten homepage.

Build process (using Docker/Singularity)

Initialise submodules and install package dependencies:

git submodule update --init --recursive
npm install --legacy-peer-deps

WebAssembly libraries can be built with npm run build-libs-docker or npm run build-libs-singularity. Additional build steps (building WebAssembly wrappers, protocol buffer modules and compiling the Typescript code) are performed by npm run build-docker or npm run build-singularity. This produces a production build in the build folder.

To run a development build server, simply run npm run start.

Build process (without Docker/Singularity)

If your build environment does not have access to Docker or Singularity, WebAssembly compilation must be performed in an environment with access to the Emscripten compiler.

Initialise submodules and install package dependencies:

git submodule update --init --recursive
npm install --legacy-peer-deps

WebAssembly libraries can be built with npm run build-libs. Additional build steps (building WebAssembly wrappers, protocol buffer modules and compiling the Typescript code) are performed by npm run build. This produces a production build in the build folder.

To run a development build server, simply run npm run start.

Developer documentation

Automatically generated documentation can be found at cartavis.org/carta-frontend.

DOI

carta-frontend's People

Contributors

veggiesaurus avatar duidae avatar yuhsuan-hwang avatar tienhao avatar panchyo0 avatar crocka avatar kswang1029 avatar dependabot[bot] avatar confluence avatar zarda avatar i-chenn avatar loveluthien avatar acdo2002 avatar dependabot-preview[bot] avatar markccchiang avatar daikema avatar jolopezl avatar christyreynolds avatar jrhosk avatar rwjsimmonds avatar creynolds75 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.