Information | Links |
---|---|
Project | |
Wofklows | |
Releases |
conda-store-ui is an add-on Graphical User Interface to conda-store. If you're looking for the JupyterLab Extension, you can find it at jupyterlab-conda-store
To learn how to use conda-store-ui alongside conda-store, please visit the conda-store-ui documentation.
To get started with conda-store-ui development, there are a couple of options, depending on the type of changes you are working on. This guide will help you to set up your local development environment.
Before setting up conda-store-ui, you must prepare your environment.
We use Docker Compose to set up the infrastructure. Before starting ensure that you have Docker Compose installed. If you need to install Docker Compose, please see their installation documentation
- Clone the conda-store-ui repository.
- Copy
.env.example
to.env
. All default settings should work, but if you want to test against a different version of conda-store-server, you can specify if in the.env
file by setting theCONDA_STORE_SERVER_VERSION
variable to the desired version. Refer to the Configuration documentation for more information on the.env
file.
Running conda-store-ui in Docker is the most straightforward way to set up your local development environment.
- Run
yarn install
. This will download the needed JavaScript dependencies into a directory namednode_modules/
. This directory will later be copied into theconda-store-ui
Docker container for use at runtime by the Conda Store UI app. - Run
yarn run start:docker
to start the entire development stack. - Open you local browser and go to http://localhost:8000 so see conda-store-ui.
- You can then log in using the default username of
username
and default password ofpassword
.
Hot reloading is enabled, so when you make changes to source files, your browser will reload and reflect the changes.
This setup still uses Docker for supporting services but runs conda-store-ui locally.
This project uses conda for package management. To set up conda, please see their installation documentation.
- Change to the project root
cd conda-store-ui
- From the project root create the conda environment
conda env create -f environment_dev.yml
- Activate the development environment
conda activate cs-ui-dev-env
- Install yarn dependencies
yarn install
- Run
yarn run start
and wait for the application to finish starting up - Open you local browser and go to http://localhost:8000 so see conda-store-ui.
- You can then log in using the default username of
username
and default password ofpassword
.
Hot reloading is enabled, so when you make changes to source files, your browser will reload and reflect the changes.
To create a new version of this package: the release captain will open an issue with the release
template and follow
the steps outlined in the issue.
🔗 You can find more details about out release process and versioning approach in our Maintenance docs.
This repo contains two types of tests: Jest and Playwright
To run the Jest tests, run the following command:
yarn test
Steps to install and set up:
- Create Conda environment
conda env create -f environment_dev.yml
- Activate Conda environment
conda activate cs-ui-dev-env
- Install Playwright-usable browser
playwright install chromium
- Copy environment variables
cp .env.example .env
- Install JavaScript dependencies
yarn install --immutable
- Build app
yarn build
To run the tests, you will need to run the following commands in two separate terminal windows or tabs:
- In the first terminal window/tab, enter the following:
conda activate cs-ui-dev-env yarn start
- Wait for server to start (you'll know it's ready when it says "webpack 5.xx.x
compiled successfully"). Open a new terminal window or tab and enter the
following:
conda activate cs-ui-dev-env pytest
If you need to debug, try replacing the last command with:
PWDEBUG=1 pytest
[!NOTE] PW stands for Playwright.
PWDEBUG=1
puts Playwright in debug mode.
To guarantee a welcoming and friendly community, we require all community members to follow our Code of Conduct.
conda-store-ui is developed under the BSD-3 LICENSE.