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

Articles by Eleftheria Chatziargyriou

Moving forward with the Cesium application

I feel like in the last couple of weeks I got to work a little in several aspects of the project. While this didn't allow me to focus on a single feature, it allowed me to make progress in various different areas.

Bug resolving and 2D mode

First and foremost, I got rid of a particularly frustrating bug in the application. Certain javascript events (such as the one that allows the inertial view), where tied to a single Viewer and thus wouldn't trigger when the Viewer was destroyed (which is the case when, for example, loading the data from the file). I also made a few minor changes in the code and introduced the option to set the Viewer mode to 2D. This isn't any useful as of now, but it will be with the new feature I'm planning to …

Converting to CZML and next steps

So the first phase of GSoC is over and with it, it's time to reflect what has been achieved in the last couple of months.


As I mentioned in the last blogpost this is a very useful library created by juanlu. After a few patches, the library now supports most CZML properties and - as far as I can tell - this is the only currently mantained Python library for creating CZML packets.

CZML Extractor

This is the first feature I've started to work on and while it is still far from complete, I'm happy to say that it is now usable.

At first, the czml document was represented by a nested dictionary and then converted to valid JSON format. This worked ok and I did write a function which made manipulating the dictionary a tad more intuitive, but it was …

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.


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 …

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 …

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 …