dearwatson


Namedearwatson JSON
Version 0.16.4 PyPI version JSON
download
home_pagehttps://github.com/PlanetHunters/watson
SummaryVisual Vetting and Analysis of Transits from Space ObservatioNs
upload_time2025-08-14 18:54:07
maintainerNone
docs_urlNone
authorM. Dévora-Pajares
requires_python>=3.11
licenseNone
keywords
VCS
bugtrack_url
requirements absl-py aiobotocore aiohappyeyeballs aiohttp aioitertools aiosignal annotated-types anyio arviz astropy astropy-iers-data astroquery astunparse attrs autograd backports.tarfile batman-package beautifulsoup4 blosc2 bokeh botocore celerite certifi cffi chardet charset-normalizer configparser contourpy corner cryptography cycler Cython dearwatson Deprecated distro emcee everest-pipeline exoml extension-helpers fbpca filelock flatbuffers foldedleastsquares fonttools frozenlist fsspec gast george google-pasta graphviz grpcio h11 h5netcdf h5py html5lib httpcore httpx idna imageio importlib_metadata jaraco.classes jaraco.context jaraco.functools jeepney Jinja2 jmespath joblib k2plr kagglehub keras keras-hub keras-nlp keyring kiwisolver lcbuilder libclang lightkurve llvmlite lxml Markdown markdown-it-py MarkupSafe matplotlib mdurl MechanicalSoup MeepMeep memoization ml_dtypes more-itertools mpmath msgpack multidict multipledispatch namex narwhals ndindex networkx numba numexpr numpy nvidia-cublas-cu12 nvidia-cuda-cupti-cu12 nvidia-cuda-nvrtc-cu12 nvidia-cuda-runtime-cu12 nvidia-cudnn-cu12 nvidia-cufft-cu12 nvidia-cufile-cu12 nvidia-curand-cu12 nvidia-cusolver-cu12 nvidia-cusparse-cu12 nvidia-cusparselt-cu12 nvidia-nccl-cu12 nvidia-nvjitlink-cu12 nvidia-nvtx-cu12 oktopus openai opt_einsum optree packaging pandas patsy pdf2image photutils pillow pip platformdirs propcache protobuf py-cpuinfo pybind11 pycparser pydantic pydantic_core pydot pyerfa Pygments pyopencl pyparsing PyPDF2 pyrr pysyzygy python-dateutil pytools PyTransit pytz pyvo PyYAML regex reportlab requests rich ruamel.yaml ruamel.yaml.clib s3fs scikit-learn scipy seaborn SecretStorage semantic-version setuptools siphash24 six sniffio soupsieve sympy tables tensorboard tensorboard-data-server tensorflow tensorflow-io-gcs-filesystem tensorflow-text termcolor tess-point threadpoolctl torch tornado tqdm triceratops triton typeguard typing_extensions typing-inspection tzdata uncertainties urllib3 webencodings Werkzeug wheel wotan wrapt xarray xarray-einstats xyzservices yarl zipp
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <p align="center">
  <img width="350" src="https://github.com/PlanetHunters/watson/blob/main/images/watson.png?raw=true">
</p>

<b>WATSON</b> (<b>V</b>isual <b>V</b>etting and <b>A</b>nalysis of <b>T</b>ransits from <b>S</b>pace Observatio<b>N</b>s) is a lightweight software package
that enables a comfortable visual vetting of a transiting signal candidate from Kepler, K2 and TESS missions.

Any transiting candidate signal found in a space-based mission could have been potentially generated by 
different astrophysical sources or even by instrumental artifacts induced into a target's light curve. 
To rule-out these scenarios, the Science Processing Operation Center (SPOC) of the NASA implemented 
the Data Validation (DV) Reports, which are showing different metrics to qualify 
or discard an analyzed candidate. These scenarios are mainly 

* Transit shape model fit
* Odd-even transits checks, 
* Weak secondary events
* Centroids shifts
* Optical ghost effects
* Transit source offsets
* Rolling band contamination histograms

WATSON is also implementing similar but more simplified checks for all of those scenarios 
(SPOC fits transits models and we just compute the SNR of the possible candidate signal) except the 
rolling band contamination. In addition, we included a new check comparing the transit SNRs in the different 
available cadences and also all the single-transit plots computed with the official pipeline aperture and a 
smaller one. With all of these data, we compute metrics that might alert the scientist about problematic 
signals not complying with any of the thresholds.

For more information check the docs: [https://dearwatson.readthedocs.io](https://dearwatson.readthedocs.io)

## Code example
Let's say that you found a new candidate in the TOI-175 with a period of 1.04 days (this is a known false positive
from the TESS mission). You could run WATSON easily with the next code chunk:
```
period = 1.0491800670761966
epoch = 1354.7155898963902
duration_mins = 54
depth_ppts = 0.158
sectors = 'all'
rp_rstar = 0.01205
a_rstar = 9 
ra = 124.531756290083
dec = -68.3129998725044
# We need to mask the previous candidates to ensure they don't add noise to the analysis
known_transits_mask = [{'P': 3.6906682312153136, 'T0': 1356.20298505518, 'D': 56}, 
                 {'P': 2.2531273092040185, 'T0': 1354.9020729263193, 'D': 45}, 
                 {'P': 7.450690528437917, 'T0': 1355.2917484673462, 'D': 69}]
your_execution_dir = os.getcwd() 
object_dir = your_execution_dir + '/results'
if not os.path.exists(object_dir):
    os.mkdir(object_dir)
Watson(object_dir).vetting("TIC 307210830", period, epoch, duration_mins, depth_ppts, sectors, rp_rstar,
                                       a_rstar=a_rstar, cadence=120,
                                       cpus=os.cpu_count() // 2,
                                       transits_list=None, ra=ra,
                                       dec=dec, clean=True, transits_mask=known_transits_mask)
```

This same example is done in one of our tutorials. Go and check it out!: [TOI-175 tutorial](https://dearwatson.readthedocs.io/en/latest/TOI-175/TOI-175-vetting.html)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/PlanetHunters/watson",
    "name": "dearwatson",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": null,
    "keywords": null,
    "author": "M. D\u00e9vora-Pajares",
    "author_email": "mdevorapajares@protonmail.com",
    "download_url": "https://files.pythonhosted.org/packages/53/23/4dc4918ce8c96b2893e8bea2af02f077eda90d88d888e806f27578c328f0/dearwatson-0.16.4.tar.gz",
    "platform": null,
    "description": "<p align=\"center\">\n  <img width=\"350\" src=\"https://github.com/PlanetHunters/watson/blob/main/images/watson.png?raw=true\">\n</p>\n\n<b>WATSON</b> (<b>V</b>isual <b>V</b>etting and <b>A</b>nalysis of <b>T</b>ransits from <b>S</b>pace Observatio<b>N</b>s) is a lightweight software package\nthat enables a comfortable visual vetting of a transiting signal candidate from Kepler, K2 and TESS missions.\n\nAny transiting candidate signal found in a space-based mission could have been potentially generated by \ndifferent astrophysical sources or even by instrumental artifacts induced into a target's light curve. \nTo rule-out these scenarios, the Science Processing Operation Center (SPOC) of the NASA implemented \nthe Data Validation (DV) Reports, which are showing different metrics to qualify \nor discard an analyzed candidate. These scenarios are mainly \n\n* Transit shape model fit\n* Odd-even transits checks, \n* Weak secondary events\n* Centroids shifts\n* Optical ghost effects\n* Transit source offsets\n* Rolling band contamination histograms\n\nWATSON is also implementing similar but more simplified checks for all of those scenarios \n(SPOC fits transits models and we just compute the SNR of the possible candidate signal) except the \nrolling band contamination. In addition, we included a new check comparing the transit SNRs in the different \navailable cadences and also all the single-transit plots computed with the official pipeline aperture and a \nsmaller one. With all of these data, we compute metrics that might alert the scientist about problematic \nsignals not complying with any of the thresholds.\n\nFor more information check the docs: [https://dearwatson.readthedocs.io](https://dearwatson.readthedocs.io)\n\n## Code example\nLet's say that you found a new candidate in the TOI-175 with a period of 1.04 days (this is a known false positive\nfrom the TESS mission). You could run WATSON easily with the next code chunk:\n```\nperiod = 1.0491800670761966\nepoch = 1354.7155898963902\nduration_mins = 54\ndepth_ppts = 0.158\nsectors = 'all'\nrp_rstar = 0.01205\na_rstar = 9 \nra = 124.531756290083\ndec = -68.3129998725044\n# We need to mask the previous candidates to ensure they don't add noise to the analysis\nknown_transits_mask = [{'P': 3.6906682312153136, 'T0': 1356.20298505518, 'D': 56}, \n                 {'P': 2.2531273092040185, 'T0': 1354.9020729263193, 'D': 45}, \n                 {'P': 7.450690528437917, 'T0': 1355.2917484673462, 'D': 69}]\nyour_execution_dir = os.getcwd() \nobject_dir = your_execution_dir + '/results'\nif not os.path.exists(object_dir):\n    os.mkdir(object_dir)\nWatson(object_dir).vetting(\"TIC 307210830\", period, epoch, duration_mins, depth_ppts, sectors, rp_rstar,\n                                       a_rstar=a_rstar, cadence=120,\n                                       cpus=os.cpu_count() // 2,\n                                       transits_list=None, ra=ra,\n                                       dec=dec, clean=True, transits_mask=known_transits_mask)\n```\n\nThis same example is done in one of our tutorials. Go and check it out!: [TOI-175 tutorial](https://dearwatson.readthedocs.io/en/latest/TOI-175/TOI-175-vetting.html)\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Visual Vetting and Analysis of Transits from Space ObservatioNs",
    "version": "0.16.4",
    "project_urls": {
        "Homepage": "https://github.com/PlanetHunters/watson"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "19893dbe76b0b65d04958d4d184a69b0f59d7ab8e3adb0117e53a0f0504825c5",
                "md5": "ab9f23bc40f4897dda9054c895511d6c",
                "sha256": "da3a374c9d0387739851e6cfa44d73804ce1c0d4e09266a0d4b1a8be1b2b95ed"
            },
            "downloads": -1,
            "filename": "dearwatson-0.16.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ab9f23bc40f4897dda9054c895511d6c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 1314979,
            "upload_time": "2025-08-14T18:54:05",
            "upload_time_iso_8601": "2025-08-14T18:54:05.252062Z",
            "url": "https://files.pythonhosted.org/packages/19/89/3dbe76b0b65d04958d4d184a69b0f59d7ab8e3adb0117e53a0f0504825c5/dearwatson-0.16.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "53234dc4918ce8c96b2893e8bea2af02f077eda90d88d888e806f27578c328f0",
                "md5": "db8c34fbbd5040eb83a845962d8114a9",
                "sha256": "4cdc23fdd82976db8e3ca2d80f6675b78de8055ed9d7911c0fd50a6d2e458ee4"
            },
            "downloads": -1,
            "filename": "dearwatson-0.16.4.tar.gz",
            "has_sig": false,
            "md5_digest": "db8c34fbbd5040eb83a845962d8114a9",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 1310150,
            "upload_time": "2025-08-14T18:54:07",
            "upload_time_iso_8601": "2025-08-14T18:54:07.066440Z",
            "url": "https://files.pythonhosted.org/packages/53/23/4dc4918ce8c96b2893e8bea2af02f077eda90d88d888e806f27578c328f0/dearwatson-0.16.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-14 18:54:07",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "PlanetHunters",
    "github_project": "watson",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "absl-py",
            "specs": [
                [
                    "==",
                    "2.3.1"
                ]
            ]
        },
        {
            "name": "aiobotocore",
            "specs": [
                [
                    "==",
                    "2.24.0"
                ]
            ]
        },
        {
            "name": "aiohappyeyeballs",
            "specs": [
                [
                    "==",
                    "2.6.1"
                ]
            ]
        },
        {
            "name": "aiohttp",
            "specs": [
                [
                    "==",
                    "3.12.15"
                ]
            ]
        },
        {
            "name": "aioitertools",
            "specs": [
                [
                    "==",
                    "0.12.0"
                ]
            ]
        },
        {
            "name": "aiosignal",
            "specs": [
                [
                    "==",
                    "1.4.0"
                ]
            ]
        },
        {
            "name": "annotated-types",
            "specs": [
                [
                    "==",
                    "0.7.0"
                ]
            ]
        },
        {
            "name": "anyio",
            "specs": [
                [
                    "==",
                    "4.10.0"
                ]
            ]
        },
        {
            "name": "arviz",
            "specs": [
                [
                    "==",
                    "0.21.0"
                ]
            ]
        },
        {
            "name": "astropy",
            "specs": [
                [
                    "==",
                    "7.0.1"
                ]
            ]
        },
        {
            "name": "astropy-iers-data",
            "specs": [
                [
                    "==",
                    "0.2025.8.11.0.41.9"
                ]
            ]
        },
        {
            "name": "astroquery",
            "specs": [
                [
                    "==",
                    "0.4.10"
                ]
            ]
        },
        {
            "name": "astunparse",
            "specs": [
                [
                    "==",
                    "1.6.3"
                ]
            ]
        },
        {
            "name": "attrs",
            "specs": [
                [
                    "==",
                    "25.3.0"
                ]
            ]
        },
        {
            "name": "autograd",
            "specs": [
                [
                    "==",
                    "1.8.0"
                ]
            ]
        },
        {
            "name": "backports.tarfile",
            "specs": [
                [
                    "==",
                    "1.2.0"
                ]
            ]
        },
        {
            "name": "batman-package",
            "specs": [
                [
                    "==",
                    "2.5.3"
                ]
            ]
        },
        {
            "name": "beautifulsoup4",
            "specs": [
                [
                    "==",
                    "4.13.4"
                ]
            ]
        },
        {
            "name": "blosc2",
            "specs": [
                [
                    "==",
                    "3.7.0"
                ]
            ]
        },
        {
            "name": "bokeh",
            "specs": [
                [
                    "==",
                    "3.7.3"
                ]
            ]
        },
        {
            "name": "botocore",
            "specs": [
                [
                    "==",
                    "1.39.11"
                ]
            ]
        },
        {
            "name": "celerite",
            "specs": [
                [
                    "==",
                    "0.4.3"
                ]
            ]
        },
        {
            "name": "certifi",
            "specs": [
                [
                    "==",
                    "2025.1.31"
                ]
            ]
        },
        {
            "name": "cffi",
            "specs": [
                [
                    "==",
                    "1.17.1"
                ]
            ]
        },
        {
            "name": "chardet",
            "specs": [
                [
                    "==",
                    "5.2.0"
                ]
            ]
        },
        {
            "name": "charset-normalizer",
            "specs": [
                [
                    "==",
                    "3.4.3"
                ]
            ]
        },
        {
            "name": "configparser",
            "specs": [
                [
                    "==",
                    "5.0.1"
                ]
            ]
        },
        {
            "name": "contourpy",
            "specs": [
                [
                    "==",
                    "1.3.3"
                ]
            ]
        },
        {
            "name": "corner",
            "specs": [
                [
                    "==",
                    "2.2.3"
                ]
            ]
        },
        {
            "name": "cryptography",
            "specs": [
                [
                    "==",
                    "45.0.6"
                ]
            ]
        },
        {
            "name": "cycler",
            "specs": [
                [
                    "==",
                    "0.12.1"
                ]
            ]
        },
        {
            "name": "Cython",
            "specs": [
                [
                    "==",
                    "3.0.6"
                ]
            ]
        },
        {
            "name": "dearwatson",
            "specs": [
                [
                    "==",
                    "0.16.4"
                ]
            ]
        },
        {
            "name": "Deprecated",
            "specs": [
                [
                    "==",
                    "1.2.18"
                ]
            ]
        },
        {
            "name": "distro",
            "specs": [
                [
                    "==",
                    "1.9.0"
                ]
            ]
        },
        {
            "name": "emcee",
            "specs": [
                [
                    "==",
                    "3.1.6"
                ]
            ]
        },
        {
            "name": "everest-pipeline",
            "specs": [
                [
                    "==",
                    "2.0.12"
                ]
            ]
        },
        {
            "name": "exoml",
            "specs": [
                [
                    "==",
                    "1.2.6"
                ]
            ]
        },
        {
            "name": "extension-helpers",
            "specs": [
                [
                    "==",
                    "0.1"
                ]
            ]
        },
        {
            "name": "fbpca",
            "specs": [
                [
                    "==",
                    "1.0"
                ]
            ]
        },
        {
            "name": "filelock",
            "specs": [
                [
                    "==",
                    "3.19.1"
                ]
            ]
        },
        {
            "name": "flatbuffers",
            "specs": [
                [
                    "==",
                    "25.2.10"
                ]
            ]
        },
        {
            "name": "foldedleastsquares",
            "specs": [
                [
                    "==",
                    "1.1.11"
                ]
            ]
        },
        {
            "name": "fonttools",
            "specs": [
                [
                    "==",
                    "4.59.1"
                ]
            ]
        },
        {
            "name": "frozenlist",
            "specs": [
                [
                    "==",
                    "1.7.0"
                ]
            ]
        },
        {
            "name": "fsspec",
            "specs": [
                [
                    "==",
                    "2025.7.0"
                ]
            ]
        },
        {
            "name": "gast",
            "specs": [
                [
                    "==",
                    "0.6.0"
                ]
            ]
        },
        {
            "name": "george",
            "specs": [
                [
                    "==",
                    "0.4.4"
                ]
            ]
        },
        {
            "name": "google-pasta",
            "specs": [
                [
                    "==",
                    "0.2.0"
                ]
            ]
        },
        {
            "name": "graphviz",
            "specs": [
                [
                    "==",
                    "0.20.1"
                ]
            ]
        },
        {
            "name": "grpcio",
            "specs": [
                [
                    "==",
                    "1.74.0"
                ]
            ]
        },
        {
            "name": "h11",
            "specs": [
                [
                    "==",
                    "0.16.0"
                ]
            ]
        },
        {
            "name": "h5netcdf",
            "specs": [
                [
                    "==",
                    "1.6.4"
                ]
            ]
        },
        {
            "name": "h5py",
            "specs": [
                [
                    "==",
                    "3.14.0"
                ]
            ]
        },
        {
            "name": "html5lib",
            "specs": [
                [
                    "==",
                    "1.1"
                ]
            ]
        },
        {
            "name": "httpcore",
            "specs": [
                [
                    "==",
                    "1.0.9"
                ]
            ]
        },
        {
            "name": "httpx",
            "specs": [
                [
                    "==",
                    "0.28.1"
                ]
            ]
        },
        {
            "name": "idna",
            "specs": [
                [
                    "==",
                    "3.10"
                ]
            ]
        },
        {
            "name": "imageio",
            "specs": [
                [
                    "==",
                    "2.9.0"
                ]
            ]
        },
        {
            "name": "importlib_metadata",
            "specs": [
                [
                    "==",
                    "8.7.0"
                ]
            ]
        },
        {
            "name": "jaraco.classes",
            "specs": [
                [
                    "==",
                    "3.4.0"
                ]
            ]
        },
        {
            "name": "jaraco.context",
            "specs": [
                [
                    "==",
                    "6.0.1"
                ]
            ]
        },
        {
            "name": "jaraco.functools",
            "specs": [
                [
                    "==",
                    "4.2.1"
                ]
            ]
        },
        {
            "name": "jeepney",
            "specs": [
                [
                    "==",
                    "0.9.0"
                ]
            ]
        },
        {
            "name": "Jinja2",
            "specs": [
                [
                    "==",
                    "3.1.6"
                ]
            ]
        },
        {
            "name": "jmespath",
            "specs": [
                [
                    "==",
                    "1.0.1"
                ]
            ]
        },
        {
            "name": "joblib",
            "specs": [
                [
                    "==",
                    "1.5.1"
                ]
            ]
        },
        {
            "name": "k2plr",
            "specs": [
                [
                    "==",
                    "0.2.9"
                ]
            ]
        },
        {
            "name": "kagglehub",
            "specs": [
                [
                    "==",
                    "0.3.12"
                ]
            ]
        },
        {
            "name": "keras",
            "specs": [
                [
                    "==",
                    "3.11.2"
                ]
            ]
        },
        {
            "name": "keras-hub",
            "specs": [
                [
                    "==",
                    "0.21.1"
                ]
            ]
        },
        {
            "name": "keras-nlp",
            "specs": [
                [
                    "==",
                    "0.21.1"
                ]
            ]
        },
        {
            "name": "keyring",
            "specs": [
                [
                    "==",
                    "25.6.0"
                ]
            ]
        },
        {
            "name": "kiwisolver",
            "specs": [
                [
                    "==",
                    "1.4.9"
                ]
            ]
        },
        {
            "name": "lcbuilder",
            "specs": [
                [
                    "==",
                    "0.25.4"
                ]
            ]
        },
        {
            "name": "libclang",
            "specs": [
                [
                    "==",
                    "18.1.1"
                ]
            ]
        },
        {
            "name": "lightkurve",
            "specs": [
                [
                    "==",
                    "2.5.0"
                ]
            ]
        },
        {
            "name": "llvmlite",
            "specs": [
                [
                    "==",
                    "0.44.0"
                ]
            ]
        },
        {
            "name": "lxml",
            "specs": [
                [
                    "==",
                    "6.0.0"
                ]
            ]
        },
        {
            "name": "Markdown",
            "specs": [
                [
                    "==",
                    "3.8.2"
                ]
            ]
        },
        {
            "name": "markdown-it-py",
            "specs": [
                [
                    "==",
                    "4.0.0"
                ]
            ]
        },
        {
            "name": "MarkupSafe",
            "specs": [
                [
                    "==",
                    "3.0.2"
                ]
            ]
        },
        {
            "name": "matplotlib",
            "specs": [
                [
                    "==",
                    "3.10.1"
                ]
            ]
        },
        {
            "name": "mdurl",
            "specs": [
                [
                    "==",
                    "0.1.2"
                ]
            ]
        },
        {
            "name": "MechanicalSoup",
            "specs": [
                [
                    "==",
                    "1.4.0"
                ]
            ]
        },
        {
            "name": "MeepMeep",
            "specs": [
                [
                    "==",
                    "0.7.2"
                ]
            ]
        },
        {
            "name": "memoization",
            "specs": [
                [
                    "==",
                    "0.4.0"
                ]
            ]
        },
        {
            "name": "ml_dtypes",
            "specs": [
                [
                    "==",
                    "0.5.3"
                ]
            ]
        },
        {
            "name": "more-itertools",
            "specs": [
                [
                    "==",
                    "10.7.0"
                ]
            ]
        },
        {
            "name": "mpmath",
            "specs": [
                [
                    "==",
                    "1.3.0"
                ]
            ]
        },
        {
            "name": "msgpack",
            "specs": [
                [
                    "==",
                    "1.1.1"
                ]
            ]
        },
        {
            "name": "multidict",
            "specs": [
                [
                    "==",
                    "6.6.4"
                ]
            ]
        },
        {
            "name": "multipledispatch",
            "specs": [
                [
                    "==",
                    "1.0.0"
                ]
            ]
        },
        {
            "name": "namex",
            "specs": [
                [
                    "==",
                    "0.1.0"
                ]
            ]
        },
        {
            "name": "narwhals",
            "specs": [
                [
                    "==",
                    "2.1.1"
                ]
            ]
        },
        {
            "name": "ndindex",
            "specs": [
                [
                    "==",
                    "1.10.0"
                ]
            ]
        },
        {
            "name": "networkx",
            "specs": [
                [
                    "==",
                    "3.5"
                ]
            ]
        },
        {
            "name": "numba",
            "specs": [
                [
                    "==",
                    "0.61.2"
                ]
            ]
        },
        {
            "name": "numexpr",
            "specs": [
                [
                    "==",
                    "2.11.0"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": [
                [
                    "==",
                    "2.1.1"
                ]
            ]
        },
        {
            "name": "nvidia-cublas-cu12",
            "specs": [
                [
                    "==",
                    "12.6.4.1"
                ]
            ]
        },
        {
            "name": "nvidia-cuda-cupti-cu12",
            "specs": [
                [
                    "==",
                    "12.6.80"
                ]
            ]
        },
        {
            "name": "nvidia-cuda-nvrtc-cu12",
            "specs": [
                [
                    "==",
                    "12.6.77"
                ]
            ]
        },
        {
            "name": "nvidia-cuda-runtime-cu12",
            "specs": [
                [
                    "==",
                    "12.6.77"
                ]
            ]
        },
        {
            "name": "nvidia-cudnn-cu12",
            "specs": [
                [
                    "==",
                    "9.5.1.17"
                ]
            ]
        },
        {
            "name": "nvidia-cufft-cu12",
            "specs": [
                [
                    "==",
                    "11.3.0.4"
                ]
            ]
        },
        {
            "name": "nvidia-cufile-cu12",
            "specs": [
                [
                    "==",
                    "1.11.1.6"
                ]
            ]
        },
        {
            "name": "nvidia-curand-cu12",
            "specs": [
                [
                    "==",
                    "10.3.7.77"
                ]
            ]
        },
        {
            "name": "nvidia-cusolver-cu12",
            "specs": [
                [
                    "==",
                    "11.7.1.2"
                ]
            ]
        },
        {
            "name": "nvidia-cusparse-cu12",
            "specs": [
                [
                    "==",
                    "12.5.4.2"
                ]
            ]
        },
        {
            "name": "nvidia-cusparselt-cu12",
            "specs": [
                [
                    "==",
                    "0.6.3"
                ]
            ]
        },
        {
            "name": "nvidia-nccl-cu12",
            "specs": [
                [
                    "==",
                    "2.26.2"
                ]
            ]
        },
        {
            "name": "nvidia-nvjitlink-cu12",
            "specs": [
                [
                    "==",
                    "12.6.85"
                ]
            ]
        },
        {
            "name": "nvidia-nvtx-cu12",
            "specs": [
                [
                    "==",
                    "12.6.77"
                ]
            ]
        },
        {
            "name": "oktopus",
            "specs": [
                [
                    "==",
                    "0.1.2"
                ]
            ]
        },
        {
            "name": "openai",
            "specs": [
                [
                    "==",
                    "1.30.1"
                ]
            ]
        },
        {
            "name": "opt_einsum",
            "specs": [
                [
                    "==",
                    "3.4.0"
                ]
            ]
        },
        {
            "name": "optree",
            "specs": [
                [
                    "==",
                    "0.17.0"
                ]
            ]
        },
        {
            "name": "packaging",
            "specs": [
                [
                    "==",
                    "25.0"
                ]
            ]
        },
        {
            "name": "pandas",
            "specs": [
                [
                    "==",
                    "2.2.3"
                ]
            ]
        },
        {
            "name": "patsy",
            "specs": [
                [
                    "==",
                    "1.0.1"
                ]
            ]
        },
        {
            "name": "pdf2image",
            "specs": [
                [
                    "==",
                    "1.16.2"
                ]
            ]
        },
        {
            "name": "photutils",
            "specs": [
                [
                    "==",
                    "2.2.0"
                ]
            ]
        },
        {
            "name": "pillow",
            "specs": [
                [
                    "==",
                    "11.2.1"
                ]
            ]
        },
        {
            "name": "pip",
            "specs": [
                [
                    "==",
                    "25.2"
                ]
            ]
        },
        {
            "name": "platformdirs",
            "specs": [
                [
                    "==",
                    "4.3.8"
                ]
            ]
        },
        {
            "name": "propcache",
            "specs": [
                [
                    "==",
                    "0.3.2"
                ]
            ]
        },
        {
            "name": "protobuf",
            "specs": [
                [
                    "==",
                    "5.29.5"
                ]
            ]
        },
        {
            "name": "py-cpuinfo",
            "specs": [
                [
                    "==",
                    "9.0.0"
                ]
            ]
        },
        {
            "name": "pybind11",
            "specs": [
                [
                    "==",
                    "2.11.1"
                ]
            ]
        },
        {
            "name": "pycparser",
            "specs": [
                [
                    "==",
                    "2.22"
                ]
            ]
        },
        {
            "name": "pydantic",
            "specs": [
                [
                    "==",
                    "2.11.7"
                ]
            ]
        },
        {
            "name": "pydantic_core",
            "specs": [
                [
                    "==",
                    "2.33.2"
                ]
            ]
        },
        {
            "name": "pydot",
            "specs": [
                [
                    "==",
                    "1.4.2"
                ]
            ]
        },
        {
            "name": "pyerfa",
            "specs": [
                [
                    "==",
                    "2.0.1.5"
                ]
            ]
        },
        {
            "name": "Pygments",
            "specs": [
                [
                    "==",
                    "2.19.2"
                ]
            ]
        },
        {
            "name": "pyopencl",
            "specs": [
                [
                    "==",
                    "2025.2.6"
                ]
            ]
        },
        {
            "name": "pyparsing",
            "specs": [
                [
                    "==",
                    "2.4.7"
                ]
            ]
        },
        {
            "name": "PyPDF2",
            "specs": [
                [
                    "==",
                    "3.0.1"
                ]
            ]
        },
        {
            "name": "pyrr",
            "specs": [
                [
                    "==",
                    "0.10.3"
                ]
            ]
        },
        {
            "name": "pysyzygy",
            "specs": [
                [
                    "==",
                    "0.0.2"
                ]
            ]
        },
        {
            "name": "python-dateutil",
            "specs": [
                [
                    "==",
                    "2.9.0.post0"
                ]
            ]
        },
        {
            "name": "pytools",
            "specs": [
                [
                    "==",
                    "2025.2.2"
                ]
            ]
        },
        {
            "name": "PyTransit",
            "specs": [
                [
                    "==",
                    "2.6.14"
                ]
            ]
        },
        {
            "name": "pytz",
            "specs": [
                [
                    "==",
                    "2025.2"
                ]
            ]
        },
        {
            "name": "pyvo",
            "specs": [
                [
                    "==",
                    "1.7"
                ]
            ]
        },
        {
            "name": "PyYAML",
            "specs": [
                [
                    "==",
                    "6.0.1"
                ]
            ]
        },
        {
            "name": "regex",
            "specs": [
                [
                    "==",
                    "2025.7.34"
                ]
            ]
        },
        {
            "name": "reportlab",
            "specs": [
                [
                    "==",
                    "4.4.0"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    "==",
                    "2.32.3"
                ]
            ]
        },
        {
            "name": "rich",
            "specs": [
                [
                    "==",
                    "14.1.0"
                ]
            ]
        },
        {
            "name": "ruamel.yaml",
            "specs": [
                [
                    "==",
                    "0.17.32"
                ]
            ]
        },
        {
            "name": "ruamel.yaml.clib",
            "specs": [
                [
                    "==",
                    "0.2.12"
                ]
            ]
        },
        {
            "name": "s3fs",
            "specs": [
                [
                    "==",
                    "2025.7.0"
                ]
            ]
        },
        {
            "name": "scikit-learn",
            "specs": [
                [
                    "==",
                    "1.7.0"
                ]
            ]
        },
        {
            "name": "scipy",
            "specs": [
                [
                    "==",
                    "1.15.2"
                ]
            ]
        },
        {
            "name": "seaborn",
            "specs": [
                [
                    "==",
                    "0.13.2"
                ]
            ]
        },
        {
            "name": "SecretStorage",
            "specs": [
                [
                    "==",
                    "3.3.3"
                ]
            ]
        },
        {
            "name": "semantic-version",
            "specs": [
                [
                    "==",
                    "2.10.0"
                ]
            ]
        },
        {
            "name": "setuptools",
            "specs": [
                [
                    "==",
                    "78.1.1"
                ]
            ]
        },
        {
            "name": "siphash24",
            "specs": [
                [
                    "==",
                    "1.7"
                ]
            ]
        },
        {
            "name": "six",
            "specs": [
                [
                    "==",
                    "1.17.0"
                ]
            ]
        },
        {
            "name": "sniffio",
            "specs": [
                [
                    "==",
                    "1.3.1"
                ]
            ]
        },
        {
            "name": "soupsieve",
            "specs": [
                [
                    "==",
                    "2.7"
                ]
            ]
        },
        {
            "name": "sympy",
            "specs": [
                [
                    "==",
                    "1.14.0"
                ]
            ]
        },
        {
            "name": "tables",
            "specs": [
                [
                    "==",
                    "3.10.2"
                ]
            ]
        },
        {
            "name": "tensorboard",
            "specs": [
                [
                    "==",
                    "2.19.0"
                ]
            ]
        },
        {
            "name": "tensorboard-data-server",
            "specs": [
                [
                    "==",
                    "0.7.2"
                ]
            ]
        },
        {
            "name": "tensorflow",
            "specs": [
                [
                    "==",
                    "2.19.0"
                ]
            ]
        },
        {
            "name": "tensorflow-io-gcs-filesystem",
            "specs": [
                [
                    "==",
                    "0.37.1"
                ]
            ]
        },
        {
            "name": "tensorflow-text",
            "specs": [
                [
                    "==",
                    "2.19.0"
                ]
            ]
        },
        {
            "name": "termcolor",
            "specs": [
                [
                    "==",
                    "3.1.0"
                ]
            ]
        },
        {
            "name": "tess-point",
            "specs": [
                [
                    "==",
                    "0.9.2"
                ]
            ]
        },
        {
            "name": "threadpoolctl",
            "specs": [
                [
                    "==",
                    "3.6.0"
                ]
            ]
        },
        {
            "name": "torch",
            "specs": [
                [
                    "==",
                    "2.7.0"
                ]
            ]
        },
        {
            "name": "tornado",
            "specs": [
                [
                    "==",
                    "6.5.2"
                ]
            ]
        },
        {
            "name": "tqdm",
            "specs": [
                [
                    "==",
                    "4.67.1"
                ]
            ]
        },
        {
            "name": "triceratops",
            "specs": [
                [
                    "==",
                    "1.0.19"
                ]
            ]
        },
        {
            "name": "triton",
            "specs": [
                [
                    "==",
                    "3.3.0"
                ]
            ]
        },
        {
            "name": "typeguard",
            "specs": [
                [
                    "==",
                    "4.1.5"
                ]
            ]
        },
        {
            "name": "typing_extensions",
            "specs": [
                [
                    "==",
                    "4.13.2"
                ]
            ]
        },
        {
            "name": "typing-inspection",
            "specs": [
                [
                    "==",
                    "0.4.1"
                ]
            ]
        },
        {
            "name": "tzdata",
            "specs": [
                [
                    "==",
                    "2025.2"
                ]
            ]
        },
        {
            "name": "uncertainties",
            "specs": [
                [
                    "==",
                    "3.2.2"
                ]
            ]
        },
        {
            "name": "urllib3",
            "specs": [
                [
                    "==",
                    "2.4.0"
                ]
            ]
        },
        {
            "name": "webencodings",
            "specs": [
                [
                    "==",
                    "0.5.1"
                ]
            ]
        },
        {
            "name": "Werkzeug",
            "specs": [
                [
                    "==",
                    "3.1.3"
                ]
            ]
        },
        {
            "name": "wheel",
            "specs": [
                [
                    "==",
                    "0.45.1"
                ]
            ]
        },
        {
            "name": "wotan",
            "specs": [
                [
                    "==",
                    "1.9"
                ]
            ]
        },
        {
            "name": "wrapt",
            "specs": [
                [
                    "==",
                    "1.17.3"
                ]
            ]
        },
        {
            "name": "xarray",
            "specs": [
                [
                    "==",
                    "2025.8.0"
                ]
            ]
        },
        {
            "name": "xarray-einstats",
            "specs": [
                [
                    "==",
                    "0.9.1"
                ]
            ]
        },
        {
            "name": "xyzservices",
            "specs": [
                [
                    "==",
                    "2025.4.0"
                ]
            ]
        },
        {
            "name": "yarl",
            "specs": [
                [
                    "==",
                    "1.20.1"
                ]
            ]
        },
        {
            "name": "zipp",
            "specs": [
                [
                    "==",
                    "3.23.0"
                ]
            ]
        }
    ],
    "tox": true,
    "lcname": "dearwatson"
}
        
Elapsed time: 2.93732s