Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate liquid and hybrid motors #11

Merged
merged 1 commit into from
Nov 18, 2023
Merged

Conversation

GabrielBarberini
Copy link
Collaborator

Liquid and hybrid motors integration

📝 Briefing 🎯

Currently api.rocketpy.org supports only solid motors, this commit is a design upgrade that enables solid, liquid, and hybrid motors to be used through the API. Additional enhancements in the design were also applied to serve as a scaffold for the next improvements such as allowing custom engine file input, selectable off-shelf engine files, etc.

🕵️ Review focus 🔎

I would like to kindly ask your help to check for performance improvements and flag any anti-patterns you find since In order to solve some of the integration issues I had to make some not-so-elegant work-around.

🔬 Tests 🧪

The Postman collection is yet to be updated with additional functional tests to cover this change. I've also tested every route for hybrid, solid, and liquid with the preset values and fixed all critical issues/bugs along the way. Still, I would like you to give it a try yourself to help me test a few edge cases, probably there are some covert bugs lying around.

Additional info

  • implements motor tanks
  • implements guard on motor to cover hybrid and liquid inputs
  • improves motors model readability
  • improves motors model readability
  • improves models visibility
  • implements MotorTankGeometry
  • implements API logger
  • implements hashing for rocket model and udpates api docs adapts flight controller to hybrid
  • adapt updates to hybrid
  • updates flight controller to support hybrid updates start saving rocket option and motor kind
  • adapts flight to save rocket options and motor kind state

Copy link

@luimot luimot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In summary it's all fine but I guess names like "Callisto" and "Cesaroni" and other default things could be on separate folders

lib/api.py Outdated Show resolved Hide resolved
lib/models/rocket.py Outdated Show resolved Hide resolved
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here on the example thing

lib/repositories/motor.py Outdated Show resolved Hide resolved
lib/repositories/rocket.py Outdated Show resolved Hide resolved
@@ -15,7 +15,6 @@ def get_os_secret(key):
def get_secret(self, key):
dotenv_secret = self.secrets.get(key)
if not dotenv_secret:
print("cheguei")
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😂

luimot
luimot previously approved these changes Nov 18, 2023
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is great!

README.md Outdated
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice, readme's updated!

implements motor tanks
implements guard on motor to cover hybrid and liquid inputs
improves motors model readability
improves motors model readability
improves models visibility
implements MotorTankGeometry
implements API logger
implements hashing for rocket model and udpates api docs
adapts flight controller to hybrid
adapt updates to hybrid
updates flight controller to support hybrid updates
start saving rocket option and motor kind
adapts flight to save rocket options and motor kind state

adds obs in README about compatibility with python 3.11.5

removes dead code and reduces import line size
@GabrielBarberini GabrielBarberini merged commit 703566b into master Nov 18, 2023
2 of 4 checks passed
@GabrielBarberini GabrielBarberini deleted the serialization branch November 18, 2023 18:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants