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

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 …

poliastro 0.7.0 released and ready for PyConES!

It fills us with astronomical joy to announce the release of poliastro 0.7.0! 🚀

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

This release is the biggest one since the creation of the project in terms of code changes and new features, and on behalf of the poliastro development team I would like to deeply thank the European Space Agency for the SOCIS grant that made it possible. Besides, I would like to officially welcome Antonio Hidalgo to the team, since in reward for his amazing work during SOCIS he gained write access to the repository. ¡Bienvenido Antonio!

As always, the easiest way to get poliastro in …

FTPs, DASTCOM5 and dtypes (SOCIS 2017)

In the previous entry, I said that we had found a new database, and we would have to take a closer look to it.

Actually, what I found was a JPL public FTP, with lots of data in it (I have barely taken a glance to all the folders that contains, so have fun looking into it :P).

In that FTP, inside ssd folder (Solar System Dynamics, not Solid State Drive), there were several different files, some of them with .DB extension, some of them with .dat extension, and a README.

The README explained some of the files (a few of them are still a mystery), and I quote what it said about a file named

Link to a a portable/programmable version of the JPL/Horizons database of asteroids and comets ("DASTCOM5"), updated as often …

NeoWs, SPK-ID and parsing (SOCIS 2017)

In the previous entry, several different APIs related to NEOs were studied, and finally NeoWs was chosen to start working with.

This week, we aimed to start with coding itself, adding an orbit_from_spk_id function to newly created poliastro.neos module.

In order to achieve this, the first step was researching how NeoWs API exactly works.

NeoWs operation

As stated in the prevoius article of this "series", this API provides several different functionalities, but, for the moment, we were only interested in the lookup service.

It also counts with web documentation, which was a really good start point, as you can see:

NeoWs Documentation

When using the lookup service (and any NASA API) you need an API key, but we used DEMO_KEY, which only limits your queries to 40 per hour. Having that in mind, all you need to do is a query …

Space APIs, JSON and REST (SOCIS 2017)

After setting up the blog, it was time to start with the first week of my timeline. The task for this week was to research the available NASA Open APIs and other NEOs databases that could better fit for this project.

I had already studied some APIs, and taked a look at their capabilities, but further research was needed. As my proposal was made of 3 different pages, I analyzed each one separately.

CNEOS page

In the CNEOS page there is a list of tools, but it can be shorten to four different APIs/Databases:

  • JPL Small-Body Database Browser: allows to search any small-body (like NEOs) by entering the IAU number, name, or designation, and also supports wild-cards * and/or ?. Available data include, quoting the page itself:

    • orbital elements
    • orbit diagrams
    • physical parameters
    • discovery circumstances

    Newly discovered objects and their …

Pelican, Github Pages and auto-deployment (SOCIS 2017)

After several weeks thinking that SOCIS would not launch this year, finally the long-awaited email arrived! I am really happy for being selected by poliastro and my mentor @astrojuanlu, with the aim of creating an API, relying on NASA Open APIs, in order to provide small-bodies orbital data (my proposal can be seen here).

Our plan is to write a weekly blog entry, stating and documenting what have been done during that period. I think these posts will be a great way of reviewing what have been accomplished, and I also hope they will be interesting enough to anyone interested in Python, science, NEOs, or just reading random internet blogs.

This has been the first one of eight weeks (yeah, that’s not what my proposal timeline says, but it’s all we have 😊), and, surprisingly, the first task I …