Releases: RocketPy-Team/RocketPy
v1.1.0
RocketPy v1.1.0 🚀
The newest version of RocketPy is officialy released
- You can already download it using pip:
pip install rocketpy==1.1.0
📦 - Don't forget to check the documentation page: RocketPy Docs 📚
What is new 🌟
This releases includes life-saving features that will improve the rocketpy experience for both users and developers. Let's check it:
For users 👩🔬👨🔬
- 📃 The documentation pages had several improvements, including:
- A new section for the Function class
- Better descriptions of the flight simulation results
- More rocket flight examples added to the "Flight Examples" page
- Explanations on how to export the flight data to spreadsheet and analyze it
- Refactor and update the dispersion analysis notebook
- Improved mass and inertias documentation
- Fix positions and coordinate system documentation page
- 🚀 Draw your rocket!
- You can now plot a representation of the Rocket and Motor after defining the objects, this may help a lot when checking the input data.
- 🛠️ Various maintenance updates for smoother and more efficient code performance.
- Fixed the
max_heigth
, improving the plots of theEnvironment
class - Adding Stability Margin with Mach dependency
- New
get_solution_at_time
method to improve multi-stage rocket simulations - The
Function
class now checks and validates the user inputs - Improved mass flow rate calculations
- Fixed a bug that changed the tank's height when adding spherical Caps
- Some refactors and updates to docstrings were applied to the
Environment
,Flight
andFunction
classes
- Fixed the
For devs 💻
- Documentation of how to build the docs page locally
- Added pylint and flake8 config files
- Documentation on how to run rocketpy on docker
- Integration of Codecov for better code coverage analysis.
- New unit tests added for Flight and Function class
- Removed useless warnings
- Add _MotorPlots Inheritance to Motor Plots Classes
Commit summary 🔍
- ENH: Adding Stability Margin with Mach dependency by @Gui-FernandesBR in #377
- FIX: Motors UnitTesting Warnings by @phmbressan in #422
- ENH: rocket drawing by @Gui-FernandesBR in #419
- DOC: organize examples folder by @Gui-FernandesBR in #429
- MNT: Fix env plots max heights by @Gui-FernandesBR in #433
- BUG: Maintaing Extrapolation when Adding Discrete Functions with Constants by @MateusStano in #432
- ENH: liquid motors draw by @Gui-FernandesBR in #434
- ENH: solid motors draw by @Gui-FernandesBR in #435
- BUG: flight.prints.max_values() fails when launching an EmptyMotor by @Gui-FernandesBR in #438
- MNT: fix env plots legends by @Gui-FernandesBR in #440
- ENH: new Flight.get_solution_at_time() method by @Gui-FernandesBR in #441
- TST: new set of tests to the Flight class by @Gui-FernandesBR in #408
- DOC: Add documentation on how to build the docs by @Gui-FernandesBR in #452
- DOC: fix positions and coordinate system documentation page by @giovaniceotto in #454
- ENH: Add mass_flow_rate() to GenericMotor class by @Gui-FernandesBR in #459
- ENH: Add _MotorPlots Inheritance to Motor Plots Classes by @MateusStano in #456
- DOCs: improve mass and inertia docs by @Gui-FernandesBR in #445
- ENH: Clean Plots and Prints Subpackages init files by @MateusStano in #457
- MNT: add codecov integration by @Gui-FernandesBR in #458
- ENH: workflows update and new docker files by @Gui-FernandesBR in #448
- BUG: User input checks added for Function class by @brunosorban in #451
- DOC: refactor dispersion analysis notebook by @giovaniceotto in #463
- ENH: Spherical Caps Included in Total Length by @MateusStano in #455
- DOC: add documentation for flight data export. by @phmbressan in #464
- ENH: draw motors by @Gui-FernandesBR in #436
- DOC: Documentation for Function Class Usage by @phmbressan in #465
- DOC: first simulation allinfo by @FranzYuri in #466
- TST: new set of tests by @lucasfourier in #467
- BUG: Fix find_input() Function to Return a Single Value by @MateusStano in #471
- MNT: solve warnings by @Gui-FernandesBR in #470
Contributors 🤝
Special thanks to the team that contributed to more than 200 commits of this release:
It is also important to mention all the users that have requested features and reported bugs on our discord channel, this would not be possible without you all.
Full Changelog: v1.0.1...v1.1.0
v1.0.1
RocketPy v1.0.1
The release of RocketPy v1.0.1 is a new step in improving the simulations results. This release includes many improvements to the main README and bug fixes regarding motors coordinate placement.
What's Changed
- Refactor of the README file regarding new features and graphics of Google Earth export capabilities, many thanks to @giovaniceotto ;
- Fix in #423 of a bug in which coordinates were not being correct if the motor origin is not in the nozzle by @phmbressan . Thanks to @Gui-FernandesBR for reporting it;
- Improved print messages to make it clearer which mass is being logged by @MateusStano .
How to Get RocketPy v1.0.1
To get started with RocketPy v1.0.1, you can install the latest release using pip:
pip install rocketpy==1.0.1
Feedback and Bug Reports
We encourage all users to try out RocketPy v1.0.1 and share their feedback or report any issues on our GitHub repository.
Thank you for your continued support and enthusiasm for RocketPy. We look forward to seeing the amazing projects you'll create with this new release!
v1.0.0
RocketPy v1.0.0
We are thrilled to announce the release of RocketPy v1.0.0, a major milestone in the development of our rocket simulation library. This release includes a wide range of enhancements, new features, bug fixes, and contributions from our growing community of developers. Thank you to all the contributors and users who have supported RocketPy's evolution!
What's New
Liquid and Hybrid Motor Support
- RocketPy now fully supports liquid and hybrid motors, opening up new possibilities for rocket design and analysis. Thanks to contributions from @giovaniceotto, @phmbressan, @lperi03, @gautamsaiy, @tbhakhri, @PBales1, @curtisjhu and @JonusV!
New Coordinate System
- We've introduced a simplified coordinate system to make data input more user-friendly and intuitive, reducing the complexity of working with RocketPy.
Pythonic Syntax
- RocketPy has undergone a significant change to adhere to Python standards. We've transformed RocketPy into snake case, ensuring consistency with Python coding conventions.
Special Acknowledgments
- We extend our gratitude to the RocketPy Team developers who dedicated their time and expertise to this release.
- We're excited to announce our partnership with Space Enterprises at Berkeley, which has been instrumental in implementing liquid motors in RocketPy.
New Contributors
We welcome new contributors to the RocketPy project:
- Special thanks to Space Enterprise At Berkley
- @lperi03, @gautamsaiy, @tbhakhri, @PBales1, @curtisjhu and @JonusV!
- @CabGT made their first contribution in PR #339.
How to Get RocketPy v1.0.0
To get started with RocketPy v1.0.0, you can install the latest release using pip:
pip install rocketpy
Feedback and Bug Reports
We encourage all users to try out RocketPy v1.0.0 and share their feedback or report any issues on our GitHub repository.
Thank you for your continued support and enthusiasm for RocketPy. We look forward to seeing the amazing projects you'll create with this new release!
v1.0.0a1
🌏Welcome to v1.0.0a1
An incredible pre-release of RocketPy. We encourage all users to install and test the new features.
To install it, you can simply run:
pip install rocketpy --pre
🚀What's Changed:
- Added support for
LiquidMotor
andHybridMotor
😁 - Various improvements were made to the Flight and Rocket classes.
- New features were added, such as the CompareFlights class for comparing flight plots, new nosecone types, and a RailButtons class.
- Several bug fixes were made, addressing issues with parachute lag, standard atmosphere, flight without rail buttons, and more.
- Dependency upgrades: update netcdf4 requirement and dropping support for Python 3.7.
- New utility functions and methods were added, including Function Operations and Piecewise Functions.
- Significant breaking change: ALL the code now is based on snake_case instead of the old camelCase format.
👨💻List of merged Pull Requests:
- ENH: Liquid Motors Mass Flow Based Tank by @giovaniceotto in #254
- ENH: liquid motors ullage tank by @phmbressan in #255
- ENH: implement mass based tanks and update notebook. by @phmbressan in #260
- ENH: Moved Flight prints to flight_prints.py by @MateusStano in #289
- ENH: Moved Environment prints to environment_prints.py by @MateusStano in #294
- ENH: adding name as a karg in Flight class by @Gui-FernandesBR in #293
- ENH: Moved Environment plots to environment_plots.py by @MateusStano in #296
- ENH: Moved Rocket plots to rocket_plots.py by @ompro07 in #302
- ENH: Moved Rocket prints to rocket_prints.py by @ompro07 in #303
- ENH: liquid motors tank inertia by @phmbressan in #299
- ENH: Liquid Motors Updates by @phmbressan in #307
- TST: adjusting test distances vs positions by @Gui-FernandesBR in #305
- ENH: Moved Flight plots to flight_plots.py by @MateusStano in #290
- ENH: Introducing CompareFlights class, a comparison of flight plots by @Gui-FernandesBR in #295
- TST: new plots tests by @Gui-FernandesBR in #320
- MAINT: refactor flight class init method by @Gui-FernandesBR in #321
- ENH: Refactor and replace plots and outputs + Compare plots by @MateusStano in #287
- DOC: new deployable payload example by @Gui-FernandesBR in #322
- TST: New tests for AeroSurfaces, Environment, Environment Analysis and Function by @Gui-FernandesBR in #306
- ENH: Distances vs Positons v2 by @giovaniceotto in #282
- ENH: fix_legends by @FranzYuri in #329
- FIX: Implementation of analytical integral of linearly interpolated Functions by @giovaniceotto in #332
- ENH: Parachute.info() method created by @Gui-FernandesBR in #324
- MAINT: move flutter analysis into utilities submodule by @Gui-FernandesBR in #325
- ENH: Added Piecewise class and other new Function methods by @gautamsaiy in #330
- ENH: titles in function plots by @FranzYuri in #328
- ENH: plot-airfoil-information by @FranzYuri in #327
- ENH: /setters and getters by @FranzYuri in #333
- MAINT: move last plots from Environment class by @Gui-FernandesBR in #326
- ENH: New nosecone types added. by @CabGT in #339
- ENH: change aero surfaces class by @FranzYuri in #341
- ENH: aerodynamic surfaces parent class by @MateusStano in #342
- TST: Flutter test fix by @giovaniceotto in #347
- FIX: Flight Reynolds & Dynamic viscosity wrong values by @giovaniceotto in #346
- ENH: Function Operations by @giovaniceotto in #334
- BUG: Parachute lag warning when lag is 0 by @MateusStano in #343
- FIX: Correct timezonefinder import. by @phmbressan in #349
- BUG:
*
instead of-
in sub by @MateusStano in #351 - DOC: convert pdf files to rst and add them to docs by @Gui-FernandesBR in #319
- ENH: variable gravity by @FranzYuri in #338
- ENH: add " ' " to Function repr by @MateusStano in #358
- ENH: Environment changes for Dispersion by @MateusStano in #357
- BUG: Parachute lag warning when lag is 0 #2 by @MateusStano in #356
- BUG: readme by @GabrielBarberini in #360
- ENH: Function Comparison and Identity Map by @phmbressan in #353
- ENH: simpler parachute triggers by @FranzYuri in #345
- TST: Remove Flutter Tests by @MateusStano in #366
- MAINT: moving env_analysis plots and prints by @Gui-FernandesBR in #370
- BUG: fix standard atmosphere by @Gui-FernandesBR in #369
- ENH: AeroSurfaces(ABC) and Improvements to Rocket.aerodynamicSurfaces by @MateusStano in #355
- ENH: liquid motors optimization by @phmbressan in #354
- ENH: RailButtons Class by @MateusStano in #344
- MAINT: convert windrose ipywidgets and jsonpickle to optional dependencies by @Gui-FernandesBR in #368
- MAINT: upgrade netcdf4 requirement by @Gui-FernandesBR in #374
- MAINT: Dropping support for python 3.7 by @Gui-FernandesBR in #365
- MAINT: EnvironmentAnalysis major refactor by @Gui-FernandesBR in #373
- ENH: liquid-motors-linear-algebra by @giovaniceotto in #364
- ENH: burnout time changes. Breaking changes by @FranzYuri in #337
- ENH: motors mass by @phmbressan in #363
- BUG: flight without rail buttons by @Gui-FernandesBR in #383
- MAINT: move aero surface plots and prints by @Gui-FernandesBR in #381
- MAINT: Move the rail length definition to the Flight Class by @Gui-FernandesBR in #378
- ENH new utility functions by @Gui-FernandesBR in #376
- ENH: Resetable Funcified Methods by @giovaniceotto in #385
- FIX: funcify titles - pt1 by @phmbressan in #384
- ENH: Move Motor Plots and Prints by @MateusStano in #387
- ENH: Liquid Motors by @giovaniceotto in #233
- ENH: Snake Case by @MateusStano in #361
- DOC: update README.md with new features of v1.0.0a1. by @phmbressan in #388
- DOC: improve docs before v1 by @Gui-FernandesBR in #386
- REL: v1.0.0a1 by @giovaniceotto in #389
🎮New Contributors
- @gautamsaiy made their first contribution in #330
- @CabGT made their first contribution in #339
Full Changelog: v0.13.1...v1.0.0a1
v0.13.1
What's Changed
- HotFix for Python 3.11 by @MateusStano, @giovaniceotto , @phmbressan and @CabGT in #348
Full Changelog: v0.13.0...v0.13.1
V0.13.0
What's Changed
- Enh: Using jsonpickle to serialize EnvAnal by @PatrickSampaioUSP in #239
- ENH: Refactor Env Analysis .json conversions by @Gui-FernandesBR in #237
- ENH: Adding .nc files for EnvAnalysis at EuroC by @Gui-FernandesBR in #238
- ENH: automate dispersion inputs with csv by @FranzYuri in #229
- [EuroC][EnvAnalysis] add forecast comparison to env analysis by @Gui-FernandesBR in #244
- ENH: Environment Analysis - Wind Heading Profiles by @Gui-FernandesBR in #197
- WIP: ENH: Env Analysis Euroc 2022 by @Gui-FernandesBR in #226
- ENH: Introducing properties in Flight class by @Gui-FernandesBR in #249
- ENH: Add Sweep Length to Trapezoidal Fins by @giovaniceotto in #256
- ENH: Adding AeroSurfaces classes by @Gui-FernandesBR in #263
- Fix: Cached Property support for Python 3.6 and 3.7 by @giovaniceotto in #283
- ENH: Function class - Funcify Decorator & setDiscreteBasedOnModel by @giovaniceotto in #291
- DOC: fix Getting Started notebooks Dynamic Analysis section by @giovaniceotto in #298
- Fix: Flight Bearing by @Gui-FernandesBR in #300
- TST: Fix static margin related tests by @MateusStano in #304
- MAINT: Flight class post methods by @giovaniceotto in #292
- changes addTrapezoildalFins to addTrapezoidalFins by @GabrielBarberini in #311
- ENH: implement retrieval of atmospheric data from Windy API by @Gui-FernandesBR in #301
- MAINT: use raw.githubusercontent address in readme by @Gui-FernandesBR in #317
- MAINT: Cleaning up some repo files by @Gui-FernandesBR in #316
- BUG: Flight.plotPressureSignals and "StandardAtmosphere" environment pressure calculation by @MateusStano in #313
- ENH: Make timezonefinder an optional dependency by @giovaniceotto in #315
- REL: Welcome to v0.13.0 by @Gui-FernandesBR in #323
New Contributors
- @GabrielBarberini made their first contribution in #311
Full Changelog: v0.12.1...v0.13.0
v0.12.1
What's Changed
- REL: Automate Release to PyPI with GitHub Actions by @giovaniceotto in #264
- Hotfix for issues #251 and #261 by @giovaniceotto in #262
- No more dependencies on python 3.8, now you should be free to easily use python 3.6+ again.
- Importing netCDF4 also has been facilitated by requiring a version that works with OpenDAP.
Full Changelog: v0.12.0...v0.12.1
v0.12.0
New features
- ENH: Elliptical fins added to Rocket class by @KrWanderley in #172
New Contributors
- @KrWanderley , @matheus-doretto , @CabGT made their first contribution in #172 . It's definetely a huge pleasure to have such smart people as you working with us, thank you so much guys! And of course... We are looking forward to see more additions from you soon ;)
Installation
RocketPy can be installed/updated using pip with the following command:
pip install rocketpy==0.12.0
Can't wait for the next release!!! Let's rocket them all.
Stay hungry, stay foolish, and always keep learning.
@Projeto-Jupiter/rocketpy-team
Full Changelog: v0.11.1...v0.12.0
v0.11.1
Bug corrections
- @MateusStano noticed a bug that made RocketPy mistakenly use the wrong drag coefficient for each phase of the flight (powered vs. unpowered). This has been successfully corrected in #221 and is the main reason for this release.
Installation
RocketPy can be installed/updated using pip with the following command:
pip install rocketpy==0.11.1
Other improvements
- FIX: fixing docs errors by @PatrickSampaioUSP in #202
- FIX: fixing docs error - 2nd attempt by @giovaniceotto in #203
- FIX: fixing docs error - 3rd attempt by @giovaniceotto in #210
- MAINT: Created FUNDING.yml by @Gui-FernandesBR in #213
- MAINT: Adding Github Sponsors badge to README by @Gui-FernandesBR in #212
- DOC: add first version of getting started with rocketpy as developer tutorial by @brunosorban in #215
- DOC: rocketpy hackathon tutorial github link update d by @phmbressan in #216
New Contributors
- @phmbressan made their first contribution in #216 . It was an extreme honor to get some addition from this young talent, thank you Bressan!
Can't wait for the next release!!! Let's rocket them all.
Stay hungry, stay foolish, and always keep learning.
Full Changelog: v0.11.0...v0.11.1
v0.11.0
New features
- Environment Analysis
- A new class is born! RocketPy's meteorological capabilities have just been upgraded. Users can now analyze a range of historical weather data to get a comprehensive understanding of how atmospheric conditions behave at their rocket's launch site.
- by @PatrickSampaioUSP @giovaniceotto @Gui-FernandesBR @MateusStano @FranzYuri in #135
- Easy Export Flight Data to csv files
- Export flight trajectory to .kml file so it can be seen on google earth:
- Evaluate parachute equilibrium altitude
- Introducing Motor class instead of solidmotor class
Bug corrections
- Fix test warnings by @giovaniceotto in https://github.com/Projeto-Jupiter/RocketPy/pull/149
- Adapt to new cftime version solving calendar bugs by @giovaniceotto in https://github.com/Projeto-Jupiter/RocketPy/pull/151
Other improvements
- Adding new unit tests:
- Awesome implementation of dimensionality tests by @PatrickSampaioUSP in https://github.com/Projeto-Jupiter/RocketPy/pull/153
- Added Rocket class unit tests by @PatrickSampaioUSP in https://github.com/Projeto-Jupiter/RocketPy/pull/121
- Passing Plots to a future Front-End Integration
- RocketPy now works on MATLAB!
Installation
RocketPy can be installed/updated using pip with the following command:
pip install rocketpy==0.11.0
Can't wait for the next release!!! Let's rocket them all.
Stay hungry, stay foolish, and always keep learning.
@Projeto-Jupiter/rocketpy-team
Full Changelog: Projeto-Jupiter/RocketPy-Jupiter@v0.10.0...v0.11.0