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
20 changes: 9 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,12 @@
<p align="center"><i>A hardware-accelerated Python module to simulate light transport in arbitrarily complex 3D media with ease.</i></p>
<img src="https://raw.githubusercontent.com/DCC-Lab/PyTissueOptics/main/assets/banner.png" />

[![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)
[![Tests](https://github.com/DCC-Lab/pytissueoptics/actions/workflows/tests.yaml/badge.svg)](https://github.com/DCC-Lab/pytissueoptics/actions/workflows/tests.yaml)
[![pypi](https://img.shields.io/pypi/v/pytissueoptics?label=PyPI&color=orange&logo=python&logoColor=white)](https://pypi.org/project/pytissueoptics/)
[![Python Versions](https://img.shields.io/badge/python-3.9+-blue.svg?logo=python&logoColor=white)](https://pypi.org/project/pytissueoptics/)
[![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)

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

## Installation
Requires Python 3.9+ installed.

> Currently, the `pip` version is outdated. We recommend installing the development version.
1. Clone the repository.
2. Create a virtual environment inside the repository with `python -m venv venv`.
3. Activate the virtual environment.
- On MacOS/Linux: `source venv/bin/activate`.
- On Windows: `venv\Scripts\activate.bat`.
4. Upgrade `pip` with `pip install --upgrade pip`.
5. Install the package requirements with `python -m pip install -e .[dev]`.
```
pip install pytissueoptics
```

## Getting started

Expand Down
44 changes: 44 additions & 0 deletions RELEASING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Releasing PyTissueOptics

## 1. Prerequisites

- You must have permission to publish to [PyPI](https://pypi.org/project/pytissueoptics/).
- Ensure the following tools are installed and up to date:
```bash
pip install --upgrade build twine
```
- Local git repository is clean.
```bash
git checkout main
git pull origin main
```

A note on versioning:
> PyTissueOptics uses `setuptools_scm`, which automatically infers the package version from Git tags.
> Follow [Semantic Versioning](https://semver.org/) to tag releases as `vMAJOR.MINOR.PATCH` (e.g., `v2.0.1`).
Development versions are built from commits after the latest tag and look like `v2.0.1.dev3+gabc123.d20251108`.

## 2. Create a Git tag
```bash
git tag vX.Y.Z
git push origin vX.Y.Z
```

## 3. Build the package
```bash
rm -rf dist/
python -m build
```

## 4. Upload to PyPI
```bash
python -m twine upload dist/*
```

## 5. Publish GitHub Release
Used to announce and document the changes in the new version.
- Go to the [GitHub releases page](https://github.com/DCC-Lab/PyTissueOptics/releases)
- Click on "Draft a new release"
- Select the tag you created earlier
- Fill in the release title and description (generate changelog from last tag).
- Click "Publish release"
Loading