Name | iss-pass-tracker JSON |
Version |
1.0.1
JSON |
| download |
home_page | None |
Summary | Fetch upcoming ISS passes for a location and helpers to notify users. |
upload_time | 2025-08-10 17:41:25 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.9 |
license | MIT |
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"
}