poliastro is an open source (MIT) Python library for Astrodynamics and Orbital Mechanics that is easy to use, powerful and interactive. It works with physical units to avoid common errors, implements several propagation algorithms, provides common impulsive and low-thrust maneuvers, and makes visualization simple. Its source code is on GitHub, it has a growing community of developers, and it's currently used in both academia and industry.
With the current exponential growth of Python among novice and expert programmers, including the space industry (with key players like NASA, ESA, and space startups increasingly using it for several purposes), poliastro is an excellent tool that can be easily integrated both in interactive workflows and large scale analysis in headless environments, with a comparatively good performance and a simple API.
In this workshop we will explore poliastro in Jupyterlab, a web-based, interactive Python development environment, to read orbital data from several sources (CelesTrack, JPL, MPC), propagate and visualize these orbits, compute transfer maneuvers between Low and High Earth Orbit, determine visibility over ground stations, and target nearby planets, asteroids and comets.