Skip to content

Repository files navigation

pxr-reduce

CI PyPI version codecov Python 3.13+ uv Ruff ty License: MIT Renovate

A collection of standalone tools for reducing pxr data from bl 11.0.1.2 at the ALS.

Features

  • Fast and modern Python toolchain using Astral's tools (uv, ruff, ty)
  • Type-safe with full type annotations
  • Comprehensive documentation with MkDocs — View Docs

Installation

pip install pxr_reduce

Or using uv (recommended):

uv add pxr_reduce

Quick Start

from importlib.metadata import version

from pxr_reduce import PrsoxrLoader

print(version("pxr_reduce"))

Development

Prerequisites

  • Python 3.13+
  • uv for package management

Setup

git clone https://github.com/als-rsoxs/pxr-reduce.git
cd pxr-reduce
make install

Running Tests

make test

# With coverage
make test-cov

# Across all Python versions
make test-matrix

Code Quality

# Run all checks (lint, format, type-check)
make verify

# Auto-fix lint and format issues
make fix

Prek

prek install
prek run --all-files

Documentation

make docs-serve

Dependency Updates

This project uses Renovate to keep dependencies up to date automatically. Renovate will open pull requests when new versions of dependencies are available.

To enable it, install the Renovate GitHub App and grant it access to this repository.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

A collection of standalone tools for reducing polarized X-ray reflectivity data, specifically designed for use at the RSOXS beamline at the ALS.

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages