Releases: RocketPy-Team/RocketPy
v1.3.0.post1
What's Changed
- MNT: Alter PYPI classifier naming. by @phmbressan in #615
- BUG: pyproject.toml Main Module Finding. by @phmbressan in #616
Installation
To install this rocketpy version, you can use pip install rocketpy==v1.3.0.post1
.
Full Changelog: v1.3.0...v1.3.0.post1
v1.3.0
RocketPy v1.3.0 🚀
The newest RocketPy version is available now!
- You can install it with the command:
pip install rocketpy==1.3.0
- Check out our documentation page: RocketPy Docs
What is New ⭐
This release brings new features and improvements to RocketPy. Let's see all of them:
For users 🧑🔬
- 🚀 MonteCarlo Simulations!
- Integrate statistical variance into your simulations parameters!
- Easily generate alternative stochastic simulation scenarios.
- Plot all these possible scenarios in a histogram to get the most likely 🧪 .
- Draw ellipses to discover the most probable landing location 🎯 !
- ⚡ Speedup your Simulations!
- RocketPy is now faster! Some flights may have up to 50% cut in simulation time.
- 📃 Documentation Updates!
- Added Prometheus data to Flight Examples.
- Improvements to descriptions of
Environment
class and examples.
- 📈 Data Handling Capabilities
- The
Function
class can now remove outliers from your data. - Perform complex step differentiation in your
Function
s.
- The
- 🔨 Maintenance and Optimization Improvements
Function
validation rework for better error handling.- Exponential backoff approach to avoid
Environment
forecast server errors.
- 🐛 Many Bug Fixes
- Fix of
export_eng
method for liquid motors. - AirBrakes deployment remaining constant in post processing
Flight
phase. - Fixed plot drag curves issue when function source is callable
- Fix of
For Developers 🖥️
- Testing configs of
conftest.py
was split into several smaller files. - Refactors to
Environment
unit tests. - Deleted older
setup.py
in favor of recommendedpyproject.toml
. - Delete deprecated
tools.cached_property
.
Pull Requests Summary 🔎
- Enh/class analysis by @Sofia-ME in #118
- ENH: haversine and exportElipses by @FranzYuri in #247
- GIT: forcing develop into enh/class_dispersion by @Gui-FernandesBR in #268
- Enh/dispersion class/review by @Gui-FernandesBR in #267
- ENH: using pydantic with the dispersion class by @MateusStano in #336
- MAINT: move dispersion plots by @Gui-FernandesBR in #375
- ENH: Remove Pydantic From DispersionModel, Environment and SolidMotor by @MateusStano in #509
- ENH: Remove Pydantic from Remaining Classes by @MateusStano in #512
- ENH: Dispersion Class Overhaul by @MateusStano in #543
- MNT: Dispersion Renaming by @MateusStano in #549
- TST: Splitting conftest.py into several smaller files. by @lucasfourier in #556
- BUG: Motor method 'export_eng' for liquid motors bug fix. (solves #473) by @lucasfourier in #559
- ENH: Optional argument to show the plot in Function.compare_plots by @Gui-FernandesBR in #563
- ENH: adds
Function.remove_outliers
method by @Gui-FernandesBR in #554 - MNT: Update develop with Recent Hotfixes by @phmbressan in #567
- TST: Environment unit tests refactoring by @GabrielBarberini in #571
- DOC: Convert CompareFlights example notebooks to .rst files by @Gui-FernandesBR in #576
- ENH: adds new stability margin methods to flight by @Gui-FernandesBR in #572
- MNT: Refactor flight prints module by @Gui-FernandesBR in #579
- DEV: adds coverage configuration file and excluide exceptions from report by @Gui-FernandesBR in #570
- MNT: Refactor inertia calculations using parallel axis theorem by @Gui-FernandesBR in #573
- DOC: Improvements of Environment docstring phrasing. by @phmbressan in #565
- ENH: Function Validation Rework & Swap
np.searchsorted
tobisect_left
by @MateusStano in #582 - BUG: Swap
rocket.total_mass.differentiate
formotor.total_mass_flow rate
by @MateusStano in #585 - DEP: delete deprecated rocketpy.tools.cached_property by @Gui-FernandesBR in #587
- ENH: Exponential backoff decorator (fix #449) by @Gui-FernandesBR in #588
- MNT: Modularize Rocket Draw by @MateusStano in #580
- TST: temporary changing git actions by @Gui-FernandesBR in #590
- BLD: Change setup.py to pyproject.toml by @GabrielBarberini in #589
- FIX: Optional Dependencies Naming in pyproject.toml. by @phmbressan in #592
- DOC: Add a doctest to calculate density profile by @justincolinsmart in #591
- ENH: Flight simulation speed up by @Gui-FernandesBR in #581
- ENH: Complex step differentiation by @Gui-FernandesBR in #594
- BUG: Fix minor type hinting problems by @nalquas in #598
- ENH: Pre-calculate attributes in Rocket class by @Gui-FernandesBR in #595
- BUG: Air Brakes Deployment Constant at Post Process by @MateusStano in #586
- BUG: plot drag curves when function source is callable by @Gui-FernandesBR in #599
- MNT: refactor u_dot parachute method by @Gui-FernandesBR in #596
- ENH: Introducing the Monte Carlo class by @MateusStano in #232
- BUG: Fixes nose cone bluffness issue #610 by @Lucas-Prates in #611
- DOC: Solve Dependencies Conflicts and pyproject build by @phmbressan in #613
- ENH: Adds StochasticModel.visualize_attributes() method by @Gui-FernandesBR in #612
- DOC: Adds prometheus data, Spaceport America 2022 by @Gui-FernandesBR in #601
- TST: Prometheus acceptance test with apogee criteria by @Gui-FernandesBR in #602
- DOC: Monte carlo documentation updates by @Gui-FernandesBR in #607
- REL: Bump versioning to RocketPy v1.3.0 by @phmbressan in #614
New Contributors 🤝
We welcome new contributors, with special thanks to:
- @Sofia-ME made their first contribution in #118
- @justincolinsmart made their first contribution in #591
- @nalquas made their first contribution in #598
Full Changelog: v1.2.2...v1.3.0
v1.2.2
What's Changed
- BUG: wrong rocket mass in parachute u_dot method by @Gui-FernandesBR in #569
- REL: Update version to 1.2.2 by @Gui-FernandesBR in #574
Installation
To install this rocketpy version, you can use pip install rocketpy==1.2.2
Full Changelog: v1.2.1...v1.2.2
v1.2.1
This is a minor release focused to solve a specific bug that was discovered when simulating a rocket with a diameter transition.
What's Changed
- BUG: Add reference area factor correction to aero surfaces (solves #557) by @giovaniceotto in #558
- REL: bump up rocketpy version to v1.2.1 by @Gui-FernandesBR in #562
Full Changelog: v1.2.0...v1.2.1
v1.2.0
v1.2.0 🚀
The newest version of RocketPy is officialy released
- You can already download it using pip:
pip install rocketpy==1.2.0
📦 - Don't forget to check the documentation page: RocketPy Docs 📚
What is new 🌟
This releases includes new features and enhancements that will improve the rocketpy experience for both users and developers. Let's check it:
For users 👩🔬👨🔬
- 🚀 Air Brakes Simulation!
- One can now simulate Rockets with Air Brakes and customized control functions!
- Fine tune your rocket for hitting that bullseye apogee.
- 📃 The documentation pages:
- Added juno3 flight example
- Data import through headered CSV Related Docs updated.
- Speedup notebooks and collab docs by not cloning the whole repository.
- 📊 Data handling and exporting:
- Import flight data to RocketPy with
FlightDataImporter
class. - Added
Function
low pass signal filtering. - Support for headered CSV on
Function
inputs. - Export any rocketpy data to a CSV with
Function.savetxt
.
- Import flight data to RocketPy with
- 🛠️ Various maintenance updates and code optimizations.
- Function priority on reverse arithmetic operations.
- Parachute trigger is now case insensitive.
- Updates and speedups do
Function
interpolation methods. - Rocket power on and off drag plots joined into one.
- Added a argument for optional datasource mutation on
Function.set_discrete
. - Fixed framing of 3D Flight Trajectory plots.
- Fixed Rockets without a motor not being drawn.
- Fixed a specific bug in which fin flutter analysis did not find any fins.
For devs 💻
- Testing refactors by splitting into unit and non unit testing.
- Added documentation for tests.
- Update GitHub actions workflow.
- Precalculate barometric heights to speed up simulation.
- Makefiles updates and addition of new commands.
Commit summary 🔍
- MNT: update develop by @Gui-FernandesBR in #487
- Doc/adding tst to docs by @lucasfourier in #491
- ENH: Function Reverse Arithmetic Priority by @phmbressan in #488
- GIT: Set code owners as @RocketPy-Team/code-owners by @giovaniceotto in #493
- ENH: Parachute trigger doesn't work if "Apogee" is used instead of "apogee" by @Gui-FernandesBR in #489
- MNT: Add repr method to Parachute class by @Gui-FernandesBR in #490
- ENH: Get Instance Attributes by @MateusStano in #477
- TST: solid_motor.py testing refactors by @lucasfourier in #494
- TST: Splitting unit testing module from non unit testes inside the new 'unit' folder for the several testing modules. by @lucasfourier in #499
- DOC: Update CSV Header Related Docs by @MateusStano in #495
- TST: Add unit test for get_value_opt method by @Gui-FernandesBR in #505
- MNT: Update interpolation method in linearly_interpolated_func by @Gui-FernandesBR in #504
- ENH: optimize
get_value_opt
in class Function by @styris00 in #501 - ENH: add Function.low_pass_filter method by @kalounis in #508
- ENH: Alternative for State History by @MateusStano in #507
- ENH: create FlightDataImporter class by @Gui-FernandesBR in #474
- DOC: add juno3 flight example by @Gui-FernandesBR in #513
- BUG: EmptyMotor is breaking the Rocket.draw() method by @Gui-FernandesBR in #516
- MNT: update github actions with logical sequence of tests by @Gui-FernandesBR in #500
- BUG: fin_flutter_analysis doesn't find any fin set by @Gui-FernandesBR in #510
- ENH : Add of a line for saving the filtered dataset by @kalounis in #518
- BUG: 3D trajectory plot not labeling axes by @Gui-FernandesBR in #533
- ENH: Argument for Optional Mutation on Function Discretize by @phmbressan in #519
- ENH: adds new Function.savetxt method by @Gui-FernandesBR in #514
- ENH: improve Function.low_pass_filter and adds docs by @Gui-FernandesBR in #538
- MNT: Encapsulate quaternion conversions by @Gui-FernandesBR in #537
- ENH Precalculate Barometric Height by @MateusStano in #511
- ENH: Shepard Optimized Interpolation - Multiple Inputs Support by @phmbressan in #515
- DOC: Installing imageio library on dispersion analysis notebook by @Lucas-Prates in #540
- DOC: Replacing git clone command with curl in notebooks. by @Lucas-Prates in #544
- ENH: Air Brakes by @MateusStano in #426
- ENH: Function inputs from CSV file header. by @phmbressan in #542
- ENH: Plotting both power on and off drag curves in a single plot. by @juliomachad0 in #547
- MNT: update Makefile by @Gui-FernandesBR in #539
- BUG: Elliptical Fins Draw by @MateusStano in #548
- MNT: small fixes before v1.2 by @Gui-FernandesBR in #550
- BUG: fix
get_controller_observed_variables
in the air brakes examples by @Gui-FernandesBR in #551 - BUG: Update flight trajectory plot axes limits by @Gui-FernandesBR in #552
- MNT: Final refactor before v1.2 by @Gui-FernandesBR in #553
- ENH: update master with develop for version 1.2.0 by @Gui-FernandesBR in #536
- REL: Update version to 1.2.0 by @Gui-FernandesBR in #555
New Contributors 🤝
We welcome new contributors, with special thanks to:
- @styris00 made their first contribution in #501
- @kalounis made their first contribution in #508
- @ClementMonaco made their first contribution in #508
- @Lucas-Prates made their first contribution in #540
- @juliomachad0 made their first contribution in #547
Full Changelog: v1.1.5...v1.2.0
v1.1.5
RocketPy v1.1.5 🚀
This newest version of RocketPy is available now!
- Install and check it out by using pip:
pip install rocketpy==1.1.5
📦 - Don't forget to check the documentation page: RocketPy Docs 📚
What's Changed
- BUG: Invalid Arguments on Two Dimensional Discretize (HOTFIX). by @phmbressan in #521
- BUG: Parachute Pressures not being Set before All Info. by @phmbressan in #534
- REL: Update RocketPy version to 1.1.5 by @Gui-FernandesBR in #535
Full Changelog: v1.1.4...v1.1.5
v1.1.4
RocketPy v1.1.4 🚀
This newest version of RocketPy is available now!
- Install and check it out by using pip:
pip install rocketpy==1.1.4
📦
What's Changed
- FIX: changes Generic Motor exhaust velocity to cached property by @giovaniceotto in #497
- DOC: Change from % to ! in the first cell to run properly in Colab. by @giovaniceotto in #496
Full Changelog: v1.1.3...v1.1.4
v1.1.3
RocketPy v1.1.3 🚀
This newest version of RocketPy is available now!
- Install and check it out by using pip:
pip install rocketpy==1.1.3
📦 - Don't forget to check the documentation page: RocketPy Docs 📚
What's been Fixed 🔧
- FIX: Broken Function.get_value_opt for N-Dimensional Functions by @giovaniceotto in #492
Contributors
Special thanks to the team that contributed to this quick fix:
It is also important to mention all the users that have reported bugs on our discord channel, this would not be possible without you all.
Full Changelog: v1.1.2...v1.1.3
v1.1.2
RocketPy v1.1.2 🚀
This newest version of RocketPy is available now!
- Install and check it out by using pip:
pip install rocketpy==1.1.2
📦 - Don't forget to check the documentation page: RocketPy Docs 📚
What's been Fixed 🔧
This release solves a bug from v1.1.1
regarding CSV reads, check out the CHANGELOG file and PR #485 for more details.
- BUG: Function breaks if a header is present in the csv file by @phmbressan in #485
Contributors
Special thanks to the team that contributed to this quick fix:
It is also important to mention all the users that have reported bugs on our discord channel, this would not be possible without you all.
Full Changelog: v1.1.1...v1.1.2
v1.1.1
RocketPy v1.1.1 🚀
The newest version of RocketPy is officialy released
- You can download this version using pip:
pip install rocketpy==1.1.1
📦 - Don't forget to check the documentation page: RocketPy Docs 📚
What has been fixed 🔧
This release solves a few bugs from the implementation from v1.1.0
- HOTFIX: Negative Static Margin by @giovaniceotto in #476
- HOTFIX: 2D .CSV Function and missing set_get_value_opt call by @MateusStano in #478
- HOTFIX: Tanks Overfill not Being Detected by @phmbressan in #479
- BUG: Prevent out of bounds Tanks from Instantiation by @phmbressan in #484
What has been added 🌟
- DOC: Add RocketPy change log file by @Gui-FernandesBR in #472
Contributors 🤝
Special thanks to the team that contributed to this quick fixes:
It is also important to mention all the users that have reported bugs on our discord channel, this would not be possible without you all.
Full Changelog: v1.1.0...v1.1.1