Skip to content

Commit 44d8806

Browse files
authored
Merge pull request #145 from DCC-Lab/jlb/update-docs
Update readme and add release instructions.
2 parents 6c31ef2 + 75f2752 commit 44d8806

File tree

2 files changed

+53
-11
lines changed

2 files changed

+53
-11
lines changed

README.md

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,12 @@
22
<p align="center"><i>A hardware-accelerated Python module to simulate light transport in arbitrarily complex 3D media with ease.</i></p>
33
<img src="https://raw.githubusercontent.com/DCC-Lab/PyTissueOptics/main/assets/banner.png" />
44

5-
[![Tests](https://github.com/DCC-Lab/pytissueoptics/actions/workflows/tests.yaml/badge.svg)](https://github.com/DCC-Lab/pytissueoptics/actions/workflows/tests.yaml) [![codecov](https://codecov.io/gh/DCC-Lab/pytissueoptics/branch/main/graph/badge.svg)](https://codecov.io/gh/DCC-Lab/pytissueoptics) [![CodeFactor](https://www.codefactor.io/repository/github/DCC-Lab/pytissueoptics/badge)](https://www.codefactor.io/repository/github/DCC-Lab/pytissueoptics) [![License](https://img.shields.io/github/license/DCC-Lab/pytissueoptics.svg)](LICENSE)
5+
[![Tests](https://github.com/DCC-Lab/pytissueoptics/actions/workflows/tests.yaml/badge.svg)](https://github.com/DCC-Lab/pytissueoptics/actions/workflows/tests.yaml)
6+
[![pypi](https://img.shields.io/pypi/v/pytissueoptics?label=PyPI&color=orange&logo=python&logoColor=white)](https://pypi.org/project/pytissueoptics/)
7+
[![Python Versions](https://img.shields.io/badge/python-3.9+-blue.svg?logo=python&logoColor=white)](https://pypi.org/project/pytissueoptics/)
8+
[![codecov](https://codecov.io/gh/DCC-Lab/pytissueoptics/branch/main/graph/badge.svg)](https://codecov.io/gh/DCC-Lab/pytissueoptics)
9+
[![CodeFactor](https://www.codefactor.io/repository/github/DCC-Lab/pytissueoptics/badge)](https://www.codefactor.io/repository/github/DCC-Lab/pytissueoptics)
10+
[![License](https://img.shields.io/github/license/DCC-Lab/pytissueoptics.svg)](LICENSE)
611

712
This python package is a fast and flexible implementation of Monte Carlo modeling for light transport in diffuse media.
813
The package is **easy to set up and use**, and its mesh-based approach makes it a polyvalent tool to simulate
@@ -23,16 +28,9 @@ Designed with **research and education** in mind, the code aims to be clear, mod
2328
- **Reusable graphics framework** to kickstart other raytracing projects like [SensorSim](https://github.com/JLBegin/SensorSim).
2429

2530
## Installation
26-
Requires Python 3.9+ installed.
27-
28-
> Currently, the `pip` version is outdated. We recommend installing the development version.
29-
1. Clone the repository.
30-
2. Create a virtual environment inside the repository with `python -m venv venv`.
31-
3. Activate the virtual environment.
32-
- On MacOS/Linux: `source venv/bin/activate`.
33-
- On Windows: `venv\Scripts\activate.bat`.
34-
4. Upgrade `pip` with `pip install --upgrade pip`.
35-
5. Install the package requirements with `python -m pip install -e .[dev]`.
31+
```
32+
pip install pytissueoptics
33+
```
3634

3735
## Getting started
3836

RELEASING.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Releasing PyTissueOptics
2+
3+
## 1. Prerequisites
4+
5+
- You must have permission to publish to [PyPI](https://pypi.org/project/pytissueoptics/).
6+
- Ensure the following tools are installed and up to date:
7+
```bash
8+
pip install --upgrade build twine
9+
```
10+
- Local git repository is clean.
11+
```bash
12+
git checkout main
13+
git pull origin main
14+
```
15+
16+
A note on versioning:
17+
> PyTissueOptics uses `setuptools_scm`, which automatically infers the package version from Git tags.
18+
> Follow [Semantic Versioning](https://semver.org/) to tag releases as `vMAJOR.MINOR.PATCH` (e.g., `v2.0.1`).
19+
Development versions are built from commits after the latest tag and look like `v2.0.1.dev3+gabc123.d20251108`.
20+
21+
## 2. Create a Git tag
22+
```bash
23+
git tag vX.Y.Z
24+
git push origin vX.Y.Z
25+
```
26+
27+
## 3. Build the package
28+
```bash
29+
rm -rf dist/
30+
python -m build
31+
```
32+
33+
## 4. Upload to PyPI
34+
```bash
35+
python -m twine upload dist/*
36+
```
37+
38+
## 5. Publish GitHub Release
39+
Used to announce and document the changes in the new version.
40+
- Go to the [GitHub releases page](https://github.com/DCC-Lab/PyTissueOptics/releases)
41+
- Click on "Draft a new release"
42+
- Select the tag you created earlier
43+
- Fill in the release title and description (generate changelog from last tag).
44+
- Click "Publish release"

0 commit comments

Comments
 (0)