Metadata-Version: 2.4
Name: skZemax
Version: 0.0.1b3.post0
Summary: A python API developed by the University of Saskatchewan Atmospheric Research Group to interface with Ansys Zemax OpticStudio. 
Author-email: Daniel Letros <daniel.letros@usask.ca>
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: alive-progress>=3.3.0
Requires-Dist: matplotlib>=3.10.8
Requires-Dist: myst-nb>=1.3.0
Requires-Dist: numpy>=2.4.2
Requires-Dist: pythonnet>=3.0.5
Requires-Dist: sphinx>=9.1.0
Requires-Dist: sphinx-book-theme>=1.1.4
Requires-Dist: sphinx-design>=0.7.0
Requires-Dist: xarray>=2026.2.0
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Dynamic: license-file

# SkZemax - Still In Development 

[![Documentation Status](https://app.readthedocs.org/projects/skzemax/badge/?version=latest)](https://skzemax.readthedocs.io/en/latest/index.html)
[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/usask-arg/skzemax/main.svg)](https://results.pre-commit.ci/latest/github/usask-arg/skzemax/main)

This package provides a class `skZemaxClass()` to interface with the `PythonStandaloneApplication()` class of Zemax.
All of the things one does in Zemax (and in some cases more) is exposed by the base API of Zemax (ZOS-API). 
The `PythonStandaloneApplication()` class is a boiler plate class that runs Zemax in a standalone way entirely through python code using this API.

However, much of ZOS-API is spread out, inconvenient, and in many cases just doesn't work as intended.
The purpose of this work, and that of `skZemaxClass()`, is to provide convenient encapsulated (and actually working) functions in python which 
execute Zemax operations while making life easier on a user.


To use this package (or the API in general), the user will need some familiarity with the ZOS-API. 
The best place for documentation is to open Zemax and click on `Help->ZOS-API Syntax Help`' and `Help->Help PDF`. 

See the examples in `docs\Examples` which show how to use `skZemaxClass()` to execute some of the examples included with Zemax in `Documents\Zemax\ZOS-API Sample Code\Python`.

## Installation

`pip install skZemax`

## Usage
Documentation can be found at https://skZemax.readthedocs.io/

## License
This project is licensed under the MIT license
