Reading Time: < 1 minute
NASA’s General Mission Analysis Tool (GMAT) is used for orbital mechanics simulation and mission design. Since version R2022a, it has included a Python API. I’ve often found this tricky to use, though, so am writing my own wrapper for it. You can see all its latest developments in its repo:
An extra wrapper for the GMAT Python API to simplify setting up mission simulations. https://github.com/weasdown/GMAT-Python-simple 3 forks. 20 stars. 6 open issues. Recent commits: fix: ignore gmat_path.txt , weasdown 24 Disable package workflow (#25)* chore: delete .github folder containing python-package.yml* chore: add commit formatting* chore: add project module manager* chore: add automatic modules , GitHub GMAT path parsing (#23)* refactor: move import_lib.py contents into __init__.py, remove extra newline* chore: auto-update VCS directory mappings , GitHub Python packaging (#19)* Create python-package.ymlAdd configuration for Python packaging.* feat: squash merge main* feat: add pyproject.toml* Squashed commit of the following:commit 933c7ba5b0c118877c114661422ccfab18b59d8dAuthor: weasdown <34220924+weasdown@users.noreply.github.com>Date: Sun Aug 17 11:44:07 2025 +0100 docs: improve docstring for _gmat_path()commit 56078c4451647c65a594b8eadc6caedac7f6f428Author: weasdown <34220924+weasdown@users.noreply.github.com>Date: Sun Aug 17 11:42:48 2025 +0100 style: remove printscommit a2baffd2d70a0752bec35fc4dee23d39f21e4ba3Author: weasdown <34220924+weasdown@users.noreply.github.com>Date: Sun Aug 17 11:41:00 2025 +0100 feat: add IDE filescommit 613a465fc8390e1cdaf3e7e9b6d3d67193b8cd23Author: weasdown <34220924+weasdown@users.noreply.github.com>Date: Sun Aug 17 11:40:12 2025 +0100 fix: fix and tidy importscommit 667c4482aca9c457d772aa3748a538c1491bd8ecAuthor: weasdown <34220924+weasdown@users.noreply.github.com>Date: Sun Aug 17 11:36:19 2025 +0100 style: auto-formattingcommit ddad61f51a001029f8e18705928f1953614b9fc6Author: weasdown <34220924+weasdown@users.noreply.github.com>Date: Sun Aug 17 11:35:42 2025 +0100 fix: fix importscommit f71f1b4cc0842874794aa668868152e0ac912751Author: weasdown <34220924+weasdown@users.noreply.github.com>Date: Sun Aug 17 11:33:54 2025 +0100 feat: make gmat library accessible package-widecommit fdd97f117257bc271b9ec0ca459d18c57dd4e1f3Author: weasdown <34220924+weasdown@users.noreply.github.com>Date: Sun Aug 17 11:33:26 2025 +0100 feat: import gmat library as variablecommit e9e22e2f445e7620b1a759f889700628cd36c6eaAuthor: weasdown <34220924+weasdown@users.noreply.github.com>Date: Sun Aug 17 11:22:49 2025 +0100 fix: add missing numpy dependency in pyproject.toml, update package version numbercommit acfca9225647bf160c1366b9db3caa14a1dc8bbeAuthor: weasdown <34220924+weasdown@users.noreply.github.com>Date: Sun Aug 17 11:21:14 2025 +0100 fix: add missing pyproject.toml from branch 9-python-packagingcommit 0701d131a5ee6cf195d5edf5d63719b278edde00Author: weasdown <34220924+weasdown@users.noreply.github.com>Date: Sun Aug 17 11:18:30 2025 +0100 refactor: rename load_gmat.py outside package to load_gmat_OLD.py, pending removalcommit fed65b2137c05b0208d69cbc2cd93bb7bf06cd92Author: weasdown <34220924+weasdown@users.noreply.github.com>Date: Sun Aug 17 11:18:06 2025 +0100 style: auto-formattingcommit 997aa82d768f7f1ea09be70205310109edd5f9beAuthor: weasdown <34220924+weasdown@users.noreply.github.com>Date: Sun Aug 17 11:16:54 2025 +0100 refactor: import gmat from package load_gmatcommit bbe162146073688a688ce7f69e4e5ced1c10a195Author: weasdown <34220924+weasdown@users.noreply.github.com>Date: Sun Aug 17 11:10:55 2025 +0100 feat: add load_gmat.py inside packagecommit 1b49b59702f4692794b6f03ec6c051631e559291Author: weasdown <34220924+weasdown@users.noreply.github.com>Date: Sun Aug 17 11:02:50 2025 +0100 docs: add TODO to remove commented code unrelated to branch issuecommit 1269ae7225425397cd81504d02dc62870136c8a6Author: weasdown <34220924+weasdown@users.noreply.github.com>Date: Sun Aug 17 10:55:15 2025 +0100 docs: add TODO to implement _gmat_path_from_config_file()commit a221d6253fc95491b5281a0763050b7ba08a256aAuthor: weasdown <34220924+weasdown@users.noreply.github.com>Date: Sun Aug 17 10:45:08 2025 +0100 feat: run import_lib.py at importcommit 36565e6a96115ef1b277018f31542cd7ef4b185aAuthor: weasdown <34220924+weasdown@users.noreply.github.com>Date: Sun Aug 17 10:44:37 2025 +0100 feat: add import_lib.py* Set GMAT path (#18)* feat: add import_lib.py* feat: run import_lib.py at import* docs: add TODO to implement _gmat_path_from_config_file()* docs: add TODO to remove commented code unrelated to branch issue* feat: add load_gmat.py inside package* refactor: import gmat from package load_gmat* style: auto-formatting* refactor: rename load_gmat.py outside package to load_gmat_OLD.py, pending removal* fix: add missing pyproject.toml from branch 9-python-packaging* fix: add missing numpy dependency in pyproject.toml, update package version number* feat: import gmat library as variable* feat: make gmat library accessible package-wide* fix: fix imports* style: auto-formatting* fix: fix and tidy imports* feat: add IDE files* style: remove prints* docs: improve docstring for _gmat_path()* chore: updates to .idea files* feat: add getting GMAT path from config file , GitHub feat: remove leading "GMAT" by using GMAT-R2025a , weasdown