Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,9 @@ In the activated environment, run the app from the repository root:
python PyReconstruct/run.py
```

Alternatively, `pip install -e .` installs the package in editable mode and
provides the `PyReconstruct` console command (the entry point declared in
Alternatively, `pip install -e .` (or `uv pip install -e .` in a Python 3.11
`uv venv` — see [docs/DEV_UV.md](docs/DEV_UV.md)) installs the package in editable
mode and provides the `PyReconstruct` console command (the entry point declared in
`pyproject.toml`, `PyReconstruct.cli:main`).

---
Expand Down
25 changes: 20 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,18 +62,33 @@ default.
### From source (developers)

To track the latest commits on `main` (this replaces the old in-app "Developer"
update channel), run a source install rather than a frozen build. In a Python
3.11 environment — a `venv` or a conda env (the project pins `>=3.11,<3.12`):
update channel), run a source install rather than a frozen build.

PyReconstruct requires **Python 3.11** — the pinned version the app and its
native dependencies are validated on (the project pins `>=3.11,<3.12`). Your
system `python3` is likely newer, and `pip install -e .` will fail against it; the
steps below get you 3.11 without changing your system Python.

```
git clone https://github.com/dustenhubbard/PyReconstruct
cd PyReconstruct
pip install -e . # editable: your working tree IS the running code
PyReconstruct

# recommended: uv (installs Python 3.11 for you)
curl -LsSf https://astral.sh/uv/install.sh | sh # or: brew install uv
uv venv --python 3.11
source .venv/bin/activate # Windows: .venv\Scripts\activate
uv pip install -e . # editable: your working tree IS the running code

# alternative: plain venv (requires python3.11 already on PATH)
python3.11 -m venv .venv && source .venv/bin/activate
pip install -e .

PyReconstruct # launch
```

Pull to move to the newest code (`git pull`); because the install is editable,
the pulled source runs immediately with no reinstall. You can also update from
the pulled source runs immediately with no reinstall — rerun the editable install
only when `pyproject.toml` changes. You can also update from
inside the app — **Help ▸ Check for updates** on a source install reinstalls the
branch set under **Series ▸ Options ▸ Updates** (default `main`) with `pip` — or
from the command line with `PyReconstruct --update` (`PyReconstruct --switch
Expand Down
30 changes: 25 additions & 5 deletions docs/USER_GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,15 +89,25 @@ Mac its matching architecture.

### From source (Linux, other platforms, and developers)

In a Python 3.11 environment (the project pins `>=3.11,<3.12`):
PyReconstruct requires **Python 3.11** — the pinned version the app and its
native dependencies are validated on (the project pins `>=3.11,<3.12`). Your
system `python3` is likely newer, and installing against it will fail; the steps
below get you 3.11 without changing your system Python. The recommended tool is
[uv](https://docs.astral.sh/uv/), which downloads Python 3.11 for you — install
it with `curl -LsSf https://astral.sh/uv/install.sh | sh` (or `brew install uv`).

For a quick, non-editable install into a fresh 3.11 environment:

```
pip install git+https://github.com/dustenhubbard/PyReconstruct
uv venv --python 3.11 && source .venv/bin/activate # Windows: .venv\Scripts\activate
uv pip install git+https://github.com/dustenhubbard/PyReconstruct
PyReconstruct
```

`pip` pulls in the runtime dependencies (PySide6, VTK, vedo, NumPy, SciPy,
scikit-image, shapely, trimesh, zarr, and others).
scikit-image, shapely, trimesh, zarr, and others). If you already have
`python3.11` on PATH, plain `venv` works instead of `uv`: `python3.11 -m venv
.venv && source .venv/bin/activate`, then `pip install git+…`.

To **track the latest unreleased code on `main`** (what the retired in-app
"Developer" channel used to offer), clone the repository and install it editable,
Expand All @@ -106,8 +116,18 @@ then `git pull` whenever you want the newest commits:
```
git clone https://github.com/dustenhubbard/PyReconstruct
cd PyReconstruct
pip install -e . # editable: the checkout IS the running code
git pull # later, to move to the newest main; no reinstall needed

# recommended: uv (installs Python 3.11 for you)
uv venv --python 3.11
source .venv/bin/activate # Windows: .venv\Scripts\activate
uv pip install -e . # editable: the checkout IS the running code

# alternative: plain venv (requires python3.11 already on PATH)
python3.11 -m venv .venv && source .venv/bin/activate
pip install -e .

git pull # later, to move to the newest main; rerun the
# editable install only when pyproject.toml changes
```

For a full development setup (the conda `pyrecon_dev` environment, tests, code
Expand Down
Loading