Skip to main content

astropy@GSoC Blog Post #5, Week 6&7

Hi,

How are you?

My dear mentors and I have decided to have the MRT (Machine Readable Table) format writing first. The same CDS code as been used now will be used, just the template of the written table will be in the MRT format.

Points to be noted regarding this and the immediate things that have been and will done are as follows:

  • Leave out writing all the optional CDS ReadMe fields as of now. These can be dealt with individual PRs later.
  • Some tests fail because start_line = None doesn't work. It has been introduced once again within CdsData.write function in addition to been defined in the main Cds class. The test failure occurs because CdsData now inherits from FixedWidthData which itself inherits basic.BasicReader instead of BaseReader. I should make sure that all tests pass properly.
  • Have a template for MRT tables and write them first. Title, Authors, Date, Caption and Notes sections, i.e. all sections except the Byte-By-Byte and the Data itself, will be left blank in the template, with warning for the user to put them in manually afterwards.
  • Documentation for the CDS/MRT format writer.
  • At present issue a warning note for tables with two or more mix-in columns (SkyCoord cols primarily). If ways to correctly work out such situations is thought of, add that feature in a separate PR.
  • Work with a copy of the original table, so that  the copy is modified and not the original table, when component coordinate columns are written. The modified copy of the table is written to a file, while the user retains access to the columns of the original table.
  • Need to have features to recognise non Spherical coordinates, like the Cartesian coordinates, and either skip them or write them as Single column string values. Add test for such other coordinates. Also for cases when coordinates are in a SkyCoord object but the frame is not Spherical.
  • Have two other templates, one for CDS in which the user fills values of optional fields manually later and another in which filling optional fields can be done from within Astropy, via a cdsdict. In separate PRs. Here too write only the required fields in the ReadMe first, like Abstract.
  • Have features for Time columns later within the original PR or much later.
  • Simplify how column format is obtained for float columns. The current manner of string formatting is too complicated. col.width value can be directly used in some cases. The Outputter class will also know the column format since it writes out the table.
  • Other minor/major edits and modifications as suggested by others.
With this PR for the MRT format table writing getting eventually merged to Astropy, the main goal of my astropy@GSoC project will be completed. The support for other extra features essentially serves as appendages to the primary task been done by this PR.
Let's see how it goes.

Oh! On another note, a few days back I received the GSoC First Evaluations payment! 😁

Adious!

Comments

Popular posts from this blog

Why I write?

Initially I wanted to title this post,  On writing Diaries , however this thought-provoking question is far better. Although it may take me a long time to be an author per se, more or less, I have been a continuous writer since my seventh grade. What started with jotting down non-sense farce on daily routines during the middle school years, has now grown into some fierce rhetoric on vast ranging topics important to me in general. So, what is it about writing that I like so much? Unlike most of my friends, what has made me go on for so long now? Why do I write? And why do I plan to write more vigorously, more persuasively and more indiscriminately than ever in the coming future? Well, there isn't any plain simple answer to these. I write because I like to write. I write because it gives reality to all of these thoughts inside my head which couldn't find an route through the tongue. I write because it often makes me feel good. I write because I find this the best way to convey my

astropy@GSoC Blog Post #3, Week 3

So, it's the start of the 3rd week now. I will be virtually meeting Aarya and Moritz again Tom. For the past few weeks now, I have been pushing commits to a Draft PR  https://github.com/astropy/astropy/pull/11835  on GitHub. I wanted to have something working quite early in the project, in order to be able to pinpoint accurately when something doesn't work. This is why I started with directly adding the cdspyreadme code within Astropy. Afterwards, I am also writing the code from scratch. As more of the required features from cdspyreadme get integrated into cds.py , those files and codes added earlier will be removed. About the reading/writing to Machine Readable Table format, in fact I wrote about it briefly in my GSoC Proposal that I could attempt it as an extension. I don't have an opinion on whether or not it should have it's own format classes etc. However, since the title of my GSoC project is to Add a CDS format writer to Astropy , I would prefer to work on the

Review: Homo Deus by Yunal Noah Harari

Homo Deus: A Brief History of Tomorrow by Yuval Noah Harari My rating: 5 of 5 stars It took me a long time to finish reading Homo Deus . And I think the long duration was well worth it. Homo Deus is not the ordinary everyday stale non-fiction that one comes across. It is a masterpiece in its own right. But for the Sapiens , I don't recall having read any other book that stimulated thinking to the degree Homo Deus does. The book starts off almost right away from where its predecessor, Sapiens , ended. A New Human Agenda , that of seeking eternal youth , bliss and divinity , is put forward for the 21st Century. Since the dawn of Humankind, the persistent goal of any population has been to have sufficient food to quench hunger, to have health measures to fight infections and diseases and to be at peace with neighbouring kingdoms. With the advent of the modern technology and the unprecedented progress it has made over the last few decades, the goals have changed now. Rest of the