Skip to content

Commit 16cc780

Browse files
author
Dammy Desktop
committed
fixed install of detectron to make pupilsense function out of box
1 parent 2e1f2ad commit 16cc780

10 files changed

Lines changed: 314 additions & 21 deletions

File tree

.github/workflows/publish.yml

Lines changed: 25 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
name: Publish to PyPI
2+
23
on:
34
push:
45
tags:
@@ -10,21 +11,36 @@ jobs:
1011
runs-on: ubuntu-latest
1112
steps:
1213
- uses: actions/checkout@v4
14+
1315
- name: Set up Python
1416
uses: actions/setup-python@v5
1517
with:
1618
python-version: "3.10"
17-
18-
- name: Install dependencies
19+
cache: "pip"
20+
21+
- name: Install System Dependencies
22+
# Ubuntu runners need these for OpenCV and imageio[ffmpeg] to work
23+
run: |
24+
sudo apt-get update
25+
sudo apt-get install -y ffmpeg libgl1-mesa-glx
26+
27+
- name: Install PyTorch (CPU version)
28+
# We use the CPU version for testing to make the runner faster/lighter
29+
run: |
30+
pip install torch==2.2.0 torchvision==0.17.0 --index-url https://download.pytorch.org/whl/cpu
31+
32+
- name: Install Detectron2
33+
# Linux can build this from Git easily once Torch is present
34+
run: |
35+
pip install --no-build-isolation 'git+https://github.com/facebookresearch/detectron2.git'
36+
37+
- name: Install Pupil_LIMlab
1938
run: |
20-
pip install "numpy<2" pytest matplotlib pandas scipy
2139
pip install -e .
22-
40+
2341
- name: Run Pytest
2442
run: pytest
2543

26-
27-
2844
build-n-publish:
2945
name: Build and publish to PyPI
3046
needs: test
@@ -33,23 +49,23 @@ jobs:
3349
name: pypi
3450
url: https://pypi.org/p/Pupil_LIMlab
3551
permissions:
36-
id-token: write
52+
id-token: write # Required for Trusted Publishing
3753
contents: read
3854

3955
steps:
4056
- uses: actions/checkout@v4
57+
4158
- name: Set up Python
4259
uses: actions/setup-python@v5
4360
with:
4461
python-version: "3.10"
45-
cache: "pip"
4662

4763
- name: Install build tool
4864
run: pip install build
4965

5066
- name: Build binary
5167
run: |
52-
rm -rf dist/ # Force delete any existing dist folder
68+
rm -rf dist/
5369
python -m build
5470
5571
- name: Publish to PyPI
-5 Bytes
Binary file not shown.

Pupil_LIMlab.egg-info/PKG-INFO

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Metadata-Version: 2.4
22
Name: Pupil_LIMlab
3-
Version: 1.0.5.4
3+
Version: 1.0.5.6
44
Summary: A pupil analysis and inference toolkit
55
Author-email: Dammy <a.aonih@ucl.ac.uk>
66
Requires-Python: >=3.10
@@ -25,7 +25,6 @@ Requires-Dist: pycocotools
2525
Requires-Dist: python-dotenv
2626
Requires-Dist: imageio[ffmpeg]
2727
Requires-Dist: scikit-learn
28-
Requires-Dist: pyav
2928
Dynamic: license-file
3029

3130
# PupilToolKit
@@ -68,6 +67,41 @@ python -m venv .venv
6867
pip install -e .
6968
```
7069

70+
## Installation
71+
72+
Recommended: create and activate a virtual environment (conda or venv) before installing packages.
73+
74+
- **PyTorch & TorchVision (CUDA 12.1)** — install the CUDA 12.1 builds of PyTorch 2.2 and TorchVision 0.17.0:
75+
76+
```bash
77+
pip install torch==2.2.0+cu121 torchvision==0.17.0+cu121 -f https://download.pytorch.org/whl/torch_stable.html
78+
```
79+
80+
If you do not have CUDA 12.1 or need a CPU-only build, install the matching CPU/compatible wheel instead (omit `+cu121` or follow the official PyTorch install selector at https://pytorch.org).
81+
82+
- **Detectron2** — platform-specific instructions:
83+
84+
- Windows (pre-built wheels):
85+
86+
```bash
87+
pip install detectron2 --extra-index-url https://myhloli.github.io/wheels/
88+
```
89+
90+
- Linux (install from upstream):
91+
92+
```bash
93+
pip install git+https://github.com/facebookresearch/detectron2.git
94+
```
95+
96+
- **PupilLIMlab package** — install the project package from PyPI (or your registry):
97+
98+
```bash
99+
pip install PupilLIMlabSWC
100+
```
101+
102+
After these steps you should be able to run the example scripts and the PupilSense inference tools.
103+
104+
71105
## Quick start
72106

73107
Run the example script:

Pupil_LIMlab.egg-info/SOURCES.txt

Lines changed: 176 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,182 @@ PupilProcessing/utils.py
99
PupilSense/__init__.py
1010
PupilSense/extract_pupil_pupil_sense.py
1111
PupilSense/inference_pupil_sense.py
12+
PupilSense/detectron2/__init__.py
13+
PupilSense/detectron2/checkpoint/__init__.py
14+
PupilSense/detectron2/checkpoint/c2_model_loading.py
15+
PupilSense/detectron2/checkpoint/catalog.py
16+
PupilSense/detectron2/checkpoint/detection_checkpoint.py
17+
PupilSense/detectron2/config/__init__.py
18+
PupilSense/detectron2/config/compat.py
19+
PupilSense/detectron2/config/config.py
20+
PupilSense/detectron2/config/defaults.py
21+
PupilSense/detectron2/config/instantiate.py
22+
PupilSense/detectron2/config/lazy.py
23+
PupilSense/detectron2/data/__init__.py
24+
PupilSense/detectron2/data/benchmark.py
25+
PupilSense/detectron2/data/build.py
26+
PupilSense/detectron2/data/catalog.py
27+
PupilSense/detectron2/data/common.py
28+
PupilSense/detectron2/data/dataset_mapper.py
29+
PupilSense/detectron2/data/detection_utils.py
30+
PupilSense/detectron2/data/datasets/__init__.py
31+
PupilSense/detectron2/data/datasets/builtin.py
32+
PupilSense/detectron2/data/datasets/builtin_meta.py
33+
PupilSense/detectron2/data/datasets/cityscapes.py
34+
PupilSense/detectron2/data/datasets/cityscapes_panoptic.py
35+
PupilSense/detectron2/data/datasets/coco.py
36+
PupilSense/detectron2/data/datasets/coco_panoptic.py
37+
PupilSense/detectron2/data/datasets/lvis.py
38+
PupilSense/detectron2/data/datasets/lvis_v0_5_categories.py
39+
PupilSense/detectron2/data/datasets/lvis_v1_categories.py
40+
PupilSense/detectron2/data/datasets/lvis_v1_category_image_count.py
41+
PupilSense/detectron2/data/datasets/pascal_voc.py
42+
PupilSense/detectron2/data/datasets/register_coco.py
43+
PupilSense/detectron2/data/samplers/__init__.py
44+
PupilSense/detectron2/data/samplers/distributed_sampler.py
45+
PupilSense/detectron2/data/samplers/grouped_batch_sampler.py
46+
PupilSense/detectron2/data/transforms/__init__.py
47+
PupilSense/detectron2/data/transforms/augmentation.py
48+
PupilSense/detectron2/data/transforms/augmentation_impl.py
49+
PupilSense/detectron2/data/transforms/transform.py
50+
PupilSense/detectron2/engine/__init__.py
51+
PupilSense/detectron2/engine/defaults.py
52+
PupilSense/detectron2/engine/hooks.py
53+
PupilSense/detectron2/engine/launch.py
54+
PupilSense/detectron2/engine/train_loop.py
55+
PupilSense/detectron2/evaluation/__init__.py
56+
PupilSense/detectron2/evaluation/cityscapes_evaluation.py
57+
PupilSense/detectron2/evaluation/coco_evaluation.py
58+
PupilSense/detectron2/evaluation/evaluator.py
59+
PupilSense/detectron2/evaluation/fast_eval_api.py
60+
PupilSense/detectron2/evaluation/lvis_evaluation.py
61+
PupilSense/detectron2/evaluation/panoptic_evaluation.py
62+
PupilSense/detectron2/evaluation/pascal_voc_evaluation.py
63+
PupilSense/detectron2/evaluation/rotated_coco_evaluation.py
64+
PupilSense/detectron2/evaluation/sem_seg_evaluation.py
65+
PupilSense/detectron2/evaluation/testing.py
66+
PupilSense/detectron2/export/__init__.py
67+
PupilSense/detectron2/export/api.py
68+
PupilSense/detectron2/export/c10.py
69+
PupilSense/detectron2/export/caffe2_export.py
70+
PupilSense/detectron2/export/caffe2_inference.py
71+
PupilSense/detectron2/export/caffe2_modeling.py
72+
PupilSense/detectron2/export/caffe2_patch.py
73+
PupilSense/detectron2/export/flatten.py
74+
PupilSense/detectron2/export/shared.py
75+
PupilSense/detectron2/export/torchscript.py
76+
PupilSense/detectron2/export/torchscript_patch.py
77+
PupilSense/detectron2/layers/__init__.py
78+
PupilSense/detectron2/layers/aspp.py
79+
PupilSense/detectron2/layers/batch_norm.py
80+
PupilSense/detectron2/layers/blocks.py
81+
PupilSense/detectron2/layers/deform_conv.py
82+
PupilSense/detectron2/layers/losses.py
83+
PupilSense/detectron2/layers/mask_ops.py
84+
PupilSense/detectron2/layers/nms.py
85+
PupilSense/detectron2/layers/roi_align.py
86+
PupilSense/detectron2/layers/roi_align_rotated.py
87+
PupilSense/detectron2/layers/rotated_boxes.py
88+
PupilSense/detectron2/layers/shape_spec.py
89+
PupilSense/detectron2/layers/wrappers.py
90+
PupilSense/detectron2/model_zoo/__init__.py
91+
PupilSense/detectron2/model_zoo/model_zoo.py
92+
PupilSense/detectron2/modeling/__init__.py
93+
PupilSense/detectron2/modeling/anchor_generator.py
94+
PupilSense/detectron2/modeling/box_regression.py
95+
PupilSense/detectron2/modeling/matcher.py
96+
PupilSense/detectron2/modeling/mmdet_wrapper.py
97+
PupilSense/detectron2/modeling/poolers.py
98+
PupilSense/detectron2/modeling/postprocessing.py
99+
PupilSense/detectron2/modeling/sampling.py
100+
PupilSense/detectron2/modeling/test_time_augmentation.py
101+
PupilSense/detectron2/modeling/backbone/__init__.py
102+
PupilSense/detectron2/modeling/backbone/backbone.py
103+
PupilSense/detectron2/modeling/backbone/build.py
104+
PupilSense/detectron2/modeling/backbone/fpn.py
105+
PupilSense/detectron2/modeling/backbone/mvit.py
106+
PupilSense/detectron2/modeling/backbone/regnet.py
107+
PupilSense/detectron2/modeling/backbone/resnet.py
108+
PupilSense/detectron2/modeling/backbone/swin.py
109+
PupilSense/detectron2/modeling/backbone/utils.py
110+
PupilSense/detectron2/modeling/backbone/vit.py
111+
PupilSense/detectron2/modeling/meta_arch/__init__.py
112+
PupilSense/detectron2/modeling/meta_arch/build.py
113+
PupilSense/detectron2/modeling/meta_arch/dense_detector.py
114+
PupilSense/detectron2/modeling/meta_arch/fcos.py
115+
PupilSense/detectron2/modeling/meta_arch/panoptic_fpn.py
116+
PupilSense/detectron2/modeling/meta_arch/rcnn.py
117+
PupilSense/detectron2/modeling/meta_arch/retinanet.py
118+
PupilSense/detectron2/modeling/meta_arch/semantic_seg.py
119+
PupilSense/detectron2/modeling/proposal_generator/__init__.py
120+
PupilSense/detectron2/modeling/proposal_generator/build.py
121+
PupilSense/detectron2/modeling/proposal_generator/proposal_utils.py
122+
PupilSense/detectron2/modeling/proposal_generator/rpn.py
123+
PupilSense/detectron2/modeling/proposal_generator/rrpn.py
124+
PupilSense/detectron2/modeling/roi_heads/__init__.py
125+
PupilSense/detectron2/modeling/roi_heads/box_head.py
126+
PupilSense/detectron2/modeling/roi_heads/cascade_rcnn.py
127+
PupilSense/detectron2/modeling/roi_heads/fast_rcnn.py
128+
PupilSense/detectron2/modeling/roi_heads/keypoint_head.py
129+
PupilSense/detectron2/modeling/roi_heads/mask_head.py
130+
PupilSense/detectron2/modeling/roi_heads/roi_heads.py
131+
PupilSense/detectron2/modeling/roi_heads/rotated_fast_rcnn.py
132+
PupilSense/detectron2/projects/__init__.py
133+
PupilSense/detectron2/projects/deeplab/__init__.py
134+
PupilSense/detectron2/projects/deeplab/build_solver.py
135+
PupilSense/detectron2/projects/deeplab/config.py
136+
PupilSense/detectron2/projects/deeplab/loss.py
137+
PupilSense/detectron2/projects/deeplab/lr_scheduler.py
138+
PupilSense/detectron2/projects/deeplab/resnet.py
139+
PupilSense/detectron2/projects/deeplab/semantic_seg.py
140+
PupilSense/detectron2/projects/panoptic_deeplab/__init__.py
141+
PupilSense/detectron2/projects/panoptic_deeplab/config.py
142+
PupilSense/detectron2/projects/panoptic_deeplab/dataset_mapper.py
143+
PupilSense/detectron2/projects/panoptic_deeplab/panoptic_seg.py
144+
PupilSense/detectron2/projects/panoptic_deeplab/post_processing.py
145+
PupilSense/detectron2/projects/panoptic_deeplab/target_generator.py
146+
PupilSense/detectron2/projects/point_rend/__init__.py
147+
PupilSense/detectron2/projects/point_rend/color_augmentation.py
148+
PupilSense/detectron2/projects/point_rend/config.py
149+
PupilSense/detectron2/projects/point_rend/mask_head.py
150+
PupilSense/detectron2/projects/point_rend/point_features.py
151+
PupilSense/detectron2/projects/point_rend/point_head.py
152+
PupilSense/detectron2/projects/point_rend/roi_heads.py
153+
PupilSense/detectron2/projects/point_rend/semantic_seg.py
154+
PupilSense/detectron2/solver/__init__.py
155+
PupilSense/detectron2/solver/build.py
156+
PupilSense/detectron2/solver/lr_scheduler.py
157+
PupilSense/detectron2/structures/__init__.py
158+
PupilSense/detectron2/structures/boxes.py
159+
PupilSense/detectron2/structures/image_list.py
160+
PupilSense/detectron2/structures/instances.py
161+
PupilSense/detectron2/structures/keypoints.py
162+
PupilSense/detectron2/structures/masks.py
163+
PupilSense/detectron2/structures/rotated_boxes.py
164+
PupilSense/detectron2/tracking/__init__.py
165+
PupilSense/detectron2/tracking/base_tracker.py
166+
PupilSense/detectron2/tracking/bbox_iou_tracker.py
167+
PupilSense/detectron2/tracking/hungarian_tracker.py
168+
PupilSense/detectron2/tracking/iou_weighted_hungarian_bbox_iou_tracker.py
169+
PupilSense/detectron2/tracking/utils.py
170+
PupilSense/detectron2/tracking/vanilla_hungarian_bbox_iou_tracker.py
171+
PupilSense/detectron2/utils/__init__.py
172+
PupilSense/detectron2/utils/analysis.py
173+
PupilSense/detectron2/utils/collect_env.py
174+
PupilSense/detectron2/utils/colormap.py
175+
PupilSense/detectron2/utils/comm.py
176+
PupilSense/detectron2/utils/develop.py
177+
PupilSense/detectron2/utils/env.py
178+
PupilSense/detectron2/utils/events.py
179+
PupilSense/detectron2/utils/file_io.py
180+
PupilSense/detectron2/utils/logger.py
181+
PupilSense/detectron2/utils/memory.py
182+
PupilSense/detectron2/utils/registry.py
183+
PupilSense/detectron2/utils/serialize.py
184+
PupilSense/detectron2/utils/testing.py
185+
PupilSense/detectron2/utils/tracing.py
186+
PupilSense/detectron2/utils/video_visualizer.py
187+
PupilSense/detectron2/utils/visualizer.py
12188
Pupil_LIMlab.egg-info/PKG-INFO
13189
Pupil_LIMlab.egg-info/SOURCES.txt
14190
Pupil_LIMlab.egg-info/dependency_links.txt

Pupil_LIMlab.egg-info/requires.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,3 @@ pycocotools
1717
python-dotenv
1818
imageio[ffmpeg]
1919
scikit-learn
20-
pyav

README.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,41 @@ python -m venv .venv
3838
pip install -e .
3939
```
4040

41+
## Installation
42+
43+
Recommended: create and activate a virtual environment (conda or venv) before installing packages.
44+
45+
- **PyTorch & TorchVision (CUDA 12.1)** — install the CUDA 12.1 builds of PyTorch 2.2 and TorchVision 0.17.0:
46+
47+
```bash
48+
pip install torch==2.2.0+cu121 torchvision==0.17.0+cu121 -f https://download.pytorch.org/whl/torch_stable.html
49+
```
50+
51+
If you do not have CUDA 12.1 or need a CPU-only build, install the matching CPU/compatible wheel instead (omit `+cu121` or follow the official PyTorch install selector at https://pytorch.org).
52+
53+
- **Detectron2** — platform-specific instructions:
54+
55+
- Windows (pre-built wheels):
56+
57+
```bash
58+
pip install detectron2 --extra-index-url https://myhloli.github.io/wheels/
59+
```
60+
61+
- Linux (install from upstream):
62+
63+
```bash
64+
pip install git+https://github.com/facebookresearch/detectron2.git
65+
```
66+
67+
- **PupilLIMlab package** — install the project package from PyPI (or your registry):
68+
69+
```bash
70+
pip install PupilLIMlabSWC
71+
```
72+
73+
After these steps you should be able to run the example scripts and the PupilSense inference tools.
74+
75+
4176
## Quick start
4277

4378
Run the example script:

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "Pupil_LIMlab" # Must be unique on PyPI
7-
version = "1.0.5.6"
7+
version = "1.0.5.7"
88
description = "A pupil analysis and inference toolkit"
99
readme = "README.md"
1010
authors = [{name = "Dammy", email = "a.aonih@ucl.ac.uk"}]

0 commit comments

Comments
 (0)