{"id":24463325,"url":"https://github.com/RimorRes/PreflightPy","last_synced_at":"2025-10-01T21:30:52.272Z","repository":{"id":46336892,"uuid":"211502506","full_name":"RimorRes/PreflightPy","owner":"RimorRes","description":"Python module for Simulation and Optimization of Rocket Trajectories, SORT for short.","archived":false,"fork":false,"pushed_at":"2021-10-30T10:49:19.000Z","size":25765,"stargazers_count":16,"open_issues_count":5,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-29T08:54:57.843Z","etag":null,"topics":["aerodynamics","aerospace","hacktoberfest","python","rocket"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RimorRes.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2019-09-28T13:12:14.000Z","updated_at":"2025-07-17T07:58:49.000Z","dependencies_parsed_at":"2022-08-22T12:21:21.516Z","dependency_job_id":null,"html_url":"https://github.com/RimorRes/PreflightPy","commit_stats":null,"previous_names":["oxyde2/preflight"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/RimorRes/PreflightPy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RimorRes%2FPreflightPy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RimorRes%2FPreflightPy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RimorRes%2FPreflightPy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RimorRes%2FPreflightPy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RimorRes","download_url":"https://codeload.github.com/RimorRes/PreflightPy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RimorRes%2FPreflightPy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277914048,"owners_count":25899452,"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":["aerodynamics","aerospace","hacktoberfest","python","rocket"],"created_at":"2025-01-21T05:11:15.308Z","updated_at":"2025-10-01T21:30:51.889Z","avatar_url":"https://github.com/RimorRes.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/53187347/77073741-01b61880-69f0-11ea-9e3f-0c3eb92718b7.png\" width=\"600\"/\u003e\u003c/div\u003e\n\n# PreflightPy\n\n[![PyPI](https://img.shields.io/pypi/v/preflightpy?color=blue)](https://pypi.org/project/preflightpy/)\n[![GitHub](https://img.shields.io/github/license/Oxyde2/Preflight?color=yellow)](LICENSE)\n\n[![Coverage Status](https://coveralls.io/repos/github/Oxyde2/Preflight/badge.svg?branch=master)](https://coveralls.io/github/Oxyde2/Preflight?branch=master)\n[![Build Status](https://travis-ci.com/RimorRes/Preflight.svg?branch=master)](https://travis-ci.com/RimorRes/Preflight)\n\n[![Gitmoji](https://img.shields.io/badge/gitmoji-%20%F0%9F%98%9C%20%F0%9F%98%8D-FFDD67.svg?)](https://gitmoji.carloscuesta.me/)\n[![Documentation Status](https://readthedocs.org/projects/preflight/badge/?version=latest)](https://preflight.readthedocs.io/en/latest/?badge=latest)\n\nPython module for **S**imulation and **O**ptimization of **R**ocket **T**rajectories, [**SORT**](https://www.nasa.gov/pdf/140648main_ESAS_17a.pdf#page=19) for short.\n- Altitude prediction\n- State prediction\n- Flight trajectory optimization\n- Flight plan optimization\n\n## Quick Start :vertical_traffic_light:\n\nBefore we get started, please note that PreflightPy was built with **Python 3.x** in mind and might not be compatible with older versions.\n\n### Installation\n\nGetting yourself your very own copy of this module is super simple!\nYou can get Preflight from pip using your terminal via the following command:\n\n  ```bash\n  pip install preflight\n  ```\n\nThat's it you're set!\n\n### Usage\n\nHere's an example of typical usage of this package:\n\n  ```python\n  # Importing the module\n  import preflightpy as pre\n\n  # The 'Parameters' class collects info about the rocket and environmental conditions etc. from the input file.\n  params = pre.Parameters(\"path/to/input/file.json\")  \n\n  #  The 'Environment' takes care of computing conditions (e.g. atmosphere, gravity) at various altitudes.\n  env = pre.Environment(params.env_variables)\n\n  # Specify the burn time of your engine in seconds.\n  burn_time = 10\n\n  # The 'System', the core of this module, it takes care of the main simulation and output.\n  s = pre.System(params, env, burn_time)  \n\n  s.launch()  # Blast off! Launches the simulation.\n\n  # The results are outputted in .csv and .log formats and are located in the output folder specified by input file\n  ```\n\nThe following is the format you'll have to use in your `.json` input files:\n\n  ```json\n  {\n    \"Engine\" : {\n      \"Type\" : \"Liquid\",\n      \"Specific impulse (s)\" : 318,\n      \"Thrust (N)\" : 500\n    },\n    \"Fuel\" : {\n      \"Oxidizer/fuel mixture ratio\" : 15,\n      \"Fuel reserve (%)\" : 5\n    },\n    \"Mass\" : {\n      \"Dry Mass (kg)\" : 10\n    },\n    \"Aerodynamics\" : {\n      \"Drag coefficient\" : 0.0556,\n      \"Cross-section (m2)\" : 0.0255364\n    },\n    \"Environment\" : {\n      \"Elevation (m)\" : 113,\n      \"Simulation step (s)\" : 0.01,\n      \"Standard gravity (m/s2)\" : 9.80665,\n      \"Air molar mass (kg/mol)\" : 0.02896968,\n      \"Gas constant (J/(K.mol))\" : 8.314462618,\n      \"Air heat capacity ratio\" : 1.4,\n      \"Standard atmospheric pressure @SL (Pa)\" : 101325\n    },\n    \"Output\" : {\n      \".log file\" : \"Flight.log\",\n      \".csv file\" : \"Flight.csv\"\n    }\n  }\n  ```\n\n## Documentation :pencil:\n\nVisit our [documentation](https://preflight.readthedocs.io/en/latest/) to learn how to use `PreflightPy` in depth.\n\n## Contribuitng :earth_americas:\n\nIf you want to contribute to this project, this set of instructions will get a copy up and running on your local machine for development and testing purposes! Once you're done, check out our [contribution guidelines](CONTRIBUTING.md) before you get started.\n\n### Installation\n\nTo get a copy of the repository you'll have to clone it.\nThrough the command line, get to the directory you wish to clone the repository into then run the following command.\n\n  ```bash\n  git clone https://github.com/Oxyde2/Preflight.git\n  ```\n\n### Prerequisites\n\nWe're almost done, next step is to fetch our dependencies.\nTo install the required python modules just run the following command in the command line at the root of the repository folder.\n\n  ```bash\n  pip install -r requirements.txt\n  ```\n\n### Conclusion\n\nCongratulations, you have successfully obtained your local copy and the dependencies!\nNow open the project folder in your desired IDE or text editor and get crackin'!\n\n\n\n## Built With :construction_worker:\n\n* [Matplotlib](https://matplotlib.org/) - To draw the graphs.\n\n## Versioning :bookmark:\n\nThe versioning is formatted to Semantic Versioning 2.0.0 standards. [SemVer](https://semver.org/).\nThe changelog format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)\nFor available versions, see the [releases of this project](https://github.com/Oxyde2/Preflight/releases).\n\n## Authors :floppy_disk:\n\n* **Maxime Djomby** - *Initial work* - [Oxyde2](https://github.com/Oxyde2/)\n\n## License :page_with_curl:\n\nThis project is licensed under the GNU General Public License v3.0 - see the [LICENSE.md](LICENSE.md) file for details\n\n## Acknowledgments :trumpet:\n\nEarly development of Preflight was supported by [Mix_42](https://github.com/42mix).\nThe website [Rocket \u0026 Space Technology](http://www.braeunig.us/space/), written by Robert A. Braeunig, was used for pressure, density and temperature formulas for the atmospheric model.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRimorRes%2FPreflightPy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FRimorRes%2FPreflightPy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRimorRes%2FPreflightPy/lists"}