Pythonista Luke Davis, Engineer at Planet Labs, Shares His Love for Python

PyHawaii is happy to launch a series of interviews showcasing the diverse use of the Python programming language.

Our first interview is with Luke Davis, an engineer at Planet Labs. “Planet’s goal is to provide universal access to information about our changing planet through a platform that includes the daily imaging data from Planet’s fleet of satellites, along with data from various other sources.” Planet Labs has now launched more satellites into orbit than any other organization in the world and is devoted to using its platform to improve our Earth. Luke's recent projects involve a large Django framework so that the satellite operators have a web based GUI to control the entire network of spacecraft! His typical development environment involves virtual environments, private git repos, and lots of Python.

PyHawaii: How did you become a programmer?
Luke: In Spring 2008, I realized that programming was a way to think outside your head, and thinking was something extremely valuable. Therefore, with that idea, I knew I had to learn to program. I also knew that I had to be excellent at it, and move up that gradient to master it. At some point, I was given the opportunity to move from a hobby to a vocation and I jumped on the opening. I didn't set out to have a job as a programmer, I set out to become excellent at programming because of the relationship to thought.

PyHawaii: Why did you choose Python?
Luke: Universality. Python is the lingua franca of scientific computing and many other things. Python spans so many communities and you can take part in a huge conversation about programming, machine intelligence, and many other things. That opportunity doesn't exist in other languages like Ruby, C++, or JavaScript. The low barrier to entry and preeminence with the scientific computing community creates a perfect mix of easy for novices, yet full-featured enough for professional research. There is smooth onboarding from novice to professional. When you compare Python to Java/C++ , both have a great scientific community, but those other languages are much harder for people to get involved with. In a similar situation with R, there is a great community, but it is much smaller and not a good fit for what I like doing: thinking. All that is why I think Python is an attractive language.

PyHawaii: Do you use other programming languages?
Luke: Yes, JavaScript. JS is the native language of the winning platform, web browsers. JS is also good for teaching because of the immediate feedback and universal web browser. There is no need to set-up a development environment, dependencies, or anything else. It is really invaluable to do things on the web and I am doing a lot on the web. I wouldn't use JS if it wasn’t part of the winning platform. For instance, Lua is a great language that I would use but it didn't win, so there isn't a large community and there are not a variety of modules. When you go to look for something in Lua, you may end up having to go build it from scratch.

I think we are living in the zenith of JavaScript. You have already seen things come and pull the market from JS, like CoffeeScript, but soon if the WebAssembly train doesn't get derailed, we'll see the decline of JS. Apple, Google, Microsoft, Mozilla, and others have all agreed to push forward on WebAssembly to create a low level bytecode for web browsers. JS tries to be a good language and a good compiled target, but it isn't really good at either one. WebAssembly will be an extremely fast target for compiled languages for any browser that is part of the consortium. If WebAssembly doesn't get derailed, JS will decline.

PyHawaii: What has been your favorite Python project?
Luke: Well at work, we use Python to control satellites! We've built a suite of tools to control the birds, ground stations, and everything else. The satellite has a Linux-based controller and runs Python, so literally everything we do can be Python-based. An example: you can manipulate how the satellite is pointing. We have two systems for that, all controlled with Python. The first is a reaction wheel using gyroscopes, which moves very fast. The second, for slower movements, is a magnetorquer which applies torque to the satellite by interacting with the Earth's magnetic field! We also use Python to establish a radio connection with the ground stations and control the ground site antennas. The ground site antennas must point within 1-2 degrees of arc of the satellite in order to communicate.

PyHawaii: What is your favorite Python module?
Luke: Good old datetime! I hate calculating timestamps, and this saves me so much time. I literally use it every day, multiple times a day. We have 15 ground sites across the Earth so we are constantly calculating local time zones and time differences.

There you have it folks! We would like to thank Luke Davis for his time and sharing his experiences and background with PyHawaii. Thank you, James for putting together this amazing series, spreading the wonderful work that is done using Python. Also, if you’d like to learn more about Planet Labs, check out this video/article piece done by CBS News, “Entrepreneur Blasting Off Into Orbit” (August 23, 2015).

Interview and post by James.


  1. This comment has been removed by a blog administrator.

  2. Web technology has evolved so much in the past years and it is being the part of a company's growth for a long time(Web designing course in chennai). It is explicitly printed in the above content. I really love the way you have started writing this article(Web designing course). It is the skill that every blogger require. Thanks for sharing this in here once again. Keep blogging like this(Web designing training).

    1. I have read your blog its very attractive and impressive. I like it your blog.

      SEO Services in India SEO Company in India SEO Company in India

      Guaranteed SEO services Guaranteed SEO

  3. C language is a computer programming language.Very easy to learn and a strutured language. C language is a object oriented programming.
    C++ training in chennai | Unix training in Chennai | FITA Velachery Reviews

  4. Well Said, you have furnished the right information that will be useful to anyone at all time. Thanks for sharing your Ideas.
    Web Designing Course in Chennai | web designing training in chennai

  5. Nice informative content which provided me the required information about the programming language where i have gained lot of knowledge.
    PHP training in Chennai | PHP course in Chennai

  6. Very interesting content which helps me to get the in depth knowledge about the technology. To know more details about the course visit this website.
    Digital marketing course in Chennai | Digital marketing training in Chennai

  7. Excellent post!!!. The strategy you have posted in this technology helped me to get into the next level and had lot of information in it.
    Android training in Chennai | Android course in Chennai

  8. Thanks for sharing information to our knowledge, it helps me plenty keep sharing…
    Java Training in Chennai | JAVA Course in Chennai

  9. Thanks for sharing this useful information and it's a worth read.
    IT Job Training in Chennai

  10. The best thing is that your blog really informative thanks for your great information! I have got some important suggestions from it.
    Events in india.| Online Events Registration Websites | National & International Conference List

  11. I specially mention one important point.your writing skill is very nice. It help you to gather good knowlwdge about python . Thanks for sharing.

    Python Online Training

  12. Hats off to your presence of mind..I really enjoyed reading your blog. I really appreciate your information which you shared with us. R Programming Online Training

  13. Hi, I am really happy to found such a helpful and fascinating post that is written in well understandable manner enhance me to learn quickly… Thanks..
    Python Training in Chennai | Dot Net Training in Chennai