Skip to main content

TESS Aperture Photometry Pollution eStimator PyPI

Description

A python module that calculates a contamination factor in the aperture region of a tpf based on the relative flux of the background stars and the target.

HAT-P-1 example

Prerequisites

Mandatory:

  • numpy (2.4.2): to make all calculations
  • scipy (1.17.1): to integrate the gaussian function
  • astropy (8.0.1): to build data used in this module
  • astroquery (0.4.11): to find stars in the target's region

Optional:

  • lightkurve (2.6.0): to fetch tpf files (unless they already exist locally)
  • matplotlib (3.10.8): to plot the result (shows aperture mask with a caption at the bottom)

A future version will include minimum working versions (these are the only tested so far)

Running the module

A tpf is needed to run this module. If no tpf is supplied, the default is a file with HAT-P-1 (the example picture above). So, here is the minimal example:

import tessapps as tapps

tapps.run()

>>> [0.42325, 0.00191]

The first number is 1 minus the contamination factor, and the second is its error. Here is a more realistic example with CoRoT-1 (also in the example images):

import lightkurve as lk
import tessapps as tapps

tpf_CoRoT_1 = lk.search_targetpixelfile('CoRoT 1')[1].download()
flux, error = tapps.run(tpf_CoRoT_1, result=True)

>>> The target star contributes (97.751 ± 0.020)% of the total flux.

File Organization

Files in /src:

src
└── tessapps
    ├── __init__.py
    ├── __main__.py
    ├── main.py
    ├── tpf_to_nearby_stars.py
    ├── nearby_stars_to_data.py
    └── data_to_contamination.py

2 directories, 6 files

File description

  • __init__.py: makes it so that the user can run tessapps.run(...)
  • __main__.py: executes main.py
  • main.py: the file that runs all other relevant files
  • tpf_to_nearby_stars.py: produces a list of stars near the target star only using the tpf file
  • nearby_stars_to_data.py: builds a data table containing all relevant information about stars, in a format readable by this module
  • data_to_contamination.py constructs the gaussian fields and calulates the contamination filter

Possible Issues

  • ConnectionResetError: happens sometimes due to urllib3. Run again and it should compile normally.

Authors

Leonidas Liponis

Codeberg page: https://codeberg.org/leolip128/tessapps

PyPI page: https://pypi.org/project/tessapps/

Email (for contact): lliponis (at) physics.auth.gr

AI Disclosure

No LLMs were used in the making of this project. All code was generated and verified by humans, so it will only contain human-made mistakes. All commits on github made by bots will be refused, and commits made by humans will be checked: published code should be fully understandable by the authors.

To-Do list

  • add description
  • specify dependencies' versions
  • add options to run the module
  • add more stuff in this to-do list

Notes

Examples

The default tpf is lk.search_targetpixelfile("HAT-P-1", mission="TESS", sector=84, exptime=120)[0].download(), with [0] specified for reproducability (there is only one such file as of October 2026). HAT-P-1 has a star directly next to it with similar brightness, so it is a good default file as it is expected to find a contamination factor of about 0.5 (actual: 0.42).

All examples provided were generated with the following tpfs:

  • HAT-P-1: lk.search_targetpixelfile("HAT-P-1", mission="TESS", sector=84, exptime=120)[0].download()
  • WASP-12: lk.search_targetpixelfile("WASP-12", mission="TESS", sector=20, exptime=120).download()
  • TOI-122: lk.search_targetpixelfile("TOI-122", mission="TESS", exptime=1800).download()
  • AUMic: lk.search_targetpixelfile('20:45:09.5323 -31:20:27.241')[4].download()
  • 55-Cnc: lk.search_targetpixelfile('55 Cnc')[6].download()
  • CoRoT-1: lk.search_targetpixelfile('CoRoT 1')[1].download()
  • CoRoT-10: lk.search_targetpixelfile('19:24:15.2868 +00:44:46.003')[1].download()

The caption on each example was edited manually to show the name of each star.

Other

The directory in File Organization has its files sorted manually.

Metadata

Release files for tessapps 0.2.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tessapps 0.2.5
File Size Uploaded Provenance Actions
tessapps-0.2.5.tar.gz 9.9 kB Without provenance Details for tessapps-0.2.5.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for tessapps 0.2.5
File Interpreter ABI Platform Actions
tessapps-0.2.5-py3-none-any.whl Python 3 none any Details for tessapps-0.2.5-py3-none-any.whl

Total release size: 20.3 kB

Release files / tessapps-0.2.5.tar.gz

Download URL tessapps-0.2.5.tar.gz
Size 9.9 kB
Tags Source
SHA-256 checksum
How to use checksums
63c5a135c4f0742380ca01b18a636944a42d2ddc7d6076fdb5e3d0009e8dd084
BLAKE2b-256 checksum
How to use checksums
92a9edd903bee8cb95dd176cac2c800571aed62541bd8edd882377eccdfc18f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.32.5

Release files / tessapps-0.2.5-py3-none-any.whl

Download URL tessapps-0.2.5-py3-none-any.whl
Size 10.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
995775654a3af70fcd8f5dc37a4bd08ecc714d0519639f717e1209c054134505
BLAKE2b-256 checksum
How to use checksums
dfd6be69b2310b2855199305bb63fd281210c9c09ec07724c6ac15db089c72d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.32.5

Security for tessapps 0.2.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page