You are browsing as a guest. Sign up (or log in) to start making projects!

WebbFinder

  • 5 Devlogs
  • 15 Total hours

Explore latest James Webb Space Telescope imagery

Open comments for this post

1h 1m logged

Made an exe version of the python script that holds a preloaded data.json. Had a little trouble with getting pygame_gui to install into the exe but it worked in the end. If you run the exe you should see a data.json created inside the same directory as the exe, and that is so it can be updated with the latest images

0
0
1
Ship #1 Changes requested

This is WebbFinder, an app made in pygame that lets you browse the latest James Webb Space Telescope images through the official ESA/Webb image API.

This is my first time using APIs, so getting that to work was a bit of a hassle, but I thoroughly enjoyed making this project. Space is always fascinating and making something about the James Webb telescope really filled me with awe about how beautiful the universe truly is.

The app works like this:
If you do not have the data.json file, you will have to wait ~30 seconds for the first page to load. You will then be able to browse the latest 100 images. It is recommended to wait for the rest of the pages to load, so that it is saved and your next startup is much quicker.
If you do have the data.json file, the code simply requests the latest page and compares if you already have the images, and adds any new ones.

You can browse the images in chronological order, which displays the actual image, its title, the description, date, link to the ESA website, and a download option.

The download option gives you 3 options: medium, large or original, each one bigger than the last.

A ‘jump to date’ feature is also present, letting you choose to look at images whose date is closest to the date you have selected.

To keep the feel of the app smooth, the check for new images is done in the background. This is much different from the first versions where the whole screen would freeze, so multithreading was another thing I had to familiarize myself with. Furthermore, the neighbouring five images are also preloaded to ensure that there are no stutters while viewing.

Overall, I am very proud of this system that ensured a smooth browsing experience, and of the project as a whole. Thanks for having read my pitch :D

  • 4 devlogs
  • 14h
Try project → See source code →
Open comments for this post

3h 19m logged

Final update

The biggest issue in the earlier versions was the interface freezing whenever the app fetched new APi data or downloaded high-res images. To address this problem, i moved the network requests, cache updates, and image preloading onto the background threads using the threading module in python. Everything is much more smooth now.

I also added an input parser that lets the user to select a specific date, which the app will find and jump to the image with the closest date.

Furthermore, I added a download selector allowing users to save images in medium, large, or original quality via the native file save option.

I also added a buffer system that preloads the previous and next five neighbouring images into memory (also in the background!) making the image switching instant with no lag.

0
0
9
Open comments for this post

3h 8m logged

Can now view all of the James Webb space telescope images. Also optimized the manager to fetch just the first page to update the existing data file. If this file didnt exist at all, then a loading screen will display a little animation of stars while the first page loads, and upon it loading it lets the user view the images while the second page is loaded via background threading. Once all the pages have been downloaded, or it has been detected that the data already had that image, the process is stopped and the data is then saved. Also, once the user loads an image by clicking previous or next, that image is stored to avoid unnecesarily calling the same request again. Pretty exciting stuff

0
0
50
Open comments for this post

4h 28m 1s logged

Got the app into a working state, can move forwards and backwards between images, super exciting. Extracted more info from the JSON to get the description, title, and date. UI is looking better, still a little bare. However, it is currently only possible to view the first page of images, so next devlogs will be focused on adding access to all the images, as well as improving their loading speeds. The core viewing mechanic is functional tho!

0
0
18
Open comments for this post

2h 50m 1s logged

First time here, progress is being made. Didn’t know anything about APIs or jsons but here is the first succesful render. Biggest obstacle was figuring out how to request the image data and properly display it in pygame (of which I also knew very little about, which is why it is so barebones right now!) Foundation established, things are looking good.

0
0
14

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…