Skip to content

Commit

Permalink
Merge branch 'main' into content/lock_dims_rolling
Browse files Browse the repository at this point in the history
  • Loading branch information
psobolewskiPhD authored Nov 22, 2023
2 parents f3a8620 + 0b183c3 commit f8873dc
Show file tree
Hide file tree
Showing 14 changed files with 324 additions and 78 deletions.
67 changes: 24 additions & 43 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,74 +1,55 @@
# As much as possible, this file should be kept in sync with:
# https://github.com/napari/napari/blob/main/.circleci/config.yaml
# Use the latest 2.1 version of CircleCI pipeline process engine.
# See: https://circleci.com/docs/2.0/configuration-reference
# See: https://circleci.com/docs/2.1/configuration-reference
version: 2.1

# Orbs are reusable packages of CircleCI configuration that you may share across projects, enabling you to create encapsulated, parameterized commands, jobs, and executors that can be used across multiple projects.
# See: https://circleci.com/docs/2.0/orb-intro/
# Orbs are reusable packages of CircleCI configuration that you may share across projects.
# See: https://circleci.com/docs/2.1/orb-intro/
orbs:
# The python orb contains a set of prepackaged CircleCI configuration you can use repeatedly in your configuration files
# Orb commands and jobs help you with common scripting around a language/tool
# so you dont have to copy and paste it everywhere.
# See the orb documentation here: https://circleci.com/developer/orbs/orb/circleci/python
python: circleci/[email protected]

# Define a job to be invoked later in a workflow.
# See: https://circleci.com/docs/2.0/configuration-reference/#jobs
jobs:
build-docs: # This is the name of the job, feel free to change it to better match what you're trying to do!
# These next lines defines a Docker executors: https://circleci.com/docs/2.0/executor-types/
# You can specify an image from Dockerhub or use one of the convenience images from CircleCI's Developer Hub
# A list of available CircleCI Docker convenience images are available here: https://circleci.com/developer/images/image/cimg/python
# The executor is the environment in which the steps below will be executed - below will use a python 3.10.2 container
# Change the version below to your required version of python
build-docs:
docker:
- image: cimg/python:3.10.2
# Checkout the code as the first step. This is a dedicated CircleCI step.
# The python orb's install-packages step will install the dependencies from a Pipfile via Pipenv by default.
# Here we're making sure we use just use the system-wide pip. By default it uses the project root's requirements.txt.
# Then run your tests!
# CircleCI will report the results back to your VCS provider.
# A list of available CircleCI Docker convenience images are available here: https://circleci.com/developer/images/image/cimg/python
- image: cimg/python:3.10.13
steps:
- checkout
- checkout:
path: docs
- run:
name: Clone main repo into a subdirectory
command: git clone [email protected]:napari/napari.git napari
- run:
name: Install qt libs + xvfb
command: sudo apt-get update && sudo apt-get install -y xvfb libegl1 libdbus-1-3 libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xinput0 libxcb-xfixes0 x11-utils

- run:
name: Setup virtual environment
# app-dir: ~/project/package-directory/ # If you're requirements.txt isn't in the root directory.
command: |
python -m venv venv
. venv/bin/activate
python -m pip install --upgrade pip
- run:
name: Clone main repo
command: git clone [email protected]:napari/napari.git napari
- run:
name: Install napari-dev
command: |
. venv/bin/activate
python -m pip install -e napari/".[pyside,dev]" -c "napari/resources/constraints/constraints_py3.10.txt"
- run:
name: Install python dependencies
command: |
. venv/bin/activate
python -m pip install -r requirements.txt
python -m pip install -e "napari/[pyside,dev]"
environment:
PIP_CONSTRAINT: napari/resources/constraints/constraints_py3.10_docs.txt
- run:
name: Build docs
command: |
. venv/bin/activate
xvfb-run --auto-servernum make docs GALLERY_PATH=../napari/examples/
cd docs
xvfb-run --auto-servernum make docs
environment:
PIP_CONSTRAINT: ../napari/resources/constraints/constraints_py3.10_docs.txt
- store_artifacts:
path: docs/_build/
path: docs/docs/_build/
- persist_to_workspace:
root: .
paths:
- docs/_build/

# Invoke jobs via workflows
# See: https://circleci.com/docs/2.0/configuration-reference/#workflows
- docs/docs/_build/
workflows:
build-docs: # This is the name of the workflow, feel free to change it to better match your workflow.
# Inside the workflow, you define the jobs you want to run.
build-docs:
jobs:
- build-docs
28 changes: 19 additions & 9 deletions .github/workflows/build_docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,36 +8,44 @@ on:
- main
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build-and-upload:
name: Build & Upload Artifact
runs-on: ubuntu-latest
steps:
- name: Clone docs repo
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
path: docs # place in a named directory

- name: Clone main repo
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
path: napari # place in a named directory
repository: napari/napari
# ensure version metadata is proper
fetch-depth: 0

- name: Copy examples to docs folder
run: |
cp -R napari/examples .
- uses: actions/setup-python@v4
with:
python-version: "3.10"
cache-dependency-path: |
napari/setup.cfg
docs/requirements.txt
- uses: tlambert03/setup-qt-libs@v1

- name: Install Dependencies
run: |
python -m pip install --upgrade pip
python -m pip install "napari/[all]" -c "napari/resources/constraints/constraints_py3.10_docs.txt"
python -m pip install "napari/[all]"
python -m pip install -r docs/requirements.txt
env:
PIP_CONSTRAINT: ${{ github.workspace }}/napari/resources/constraints/constraints_py3.10_docs.txt

- name: Testing
run: |
Expand All @@ -49,11 +57,13 @@ jobs:
env:
GOOGLE_CALENDAR_ID: ${{ secrets.GOOGLE_CALENDAR_ID }}
GOOGLE_CALENDAR_API_KEY: ${{ secrets.GOOGLE_CALENDAR_API_KEY }}
PIP_CONSTRAINT: ${{ github.workspace }}/napari/resources/constraints/constraints_py3.10_docs.txt
with:
run: make docs GALLERY_PATH=../examples/
run: make -C docs docs


- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: docs
path: docs/_build
path: docs/docs/_build
2 changes: 1 addition & 1 deletion .github/workflows/circleci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ jobs:
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
api-token: ${{ secrets.CIRCLECI_TOKEN }}
artifact-path: 0/docs/_build/index.html
artifact-path: 0/docs/docs/_build/index.html
circleci-jobs: build-docs
job-title: Check the rendered docs here!
3 changes: 2 additions & 1 deletion .github/workflows/deploy_docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,8 @@ jobs:
run: |
python -m pip install --upgrade pip
python -m pip install "napari-repo/[all]" -c "napari-repo/resources/constraints/constraints_py3.10_docs.txt"
python -m pip install -r docs/requirements.txt -c "napari-repo/resources/constraints/constraints_py3.10_docs.txt"
- name: Testing
run: |
python -c 'import napari; print(napari.__version__)'
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,11 @@ on:

jobs:
triage:
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@main
- uses: actions/labeler@v4
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
2 changes: 1 addition & 1 deletion docs/_scripts/update_preference_docs.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from pathlib import Path

from jinja2 import Template
from pydantic.main import ModelMetaclass
from napari._pydantic_compat import ModelMetaclass
from qtpy.QtCore import QTimer
from qtpy.QtWidgets import QMessageBox

Expand Down
1 change: 1 addition & 0 deletions docs/_toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,7 @@ subtrees:
- file: naps/5-new-logo
- file: naps/6-contributable-menus
- file: naps/7-key-binding-dispatch
- file: naps/8-telemetry
- file: developers/documentation/index
subtrees:
- entries:
Expand Down
2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@
myst_heading_anchors = 4

version_string = '.'.join(str(x) for x in __version_tuple__[:3])
python_version = '3.9'
python_version = '3.10'
python_version_range = '3.8–3.10'

myst_substitutions = {
Expand Down
4 changes: 4 additions & 0 deletions docs/further-resources/napari-workshops.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ or contact the core developers on [zulip chat](https://napari.zulipchat.com/logi
## Workshops

*Workshops are listed from newest to oldest.*
* September 2023
* [Plugin design](https://chanzuckerberg.github.io/napari-plugin-accel-workshops/workshops/design23.html) and [software development workshop](https://chanzuckerberg.github.io/napari-plugin-accel-workshops/workshops/softwaredev.html) for [napari plugin grantees](https://chanzuckerberg.com/rfa/napari-plugin-grants/).
* [Bioimage Analysis with Python and Napari (video lecture)](https://www.youtube.com/watch?v=QDS5t7oZH-c) at the [EMBO Practical Course for Advanced Methods in Bioimage Analysis](https://www.embl.org/about/info/course-and-conference-office/events/bia23-01/)

* November 2022, napari foundation grant onboarding
* [Getting started with napari plugin development slide deck](https://docs.google.com/presentation/d/15lrFRLPm9bfmU4hgcVwoduIJr5bqhoHo7ZeWLO6H_Us/edit?usp=sharing)
* [Watch it here](https://drive.google.com/file/d/1IYDV-GTGEYh5j_tvBaWYEZ_tQXTqmJkr/view?usp=share_link)
Expand Down
6 changes: 4 additions & 2 deletions docs/howtos/layers/points.md
Original file line number Diff line number Diff line change
Expand Up @@ -153,8 +153,10 @@ additional points, or by dragging a bounding box around the points you want to
select. You can quickly select the select points tool by pressing the `S` key
when the points layer is selected.

You can select all the points in the currently viewed slice by clicking the `A`
key if you are in select mode.
Additionally, you can select all the points in the currently viewed slice by pressing
the `A` key and all the points in the layer (across all slices) using `Shift-A`.
Note: Pressing either keybinding again will toggle the selection, so you can select
all points in a layer and the *deselect* points from a slice.

Once selected you can delete the selected points by clicking on the delete
button in the layer controls panel or pressing the delete key.
Expand Down
Loading

0 comments on commit f8873dc

Please sign in to comment.