iss-pass-tracker


Nameiss-pass-tracker JSON
Version 1.0.1 PyPI version JSON
download
home_pageNone
SummaryFetch upcoming ISS passes for a location and helpers to notify users.
upload_time2025-08-10 17:41:25
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseMIT
keywords iss satellite space tracker open-notify
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # ISS Pass Tracker

A small Python library to fetch upcoming International Space Station (ISS) passes for a given latitude/longitude. Intended as a PyPI-ready example and a practical utility.

## Features
- Query Open Notify (free) for next N passes.
- Return results as typed dataclasses.
- Optional CLI (requires `click` extra).

## Installation (from source / TestPyPI)
```bash
pip install --upgrade pip build twine
python -m build
# Test upload (recommended):
# twine upload --repository testpypi dist/*
# Real upload:
# twine upload dist/*
```

## Quick usage in another file after installing it
```python
import argparse
from iss_pass_tracker import set_api_key, get_passes

parser = argparse.ArgumentParser()
parser.add_argument("--api-key", required=True)
args = parser.parse_args()

# Set the API key for iss_pass_tracker
set_api_key(args.api_key)

lat, lon = 17.385044, 78.486671
passes = get_passes(lat, lon, n=10)

if not passes:
    print("No upcoming ISS passes found.")
else:
    for p in passes:
        # local_time() returns datetime in your system timezone
        print(p.local_time().strftime("%Y-%m-%d %H:%M:%S %Z"), f"for {p.duration} seconds")

```

Run: 
python another_file.py --api-key YOUR_N2YO_KEY

output something like:

2025-08-10 20:42:14 IST for 600 seconds

2025-08-11 19:35:09 IST for 645 seconds
...



## run locally wiith N2YO API key

pip install --upgrade iss-pass-tracker


python -m iss_pass_tracker --lat 17.385044 --lon 78.486671 --api-key YOUR_N2YO_KEY

python -m iss_pass_tracker --lat 17.385044 --lon 78.486671 --api-key YOUR_N2YO_KEY --n 10 --all

The -m flag tells Python: "Run a module as a script."
# macOS / Linux
export N2YO_API_KEY="YOUR_KEY"

# Windows (Command Prompt)
setx N2YO_API_KEY "YOUR_KEY"

python -m iss_pass_tracker --lat ... --lon ... 

## run:
python -m iss_pass_tracker --lat 17.385044 --lon 78.486671 --api-key YOUR_N2YO_KEY

or with environment variable

export N2YO_API_KEY=YOUR_N2YO_KEY  # macOS/Linux

set N2YO_API_KEY=YOUR_N2YO_KEY     # Windows

or
If you like, I can also hook this CLI into pyproject.toml so users can just type:


python -m iss_pass_tracker --lat 17.385044 --lon 78.486671

iss-pass-tracker --lat 17.38 --lon 78.48

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "iss-pass-tracker",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "iss, satellite, space, tracker, open-notify",
    "author": null,
    "author_email": "Sanjeet Kumar <sanjeetkumarit@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/0b/f0/8b8c382baa87ec68f98d414552e0064a6cd4da59b237da78808a403aae0a/iss_pass_tracker-1.0.1.tar.gz",
    "platform": null,
    "description": "# ISS Pass Tracker\n\nA small Python library to fetch upcoming International Space Station (ISS) passes for a given latitude/longitude. Intended as a PyPI-ready example and a practical utility.\n\n## Features\n- Query Open Notify (free) for next N passes.\n- Return results as typed dataclasses.\n- Optional CLI (requires `click` extra).\n\n## Installation (from source / TestPyPI)\n```bash\npip install --upgrade pip build twine\npython -m build\n# Test upload (recommended):\n# twine upload --repository testpypi dist/*\n# Real upload:\n# twine upload dist/*\n```\n\n## Quick usage in another file after installing it\n```python\nimport argparse\nfrom iss_pass_tracker import set_api_key, get_passes\n\nparser = argparse.ArgumentParser()\nparser.add_argument(\"--api-key\", required=True)\nargs = parser.parse_args()\n\n# Set the API key for iss_pass_tracker\nset_api_key(args.api_key)\n\nlat, lon = 17.385044, 78.486671\npasses = get_passes(lat, lon, n=10)\n\nif not passes:\n    print(\"No upcoming ISS passes found.\")\nelse:\n    for p in passes:\n        # local_time() returns datetime in your system timezone\n        print(p.local_time().strftime(\"%Y-%m-%d %H:%M:%S %Z\"), f\"for {p.duration} seconds\")\n\n```\n\nRun: \npython another_file.py --api-key YOUR_N2YO_KEY\n\noutput something like:\n\n2025-08-10 20:42:14 IST for 600 seconds\n\n2025-08-11 19:35:09 IST for 645 seconds\n...\n\n\n\n## run locally wiith N2YO API key\n\npip install --upgrade iss-pass-tracker\n\n\npython -m iss_pass_tracker --lat 17.385044 --lon 78.486671 --api-key YOUR_N2YO_KEY\n\npython -m iss_pass_tracker --lat 17.385044 --lon 78.486671 --api-key YOUR_N2YO_KEY --n 10 --all\n\nThe -m flag tells Python: \"Run a module as a script.\"\n# macOS / Linux\nexport N2YO_API_KEY=\"YOUR_KEY\"\n\n# Windows (Command Prompt)\nsetx N2YO_API_KEY \"YOUR_KEY\"\n\npython -m iss_pass_tracker --lat ... --lon ... \n\n## run:\npython -m iss_pass_tracker --lat 17.385044 --lon 78.486671 --api-key YOUR_N2YO_KEY\n\nor with environment variable\n\nexport N2YO_API_KEY=YOUR_N2YO_KEY  # macOS/Linux\n\nset N2YO_API_KEY=YOUR_N2YO_KEY     # Windows\n\nor\nIf you like, I can also hook this CLI into pyproject.toml so users can just type:\n\n\npython -m iss_pass_tracker --lat 17.385044 --lon 78.486671\n\niss-pass-tracker --lat 17.38 --lon 78.48\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Fetch upcoming ISS passes for a location and helpers to notify users.",
    "version": "1.0.1",
    "project_urls": {
        "Homepage": "https://github.com/sanjeetkumaritoutlook/iss-pass-tracker",
        "Repository": "https://github.com/sanjeetkumaritoutlook/iss-pass-tracker"
    },
    "split_keywords": [
        "iss",
        " satellite",
        " space",
        " tracker",
        " open-notify"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a58dd035ddba91270aa2902ac21eeaa037e8364ea765fcf8568c8f00ebd4fc4f",
                "md5": "391ba2778902b792bd15c42b18d0dc19",
                "sha256": "a0f05d0d2079766a3bf9152d3faeca93e589074be2a6f60bc5e81d4d384c2a28"
            },
            "downloads": -1,
            "filename": "iss_pass_tracker-1.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "391ba2778902b792bd15c42b18d0dc19",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 6011,
            "upload_time": "2025-08-10T17:41:24",
            "upload_time_iso_8601": "2025-08-10T17:41:24.024342Z",
            "url": "https://files.pythonhosted.org/packages/a5/8d/d035ddba91270aa2902ac21eeaa037e8364ea765fcf8568c8f00ebd4fc4f/iss_pass_tracker-1.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0bf08b8c382baa87ec68f98d414552e0064a6cd4da59b237da78808a403aae0a",
                "md5": "967da13e7bd5782952b1ce037dcfb4fc",
                "sha256": "3fa5bb8878010deee532f8ffbb609428ac034d231ed4272958ccd1bf9c1bd28f"
            },
            "downloads": -1,
            "filename": "iss_pass_tracker-1.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "967da13e7bd5782952b1ce037dcfb4fc",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 5176,
            "upload_time": "2025-08-10T17:41:25",
            "upload_time_iso_8601": "2025-08-10T17:41:25.803242Z",
            "url": "https://files.pythonhosted.org/packages/0b/f0/8b8c382baa87ec68f98d414552e0064a6cd4da59b237da78808a403aae0a/iss_pass_tracker-1.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-10 17:41:25",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "sanjeetkumaritoutlook",
    "github_project": "iss-pass-tracker",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "iss-pass-tracker"
}
        
Elapsed time: 0.95053s