{"id":24791767,"url":"https://github.com/aburrell/apexpy","last_synced_at":"2025-10-11T02:19:05.543Z","repository":{"id":37601987,"uuid":"46420037","full_name":"aburrell/apexpy","owner":"aburrell","description":"A Python wrapper for Apex coordinates","archived":false,"fork":false,"pushed_at":"2025-08-08T19:11:45.000Z","size":2177,"stargazers_count":36,"open_issues_count":17,"forks_count":28,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-09-30T02:21:00.942Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aburrell.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.rst","dei":null,"publiccode":null,"codemeta":null,"zenodo":".zenodo.json"}},"created_at":"2015-11-18T13:20:50.000Z","updated_at":"2025-08-18T08:40:09.000Z","dependencies_parsed_at":"2023-02-09T12:31:59.912Z","dependency_job_id":"7b9d95b5-9f47-4eed-9a5e-3ea2c1b19b65","html_url":"https://github.com/aburrell/apexpy","commit_stats":{"total_commits":1164,"total_committers":11,"mean_commits":"105.81818181818181","dds":0.5103092783505154,"last_synced_commit":"a1e2ce62fe9f6607964ab2540ec5e71a6c165612"},"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/aburrell/apexpy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aburrell%2Fapexpy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aburrell%2Fapexpy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aburrell%2Fapexpy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aburrell%2Fapexpy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aburrell","download_url":"https://codeload.github.com/aburrell/apexpy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aburrell%2Fapexpy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277937304,"owners_count":25902413,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-01T02:00:09.286Z","response_time":88,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-29T19:18:52.587Z","updated_at":"2025-10-11T02:19:05.522Z","avatar_url":"https://github.com/aburrell.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"|logo|\n\n========\nOverview\n========\n\n|docs| |version| |doi|\n\nThis is a Python wrapper for the Apex fortran library by\nEmmert et al. [2010] [1]_, which allows converting between geodetic, modified\napex, and quasi-dipole coordinates as well as getting modified apex and\nquasi-dipole base vectors (Richmond [1995] [2]_). The geodetic system used here\nis WGS84. MLT calculations are also included. The package is free software\n(MIT license).\n\nQuick start\n===========\n\nInstall from PyPI using ``pip``::\n\n    pip install apexpy\n\nThis assumes that the same version of libgfortran is installed in the same\nlocation as when the pip wheel was built (if a wheel was used). If not, you may\nhave trouble importing apexpy.  If you run into trouble, try the command::\n\n    pip install --no-binary :apexpy: apexpy\n\nwhich requires both libgfortran and gfortran to be installed on your system.\nMore detailed installation instructions (and troubleshooting) is available\nin the\n`documentation \u003chttps://apexpy.readthedocs.io/en/latest/installation.html\u003e`_.\n\nConversion is done by creating an ``Apex`` object and using its methods to\nperform the desired calculations. Some simple examples::\n\n    from apexpy import Apex\n    import datetime as dt\n    atime = dt.datetime(2015, 2, 10, 18, 0, 0)\n    apex15 = Apex(date=2015.3)  # dt.date and dt.datetime objects also work\n\n    # Geodetic to apex, scalar input\n    mlat, mlon = apex15.convert(60, 15, 'geo', 'apex', height=300)\n    print(\"{:.12f}, {:.12f}\".format(mlat, mlon))\n    57.477310180664, 93.590156555176\n\n    # Apex to geodetic, array input\n    glat, glon = apex15.convert([90, -90], 0, 'apex', 'geo', height=0)\n    print([\"{:.12f}, {:.12f}\".format(ll, glon[i]) for i,ll in enumerate(glat)])\n    ['83.103820800781, -84.526657104492', '-74.388252258301, 125.736274719238']\n\n    # Geodetic to magnetic local time\n    mlat, mlt = apex15.convert(60, 15, 'geo', 'mlt', datetime=atime)\n    print(\"{:.12f}, {:.12f}\".format(mlat, mlt))\n    56.598316192627, 19.107861709595\n\n    # can also convert magnetic longitude to mlt\n    mlt = apex15.mlon2mlt(120, atime)\n    print(\"{:.2f}\".format(mlt))\n    20.90\n\nIf you don't know or use Python, you can also use the command line. See details\nin the full documentation (link in the section below).\n\nDocumentation\n=============\n\nhttps://apexpy.readthedocs.io/en/latest\n\nReferences\n==========\n\n.. [1] Emmert, J. T., A. D. Richmond, and D. P. Drob (2010),\n       A computationally compact representation of Magnetic-Apex\n       and Quasi-Dipole coordinates with smooth base vectors,\n       J. Geophys. Res., 115(A8), A08322, doi:10.1029/2010JA015326.\n\n.. [2] Richmond, A. D. (1995), Ionospheric Electrodynamics Using\n       Magnetic Apex Coordinates, Journal of geomagnetism and\n       geoelectricity, 47(2), 191–212,\n       `doi:10.5636/jgg.47.191 \u003chttp://dx.doi.org/10.5636/jgg.47.191\u003e`_.\n\nBadges\n======\n\n.. list-table::\n    :stub-columns: 1\n\n    * - docs\n      - |docs|\n    * - tests\n      - | |ghactions|\n        | |coveralls| |codeclimate|\n        | |scrutinizer| |codacy|\n    * - package\n      - | |version| |supported-versions|\n        | |wheel| |supported-implementations|\n\n.. |docs| image:: https://readthedocs.org/projects/apexpy/badge/?style=flat\n    :target: https://apexpy.readthedocs.io/en/latest/\n    :alt: Documentation Status\n\n.. |ghactions| image:: https://github.com/aburrell/apexpy/actions/workflows/main.yml/badge.svg\n    :alt: GitHub Actions Build Status\n    :target: https://github.com/aburrell/apexpy/actions/workflows/main.yml\n\n.. |coveralls| image:: https://s3.amazonaws.com/assets.coveralls.io/badges/coveralls_98.svg\n    :alt: Coverage Status\n    :target: https://coveralls.io/github/aburrell/apexpy?branch=main\n\n.. |codacy| image:: https://api.codacy.com/project/badge/Grade/7d4c1a6c60e747ca95cdf97746c39cda\n   :alt: Codacy Badge\n   :target: https://app.codacy.com/gh/aburrell/apexpy?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=aburrell/apexpy\u0026utm_campaign=Badge_Grade\n\n.. |codeclimate| image:: https://api.codeclimate.com/v1/badges/da1d972dee790da595f8/maintainability.svg\n   :target: https://codeclimate.com/github/aburrell/apexpy\n   :alt: CodeClimate Quality Status\n\n.. |version| image:: https://img.shields.io/pypi/v/apexpy.svg?style=flat\n    :alt: PyPI Package latest release\n    :target: https://pypi.org/project/apexpy/\n\n.. |downloads| image:: https://img.shields.io/pypi/dm/apexpy.svg?style=flat\n    :alt: PyPI Package monthly downloads\n    :target: https://pypi.org/project/apexpy\n\n.. |wheel| image:: https://img.shields.io/pypi/wheel/apexpy.svg?style=flat\n    :alt: PyPI Wheel\n    :target: https://pypi.org/project/apexpy\n\n.. |supported-versions| image:: https://img.shields.io/pypi/pyversions/apexpy.svg?style=flat\n    :alt: Supported versions\n    :target: https://pypi.org/project/apexpy\n\n.. |supported-implementations| image:: https://img.shields.io/pypi/implementation/apexpy.svg?style=flat\n    :alt: Supported implementations\n    :target: https://pypi.org/project/apexpy\n\n.. |scrutinizer| image:: https://img.shields.io/scrutinizer/quality/g/aburrell/apexpy/main.svg?style=flat\n    :alt: Scrutinizer Status\n    :target: https://scrutinizer-ci.com/g/aburrell/apexpy/\n\n.. |doi| image:: https://www.zenodo.org/badge/doi/10.5281/zenodo.4585641.svg\n   :target: https://doi.org/10.5281/zenodo.1214206\n\n.. |logo| image:: https://github.com/aburrell/apexpy/blob/main/docs/apexpy.png?raw=true\n   :alt: ApexPy logo: yellow magnetic field lines surrounding the Earth's surface, which is blue\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faburrell%2Fapexpy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faburrell%2Fapexpy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faburrell%2Fapexpy/lists"}