From 23eb205fe8052f0832c975baaa86327609bbd534 Mon Sep 17 00:00:00 2001 From: Ryan Malloy Date: Wed, 18 Feb 2026 00:24:03 -0700 Subject: [PATCH] Initial scaffold: pyproject.toml, src-layout, LICENSE --- LICENSE | 21 +++++++++ pyproject.toml | 53 +++++++++++++++++++++++ src/pg_orrery_catalog/__init__.py | 3 ++ src/pg_orrery_catalog/output/__init__.py | 1 + src/pg_orrery_catalog/sources/__init__.py | 1 + 5 files changed, 79 insertions(+) create mode 100644 LICENSE create mode 100644 pyproject.toml create mode 100644 src/pg_orrery_catalog/__init__.py create mode 100644 src/pg_orrery_catalog/output/__init__.py create mode 100644 src/pg_orrery_catalog/sources/__init__.py diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..16cde4d --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 Ryan Malloy + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..86e616b --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,53 @@ +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[project] +name = "pg-orrery-catalog" +version = "2025.02.18" +description = "TLE catalog builder for pg_orrery — download, merge, and load satellite catalogs" +readme = "README.md" +license = "MIT" +requires-python = ">=3.11" +authors = [{name = "Ryan Malloy", email = "ryan@supported.systems"}] +keywords = ["tle", "satellite", "sgp4", "postgresql", "pg_orrery", "space-track", "celestrak"] +classifiers = [ + "Development Status :: 4 - Beta", + "Environment :: Console", + "Intended Audience :: Science/Research", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Topic :: Scientific/Engineering :: Astronomy", + "Topic :: Database", +] +dependencies = [ + "httpx>=0.27", + "httpx[socks]", + "click>=8.1", + "rich>=13.0", +] + +[project.optional-dependencies] +pg = ["psycopg>=3.1"] +dev = ["ruff", "pytest", "pytest-asyncio"] + +[project.scripts] +pg-orrery-catalog = "pg_orrery_catalog.cli:main" + +[project.urls] +Homepage = "https://git.supported.systems/warehack.ing/pg-orrery-catalog" +Documentation = "https://pg-orrery.warehack.ing" +Repository = "https://git.supported.systems/warehack.ing/pg-orrery-catalog" + +[tool.ruff] +target-version = "py311" +line-length = 99 + +[tool.ruff.lint] +select = ["E", "F", "W", "I", "UP", "B", "SIM"] + +[tool.pytest.ini_options] +testpaths = ["tests"] diff --git a/src/pg_orrery_catalog/__init__.py b/src/pg_orrery_catalog/__init__.py new file mode 100644 index 0000000..903a22c --- /dev/null +++ b/src/pg_orrery_catalog/__init__.py @@ -0,0 +1,3 @@ +"""pg-orrery-catalog: TLE catalog builder for pg_orrery.""" + +__version__ = "2025.02.18" diff --git a/src/pg_orrery_catalog/output/__init__.py b/src/pg_orrery_catalog/output/__init__.py new file mode 100644 index 0000000..5d2e0eb --- /dev/null +++ b/src/pg_orrery_catalog/output/__init__.py @@ -0,0 +1 @@ +"""Output formatters (SQL, 3LE, JSON).""" diff --git a/src/pg_orrery_catalog/sources/__init__.py b/src/pg_orrery_catalog/sources/__init__.py new file mode 100644 index 0000000..b41b113 --- /dev/null +++ b/src/pg_orrery_catalog/sources/__init__.py @@ -0,0 +1 @@ +"""TLE source downloaders (Space-Track, CelesTrak, SatNOGS)."""