You are seeing poliastro blog. If you want to see documentation, the latest version can be found in docs.poliastro.space.

Communication satellites and refactoring

Those couple of weeks were spent mainly on setting future milestones and improving the quality of the code. In a way, Tom Cargill's famous aphorism came to my mind:

The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time.

Writing stuff that "just works" is relatively easy. But when programming, you always have to keep track of myriad variables including but not limited to: maintanability, integration and readability.

CZML3

My mentor, Juanlu, wrote a fully-fledged library for composing czml packets. While it's still in the early stages of development, I would urge anyone interested to check it out. I'm currently trying to refactor the czml core, so it utilizes the library instead of the current approach …

Lambert maneuvers and trails in plots

What's new?

Three weeks have passed since the coding phase began and new features have been added to the software:

  • Lambert is now a Maneuver instance.
  • A trail keyword in StaticOrbitPlotter for showing orbits' trails.

Lambert just needs now two orbits!

Although the raw algorithms are kept under the module poliastro.iod, it is possible now to simplify the process of solving this famous astrodynamics problem by making use of the poliastro.maneuver module.

Imagine that we want to solve the classical problem ongoing from Earth to Mars for a trip of 600 days duration. Let us compare before and after Maneuver.lambert implementations:

With 0.12 version:

from astropy import units as u
from astropy.time import Time

from poliastro.bodies import Earth, Mars, Sun
from poliastro.iod.izzo import lambert
from poliastro.twobody import Orbit

LAUNCH = Time.now …

Let the coding begin

Let the coding begin

So the bonding period is over, which means that the coding phase has officially begun. I've already worked on some of the key features I'd like to add since my examination period is around the corner. Hopefully, this won't slow me down and I'll keep up with the workload.

The work so far

I've worked on the main part of the project, which was to connect poliastro to the visualization capabilities offered by the Cesium API. There is already the possibility of adding orbits and defining custom attractors, along with various visual customizations. As exciting as this is, there are still way more things that could be added to give life to the project, rendering it more useful and interesting.

Communications satellites

In the past days, I became increasingly interested in adding communication satellites and visualizing …

Coding phase starts!

The End of the bonding period

Today bonding period ends for all students selected at GSoC'19. The aim of this period was to learn more about your project community: get in touch with mentors, other developers and their future ideas on the software...

As I said in my last post, I started contributing to poliastro several months ago, even before GSOC was announced. Therefore, and since I am taking my final exams, all my efforts were towards passing them.

But today the coding phase starts! That means we all should start working on our proposal features.

The coding phase at poliastro

The release of poliastro version 0.13 is getting closer. During this first part of the coding phase, I am planning to solve for different issues, most of them related to frames, check out milestones 0.13.

Frames are …

The beginning of GSoC

Hello everyone, I'm Eleftheria and this summer I'll be working with poliastro under Open Astronomy as part of GSoC 2019. I'm hoping this blog will prove to be interesting to those who are interested in poliastro or simply a source of inspiration to those looking for a way to get their feet wet with open source.

The beginning of a journey

After forking poliastro, I immediately dived in and tried to make sense of the codebase. Fortunately, poliastro is extensively documented so the learning curve wasn't as steep as I expected. After getting familiar with the project structure, I started browsing the open issues to find ways to make myself useful. What caught my attention was the ongoing process of adding visualization features to poliastro, which would make the library more accessible to professionals and beginners alike.

It should be …

GSOC-19 starts!

From my first pull request to GSOC student

Hi, my name is Jorge, and I am one of the selected students for this GSOC edition at poliastro under the OpenAstronomy organization. I started working on poliastro project after Juanlu came to my university to give a talk about Open Source software in engineering.

After forking poliastro, I decided to improve API Docs, which gave me an overview on how the project was built and how the different modules talked among them. I had no idea on how Git and GitHub worked and therefore, when finished with the docs my first pull request was quite massive...

But after that I started feeling more confortable with GitHub and Sphinx, the tool used nowadays in poliastro for building documentation. Then, I decided to work on a porkchop plotter.

I spent the week after …

poliastro in Google Summer of Code 2019!

We are glad to announce that poliastro will accept student applications during Google Summer of Code 2019, thanks to the umbrella organization OpenAstronomy! 🚀

For the newcomers, poliastro is a pure Python library that allows you to easily simulate and visualize interplanetary orbits in an interactive way, used by people from all around the world. Sounds interesting? Read on!

What is Google Summer of Code?

Google Summer of Code (from now on, GSOC) is, according to its own website:

a global program focused on bringing more student developers into open source software development. Students work with an open source organization on a 3 month programming project during their break from school.

Google Summer of Code

GSOC is the inspiration for the Summer of Code in Space (SOCIS), a similar program organized by the European Space Agency in which we also participated, with great success.

The …

GSoC'18: improving propagators, adding natural and artificial perturbations at Poliastro

By Nikita Astrakhantsev

It was a lazy Sunday at home and nothing prepared me for my girlfriend giving me the link for the GSoC'18 announcement page. I was considering participation a year ago, but had not enough resoluteness for that. This year I wanted it to be different so I started scrolling through the list of open-source organisations. As I am doing a PhD in theoretical physics now (defending in January 2019), I wanted the project to be scientific, not just some boring back-end development (in which I am anyway not strong enough). After a couple of iterations I converged to three space-aimed organisations. What shocked me, was the fact that mostly people of these organizations were not eager to even answer simple questions or it took them a week to provide a dataset for analysis. Only in Poliastro it was easy enough …

poliastro at the Python in Astronomy 2018 conference

A month ago I had the privilege to attend the Python in Astronomy 2018 conference, which gave me an unique perspective of the status of Python in the astronomical sciences and an opportunity to present poliastro to a very technical audience. I was planning to post a writeup somewhere, and as the Zen of Python says...

$ python -c "import this" | grep Now
Now is better than never.

So, let's do it! 🚀

What was Python in Astronomy?

Python in Astronomy (from now on, PyAstro18) is best explained in its website:

This conference aims to bring a wide variety of people who use, develop or teach people about Python packages in the context of all forms of Astronomy. The conference will include presentations, tutorials, unconference sessions, and sprints. As well as enhancing the community around astronomical uses of Python, the conference aims …

Join poliastro thanks to Google Summer of Code!

We are glad to announce that poliastro will accept student applications during Google Summer of Code this year, thanks to the umbrella organization OpenAstronomy! 🚀

For the newcomers, poliastro is a pure Python library that allows you to easily simulate and visualize interplanetary orbits in an interactive way, used by people from all around the world. Sounds interesting? Read on!

What is Google Summer of Code?

Google Summer of Code (from now on, GSOC) is, according to its own website:

a global program focused on bringing more student developers into open source software development. Students work with an open source organization on a 3 month programming project during their break from school.

Google Summer of Code

GSOC is the inspiration for the Summer of Code in Space (SOCIS), a similar program organized by the European Space Agency in which we also participated last year, with …