Followers of this blog and our team's scientific endeavors may know we have a curated database of brown dwarfs we work with. An initial version of this database has been published in Filippazzo et al. 2015 and contains information for 198 objects. The database is also maintained on Github, where we welcome contributions from other researchers. We've developed a set of tools for astronomers to work with SQL databases, namely the Python package astrodbkit. This package can be applied to other SQL databases allowing astronomers from all fields of research to manage their data.
Here we introduce a new tool: AstrodbWeb, a web-based interface to explore the BDNYC database.
NOTE: The information on this post may be outdated. We recommend looking into the up-to-date documentation at trac (internal) and ReadTheDocs.
The astrodbkit package can be used to modify an existing SQL database (such as The BDNYC Database) but it can also be used to create and populate a SQL database from scratch.
To do this, import the BDdb module and create a new database with
from astrodbkit import astrodb
dbpath = '/path/to/new_database.db'
Then load your new database with
db = astrodb.Database(dbpath)
and start adding tables! The
db.table() method accepts as its arguments the table name, list of field names, and list of data types like so:
db.table('my_new_table', ['field1','field2'], ['INTEGER','TEXT'], new_table=True)
new_table=True is necessary to create a new table. Otherwise, it looks for an existing table to modify (which you could do as well!).
To populate your new database with data, read the documentation here or a summary at Adding Data to the BDNYC Database.
As always, I recommend the SQLite Browser for a nice GUI to make changes outside of the command line.
As you make changes to the astrodbkit repository on Github, you may find that the documentation needs updating. Luckily, we use the invaluable Sphinx and the awesome ReadTheDocs to generate the documentation so this is fairly simple.
First, make sure you update the appropriate doc strings (those informative green bits just below the function definition) as this is what Sphinx will use to generate the documentation!
Start in the top level
astrodbkit directory and generate the documentation from the module docstrings with
sphinx-build docs astrodbkit -a
Then cd into the
docs directory and rebuild the html files with
Now move back to the top level directory and add, commit, and push your changes to Github with something like
git add /docs
git commit -m "Updated the documentation for methods x, y, and z."
git push origin <your_branch>
All set! Refresh the page (after a few minutes so ReadTheDocs can build the pages) and make sure everything is to your liking. Well done.
And just in case, here's a great tutorial for getting started with Sphinx and here's the official documentation.