Skip to content

mamba-org/quetz-frontend

Repository files navigation

quetz header image

Quetz-frontend

The Open-Source Server for Conda Packages

part of mamba-org
Package Manager mamba Package Server quetz Package Builder boa

Github Actions Status

Development

First of all, clone quetz and quetz-frontend, create a conda environment using the environment.yml in quetz, run quetz and modify its config file.

# Create an environment
mamba env create -f quetz/environment.yml
mamba activate quetz
mamba install -c conda-forge nodejs=16 yarn=1.22

Install Quetz in dev mode

cd quetz
pip install -e .

# Run quetz
quetz run test_quetz --delete --copy-conf ./dev_config.toml --dev --reload

Modify the quetz/test_quetz/config.toml file to add the client_id, client_secret, github username and the front-end paths.

[github]
# Register the app here: https://github.com/settings/applications/new
client_id = "id"
client_secret = "secret"

[users]
admins = ["github:username"]

Install Quetz-Frontend in dev mode

# build the app
pip install -e .

# Create a link to the quetz folder
quetz-frontend link-frontend --development

Useful commands

# Start an already configured quetz deployment in dev mode:
quetz start test_quetz --reload

# Build the Quetz-frontend
yarn run build

# Build the Quetz-Frontend in watch mode
yarn run watch

Disabling extensions

"quetz": {
    "extension": true,
    "outputDir": "quetz_light_theme/quetzextension",
    "themePath": "style/index.css",
    "disabledExtensions": ["quetz-theme"]
  },

Command line tool

Quetz fronted also comes with a cli to manage extensions

Usage: quetz-frontend [OPTIONS] COMMAND [ARGS]...

Options:
  --install-completion  Install completion for the current shell.
  --show-completion     Show completion for the current shell, to copy it or
                        customize the installation.
  --help                Show this message and exit.

Commands:
  build           Build an extension
  clean           Clean the extensions directory
  clean-frontend  Clean the Quetz-Frontend
  develop         Build and install an extension in dev mode
  install         Build and install an extension
  link-frontend   Intall the Quetz-Frontend
  list            List of extensions
  paths
  watch           Watch an extension