Metadata-Version: 2.4
Name: pyote
Version: 5.7.16
Summary: pyote is an occultation lightcurve timing extraction tool
Author-email: Bob Anderson <bob.anderson.ok@gmail.com>
Maintainer-email: Bob Anderson <bob.anderson.ok@gmail.com>
License: MIT License
        
        Copyright (c) 2017 bob-anderson-ok
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Project-URL: Homepage, https://github.com/bob-anderson-ok/py-ote
Keywords: desktop app,asteroid occultation timing extraction
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Science/Research
Classifier: Natural Language :: English
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Scientific/Engineering
Requires-Python: <3.11,>=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: PyQt5==5.15.11
Requires-Dist: PyQt5-Qt5==5.15.11; platform_system == "Darwin"
Requires-Dist: PyQt5-Qt5==5.15.2; platform_system != "Darwin"
Requires-Dist: PyQt5-sip==12.15.0
Requires-Dist: pyqtgraph==0.12.4
Requires-Dist: numpy==2.1.3
Requires-Dist: scipy==1.15.1
Requires-Dist: matplotlib==3.10.0
Requires-Dist: pandas==2.2.3
Requires-Dist: numba==0.61.0
Requires-Dist: llvmlite==0.44.0
Requires-Dist: scikit-image==0.24.0
Requires-Dist: Pillow==11.1.0
Requires-Dist: astropy==6.1.7
Requires-Dist: opencv-python==4.10.0.84
Requires-Dist: Adv2==1.2.0
Requires-Dist: openpyxl==3.1.5
Requires-Dist: XlsxWriter==3.2.0
Requires-Dist: PyYAML==6.0.2
Dynamic: license-file

# PyOTE

PyOTE is a Python implementation of the essential parts of the R-OTE
occultation timing extractor. It analyses lightcurves recorded during
asteroid occultations and produces timing measurements — D and R event
times with error bars, false-positive estimates, and publication-ready
lightcurve plots.

The name was chosen out of respect and deference to R-OTE, the original
Occultation Timing Extractor that this tool builds on. PyOTE has fewer
"bells and whistles" than R-OTE, runs faster, and is easier to deploy.

## Installing

### Windows: download the executable (easiest)

Windows users can skip the Python toolchain entirely. Go to the
[latest release](https://github.com/bob-anderson-ok/py-ote/releases/latest)
page and download `PyOTE.exe` from the *Assets* section. Double-click to
run — no installation, no Python setup required. The executable bundles
its own Python runtime and all dependencies.

The first activation will take extra time because it will be downloading
the proper version of Python and all the other dependencies. Subsequent
activations will only take a few seconds.

To update later, just download the newer `PyOTE.exe` from the release
page and replace the old one.

If you'd rather run from source (all platforms), follow the uv-based
instructions below.

### Installing from source (any platform)

PyOTE uses [uv](https://docs.astral.sh/uv/) to manage its Python
environment. You do **not** need Python pre-installed — uv will
automatically download the correct version (3.10) on first run.

**Step 1.** Install uv (one line, user-scope, no admin rights required).

Windows, in PowerShell:

```
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
```

macOS or Linux, in a terminal:

```
curl -LsSf https://astral.sh/uv/install.sh | sh
```

Close and reopen your terminal afterwards so the new `uv` command is on
your PATH.

**Step 2.** Get the PyOTE source. Either clone with git:

```
git clone https://github.com/bob-anderson-ok/py-ote.git
cd py-ote
```

or download the repository as a ZIP from the GitHub page, unzip it, and
`cd` into the extracted folder.

**Step 3.** Launch PyOTE:

```
uv run pyote
```

On first run, uv downloads Python 3.10 (if not already present), installs
the pinned dependencies from `uv.lock` into a local `.venv` folder, and
opens the PyOTE window. Subsequent runs are near-instant.

### Updating

To pick up a new PyOTE release:

```
git pull
uv run pyote
```

uv automatically re-syncs the environment whenever `uv.lock` has changed,
so there is nothing else to do.

### Troubleshooting

* **"uv: command not found"** — close and reopen your terminal, or follow
  the PATH instructions printed by the uv installer.
* **Windows SmartScreen warning on the uv installer** — click *More info*
  → *Run anyway*. The installer is published by Astral.
* **Corporate proxy / firewall issues** — uv honours standard
  `HTTPS_PROXY` and `HTTP_PROXY` environment variables.
