Metadata-Version: 2.4
Name: GCMicrolensing
Version: 0.1.0
Summary: Tools for simulating gravitational microlensing events.
Home-page: https://github.com/GregCuautle/SURP25
Author: Gregory Costa Cuautle
Author-email: Gregory Costa Cuautle <costa.130@buckeyemail.osu.edu>
License: MIT
Project-URL: Homepage, https://github.com/GregCuautle/SURP25
Project-URL: Documentation, https://gcmicrolensing.readthedocs.io/
Project-URL: Repository, https://github.com/GregCuautle/SURP25
Project-URL: Issues, https://github.com/GregCuautle/SURP25/issues
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Astronomy
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: matplotlib
Requires-Dist: scipy
Requires-Dist: astropy
Requires-Dist: VBMicrolensing>=5.0.0
Requires-Dist: pandas
Requires-Dist: seaborn
Requires-Dist: astroquery
Requires-Dist: pyvo
Requires-Dist: emcee
Requires-Dist: corner
Requires-Dist: requests
Requires-Dist: tqdm
Requires-Dist: pybind11
Requires-Dist: jupyter
Requires-Dist: ipywidgets
Provides-Extra: docs
Requires-Dist: sphinx>=5.0.0; extra == "docs"
Requires-Dist: sphinx-rtd-theme>=1.0.0; extra == "docs"
Requires-Dist: nbsphinx>=0.8.0; extra == "docs"
Requires-Dist: ipython>=8.0.0; extra == "docs"
Requires-Dist: myst-parser>=0.18.0; extra == "docs"
Requires-Dist: sphinx-autodoc-typehints>=1.19.0; extra == "docs"
Requires-Dist: sphinx-gallery>=0.10.0; extra == "docs"
Requires-Dist: sphinx-copybutton>=0.5.0; extra == "docs"
Requires-Dist: sphinx-panels>=0.6.0; extra == "docs"
Requires-Dist: sphinx-tabs>=3.0.0; extra == "docs"
Requires-Dist: sphinxcontrib-bibtex>=2.4.0; extra == "docs"
Requires-Dist: sphinxcontrib-mermaid>=0.7.0; extra == "docs"
Provides-Extra: dev
Requires-Dist: black; extra == "dev"
Requires-Dist: isort; extra == "dev"
Requires-Dist: flake8; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Requires-Dist: bandit; extra == "dev"
Requires-Dist: pydocstyle; extra == "dev"
Requires-Dist: nbqa; extra == "dev"
Requires-Dist: pre-commit; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Dynamic: author
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-python

[![PyPI version](https://img.shields.io/pypi/v/GCMicrolensing.svg)](https://pypi.org/project/GCMicrolensing/)
[![CI](https://github.com/AmberLee2427/Costa/actions/workflows/ci.yml/badge.svg)](https://github.com/AmberLee2427/Costa/actions/workflows/ci.yml)
[![Read the Docs](https://readthedocs.org/projects/gcmicrolensing/badge/?version=latest)](https://gcmicrolensing.readthedocs.io/en/latest/?badge=latest)

# GCMicrolensing

Tools for simulating gravitational microlensing events with single, binary, and triple lens systems. This package is under active development.

## Installation

### Prerequisites

This package requires a custom version of `TripleLensing` with modifications by Gregory Costa Cuautle. The installation process depends on how you obtained this package:

#### Option 1: From Source (Recommended)
If you cloned this repository, the custom `TripleLensing` is included and will be installed automatically:

```bash
git clone <repository-url>
cd Costa
pip install -e .
```

#### Option 2: Manual Installation
If you're installing from a distribution that doesn't include `TripleLensing`, you'll need to install it manually:

```bash
# First install GCMicrolensing
pip install GCMicrolensing

# Then install the custom TripleLensing (instructions to be provided)
# This requires the custom version with Greg's modifications
```

## Usage

```python
from GCMicrolensing.models import OneL1S, TwoLens1S, ThreeLens1S

# Create a single lens model
model = OneL1S(t0=2450000, tE=20, rho=0.001, u0_list=[0.1, 0.5, 1.0])
model.plot_light_curve()
```

## Dependencies

- **TripleLensing**: Custom version with modifications by Gregory Costa Cuautle
- **VBMicrolensing**: For binary lens calculations
- **Standard scientific Python stack**: numpy, matplotlib, scipy, astropy, etc.

## Documentation

See the `docs/` directory for detailed documentation.
This project uses a regular Python packaging workflow. To install the
package and its minimal runtime dependencies, execute::

    pip install .

The local `TripleLensing` library will be built and installed
automatically as part of this process.

For development a more feature rich environment can be created using the
`environment.yml` file.
