paos


Namepaos JSON
Version 1.2.9 PyPI version JSON
download
home_pageNone
SummaryPAOS, the Physical Optics Simulator, is a fast, modern, and reliable Python package for Physical Optics studies. It implements Physical Optics Propagation in Fresnel approximation and paraxial ray tracing to analyze complex waveform propagation through both generic and off-axes optical systems.
upload_time2025-07-18 16:42:02
maintainerNone
docs_urlNone
authorAndrea Bocchieri
requires_python<4.0,>=3.9
licenseBSD-3-Clause
keywords python open-source psf gui optics wavefront ray-tracing fresnel optics-simulation paos
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # ``PAOS``

[![PyPI version](https://badge.fury.io/py/paos.svg?icon=si%3Apython)](https://badge.fury.io/py/paos)
[![GitHub version](https://badge.fury.io/gh/arielmission-space%2FPAOS.svg?icon=si%3Agithub)](https://badge.fury.io/gh/arielmission-space%2FPAOS)
[![Downloads](https://static.pepy.tech/badge/paos)](https://pepy.tech/project/paos)
[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
[![Documentation Status](https://readthedocs.org/projects/paos/badge/?version=latest)](https://paos.readthedocs.io/en/latest/?badge=latest)
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](code_of_conduct.md)

## Introduction

``PAOS``, the Physical Optics Simulator, is a fast, modern, and reliable Python package for Physical Optics studies.

It implements Physical Optics Propagation in Fresnel approximation and paraxial ray tracing to analyze complex waveform propagation through both generic and off-axes optical systems.

It handles diffractive materials and can implement wavefront aberrations as Zernike polynomials, orthonormal polynomials, or grid sags.

## Table of contents

- [``PAOS``](#paos)
  - [Introduction](#introduction)
  - [Table of contents](#table-of-contents)
  - [How to install](#how-to-install)
    - [Install from PyPI](#install-from-pypi)
    - [Install from source code](#install-from-source-code)
      - [Test your installation](#test-your-installation)
    - [Interactive Marimo Notebooks](#interactive-marimo-notebooks)
  - [Documentation](#documentation)
    - [Build the html documentation](#build-the-html-documentation)
    - [Build the pdf documentation](#build-the-pdf-documentation)
  - [How to contribute](#how-to-contribute)
  - [How to cite](#how-to-cite)

## How to install

Instructions on how to install ``PAOS``.

### Install from PyPI

``PAOS`` is available on PyPI and can be installed via pip as

    pip install paos

### Install from source code

``PAOS`` is compatible (tested) with Python 3.9+

To install from source, clone the [repository](https://github.com/arielmission-space/PAOS/) and move inside the directory.

Then use `pip` as

    pip install .

#### Test your installation

Try importing ``PAOS`` as

    python -c "import paos; print(paos.__version__)"

Or running ``PAOS`` itself with the `help` flag as

    paos -h

Or the Graphical User Interface with the `help` flag as

    paos_gui -h

If there are no errors then the installation was successful!

### Interactive Marimo Notebooks

PAOS provides interactive [marimo](https://github.com/marimo-team/marimo) notebooks to showcase (some of) its capabilities. These notebooks allow you to explore PAOS features in a live, browser-based environment.

**Available marimo notebooks:**

- `notebook/paos_demo.py`
- `notebook/material.py`
- `notebook/psd.py`

*Note: These notebooks are available only in PAOS version 1.2.6 and later.*

**How to run a marimo notebook:**

After installing PAOS, marimo is already available.

To launch a notebook (for example):

    marimo run notebook/paos_demo.py

This will open the interactive notebook in your browser.

## Documentation

``PAOS`` comes with an extensive documentation, which can be built using Sphinx.
The documentation includes a tutorial, a user guide and a reference guide.

To build the documentation, install the needed packages first via `poetry`:

    pip install poetry
    poetry install --with docs

### Build the html documentation

To build the html documentation, move into the `docs` directory and run

    make html

The documentation will be produced into the `build/html` directory inside `docs`.
Open `index.html` to read the documentation.

### Build the pdf documentation

To build the pdf, move into the `docs` directory and run

    make latexpdf

The documentation will be produced into the `build/latex` directory inside `docs`.
Open `paos.pdf` to read the documentation.

The developers use `pdflatex`; if you have another compiler for LaTex, please refer to [sphinx documentation](https://www.sphinx-doc.org/en/master/usage/configuration.html#latex-options).

## How to contribute

You can contribute to ``PAOS`` by reporting bugs, suggesting new features, or contributing to the code itself.
If you wish to contribute to the code, please follow the steps described in the documentation under `Developer Guide`.

## How to cite

```bibtex
@INPROCEEDINGS{2024SPIE13092E..4KB,
       author = {{Bocchieri}, Andrea and {Mugnai}, Lorenzo V. and {Pascale}, Enzo},
        title = "{PAOS: a fast, modern, and reliable Python package for physical optics studies}",
    booktitle = {Space Telescopes and Instrumentation 2024: Optical, Infrared, and Millimeter Wave},
         year = 2024,
       editor = {{Coyle}, Laura E. and {Matsuura}, Shuji and {Perrin}, Marshall D.},
       series = {Society of Photo-Optical Instrumentation Engineers (SPIE) Conference Series},
       volume = {13092},
        month = aug,
          eid = {130924K},
        pages = {130924K},
          doi = {10.1117/12.3018333},
       adsurl = {https://ui.adsabs.harvard.edu/abs/2024SPIE13092E..4KB},
      adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}
```


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "paos",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.9",
    "maintainer_email": null,
    "keywords": "python, open-source, psf, gui, optics, wavefront, ray-tracing, fresnel, optics-simulation, paos",
    "author": "Andrea Bocchieri",
    "author_email": "andrea.bocchieri@uniroma1.it",
    "download_url": "https://files.pythonhosted.org/packages/2f/9b/588359a206049de7ba3fc773d6b4fc76a162919060016dc8c91e894998e5/paos-1.2.9.tar.gz",
    "platform": null,
    "description": "# ``PAOS``\n\n[![PyPI version](https://badge.fury.io/py/paos.svg?icon=si%3Apython)](https://badge.fury.io/py/paos)\n[![GitHub version](https://badge.fury.io/gh/arielmission-space%2FPAOS.svg?icon=si%3Agithub)](https://badge.fury.io/gh/arielmission-space%2FPAOS)\n[![Downloads](https://static.pepy.tech/badge/paos)](https://pepy.tech/project/paos)\n[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)\n[![Documentation Status](https://readthedocs.org/projects/paos/badge/?version=latest)](https://paos.readthedocs.io/en/latest/?badge=latest)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](code_of_conduct.md)\n\n## Introduction\n\n``PAOS``, the Physical Optics Simulator, is a fast, modern, and reliable Python package for Physical Optics studies.\n\nIt implements Physical Optics Propagation in Fresnel approximation and paraxial ray tracing to analyze complex waveform propagation through both generic and off-axes optical systems.\n\nIt handles diffractive materials and can implement wavefront aberrations as Zernike polynomials, orthonormal polynomials, or grid sags.\n\n## Table of contents\n\n- [``PAOS``](#paos)\n  - [Introduction](#introduction)\n  - [Table of contents](#table-of-contents)\n  - [How to install](#how-to-install)\n    - [Install from PyPI](#install-from-pypi)\n    - [Install from source code](#install-from-source-code)\n      - [Test your installation](#test-your-installation)\n    - [Interactive Marimo Notebooks](#interactive-marimo-notebooks)\n  - [Documentation](#documentation)\n    - [Build the html documentation](#build-the-html-documentation)\n    - [Build the pdf documentation](#build-the-pdf-documentation)\n  - [How to contribute](#how-to-contribute)\n  - [How to cite](#how-to-cite)\n\n## How to install\n\nInstructions on how to install ``PAOS``.\n\n### Install from PyPI\n\n``PAOS`` is available on PyPI and can be installed via pip as\n\n    pip install paos\n\n### Install from source code\n\n``PAOS`` is compatible (tested) with Python 3.9+\n\nTo install from source, clone the [repository](https://github.com/arielmission-space/PAOS/) and move inside the directory.\n\nThen use `pip` as\n\n    pip install .\n\n#### Test your installation\n\nTry importing ``PAOS`` as\n\n    python -c \"import paos; print(paos.__version__)\"\n\nOr running ``PAOS`` itself with the `help` flag as\n\n    paos -h\n\nOr the Graphical User Interface with the `help` flag as\n\n    paos_gui -h\n\nIf there are no errors then the installation was successful!\n\n### Interactive Marimo Notebooks\n\nPAOS provides interactive [marimo](https://github.com/marimo-team/marimo) notebooks to showcase (some of) its capabilities. These notebooks allow you to explore PAOS features in a live, browser-based environment.\n\n**Available marimo notebooks:**\n\n- `notebook/paos_demo.py`\n- `notebook/material.py`\n- `notebook/psd.py`\n\n*Note: These notebooks are available only in PAOS version 1.2.6 and later.*\n\n**How to run a marimo notebook:**\n\nAfter installing PAOS, marimo is already available.\n\nTo launch a notebook (for example):\n\n    marimo run notebook/paos_demo.py\n\nThis will open the interactive notebook in your browser.\n\n## Documentation\n\n``PAOS`` comes with an extensive documentation, which can be built using Sphinx.\nThe documentation includes a tutorial, a user guide and a reference guide.\n\nTo build the documentation, install the needed packages first via `poetry`:\n\n    pip install poetry\n    poetry install --with docs\n\n### Build the html documentation\n\nTo build the html documentation, move into the `docs` directory and run\n\n    make html\n\nThe documentation will be produced into the `build/html` directory inside `docs`.\nOpen `index.html` to read the documentation.\n\n### Build the pdf documentation\n\nTo build the pdf, move into the `docs` directory and run\n\n    make latexpdf\n\nThe documentation will be produced into the `build/latex` directory inside `docs`.\nOpen `paos.pdf` to read the documentation.\n\nThe developers use `pdflatex`; if you have another compiler for LaTex, please refer to [sphinx documentation](https://www.sphinx-doc.org/en/master/usage/configuration.html#latex-options).\n\n## How to contribute\n\nYou can contribute to ``PAOS`` by reporting bugs, suggesting new features, or contributing to the code itself.\nIf you wish to contribute to the code, please follow the steps described in the documentation under `Developer Guide`.\n\n## How to cite\n\n```bibtex\n@INPROCEEDINGS{2024SPIE13092E..4KB,\n       author = {{Bocchieri}, Andrea and {Mugnai}, Lorenzo V. and {Pascale}, Enzo},\n        title = \"{PAOS: a fast, modern, and reliable Python package for physical optics studies}\",\n    booktitle = {Space Telescopes and Instrumentation 2024: Optical, Infrared, and Millimeter Wave},\n         year = 2024,\n       editor = {{Coyle}, Laura E. and {Matsuura}, Shuji and {Perrin}, Marshall D.},\n       series = {Society of Photo-Optical Instrumentation Engineers (SPIE) Conference Series},\n       volume = {13092},\n        month = aug,\n          eid = {130924K},\n        pages = {130924K},\n          doi = {10.1117/12.3018333},\n       adsurl = {https://ui.adsabs.harvard.edu/abs/2024SPIE13092E..4KB},\n      adsnote = {Provided by the SAO/NASA Astrophysics Data System}\n}\n```\n\n",
    "bugtrack_url": null,
    "license": "BSD-3-Clause",
    "summary": "PAOS, the Physical Optics Simulator, is a fast, modern, and reliable Python package for Physical Optics studies. It implements Physical Optics Propagation in Fresnel approximation and paraxial ray tracing to analyze complex waveform propagation through both generic and off-axes optical systems.",
    "version": "1.2.9",
    "project_urls": {
        "Documentation": "https://paos.readthedocs.io/en/latest/",
        "Homepage": "https://github.com/arielmission-space/PAOS",
        "Repository": "https://github.com/arielmission-space/PAOS.git"
    },
    "split_keywords": [
        "python",
        " open-source",
        " psf",
        " gui",
        " optics",
        " wavefront",
        " ray-tracing",
        " fresnel",
        " optics-simulation",
        " paos"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4cd3362cb63ddcac5a3e7fe3c7632c50860ac9d76ee79279b254f6b6697e168e",
                "md5": "a0ea43074411cb39b120791b9d02886e",
                "sha256": "284fbd2efcd82d624af084ce1510e462e77ba6155be5ac9e01710a0709a05bc1"
            },
            "downloads": -1,
            "filename": "paos-1.2.9-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a0ea43074411cb39b120791b9d02886e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.9",
            "size": 185652,
            "upload_time": "2025-07-18T16:41:57",
            "upload_time_iso_8601": "2025-07-18T16:41:57.211523Z",
            "url": "https://files.pythonhosted.org/packages/4c/d3/362cb63ddcac5a3e7fe3c7632c50860ac9d76ee79279b254f6b6697e168e/paos-1.2.9-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2f9b588359a206049de7ba3fc773d6b4fc76a162919060016dc8c91e894998e5",
                "md5": "f885e92efe4f5bab68df6cab1e4c7a64",
                "sha256": "307db3c4bdb7010d20fc6187f2c15fc5faf48806e07feaff6190ff4834240f66"
            },
            "downloads": -1,
            "filename": "paos-1.2.9.tar.gz",
            "has_sig": false,
            "md5_digest": "f885e92efe4f5bab68df6cab1e4c7a64",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.9",
            "size": 179230,
            "upload_time": "2025-07-18T16:42:02",
            "upload_time_iso_8601": "2025-07-18T16:42:02.644876Z",
            "url": "https://files.pythonhosted.org/packages/2f/9b/588359a206049de7ba3fc773d6b4fc76a162919060016dc8c91e894998e5/paos-1.2.9.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-18 16:42:02",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "arielmission-space",
    "github_project": "PAOS",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "paos"
}
        
Elapsed time: 1.51890s