Community tools for SpExoDisks (Spectroscopy of Exoplanet-forming Disks) data
SpExod is a Python package that allows users to connect to the spexodisks.com API aims to provide users with a convenient and efficient way to access data from a particular source. It offers a set of functions and methods that enable users to interact with the data programmatically, making it easier to retrieve and manipulate the information as needed. One of the key advantages of using the Python API is its ability to access more data than what is typically visible on the explore data page or user interface. While the explore data page may present a limited subset of the available data, the Python API allows users to query and retrieve a broader range of information. This can be particularly useful for users who require comprehensive access to the data for analysis, research, or other purposes. Furthermore, the Python API allows users to access the data in its purest form, including any NULL or empty values that may exist. This means that users have direct access to the original data structure and can work with it as it is, without any modifications or preprocessing. This level of data integrity can be beneficial for advanced data analysis or when specific processing steps need to be performed on the data.
https://github.com/spexod/spexod
See the Section Recommended Community Installation below for a detailed installation instructions that use python best practices.
pip
is the recommended installation method, you can
use it in to ways to install the spexod
python module:
pip install spexod
git clone https://github.com/spexod/spexod
cd spexod
pip install .
See the detailed instruncions for data format for SpExoDisks FITS files at ~/spexod/spexod/FITSREAD.md.
Git and GitHub are standard tools across astronomy, computer science, computer engineering, and other fields. This is a tool set that everyone should learn for code management. It is always useful, and often expected for contributors to a project of any size.
This installation will include gitbash on Windows machines. This is a terminal application that simulates a unix terminal on Windows. It is useful for managing code and working with git and github. If this is the first terminal/shell you have installed on your Windows computer, you will be able to use this to enter all of the terminal commands present in the rest of this README.md file.
A 15-minute introduction video for git is available at https://www.youtube.com/watch?v=USjZcfj8yxE
Get the latest version of Python3
https://www.python.org/downloads/
This project was tested with Python 3.8.5 to 3.10.x. It probably works with older versions of Python, but it is not guaranteed.
Some python
installations will need to call python3
instead of python
from the terminal.
Check your python version with python --version
if it comes back with
2.7.x, try python3 --version
and expect to get 3.x.x.
Modern Python installations require you to sign and SSL certificate after installation. This is done by simply running a script in the installation directory. Programs like, Homebrew will do this step for you. If you see SSL errors in Python, it is probably because you skip the certificate step.
From a commandline interface (terminal, gitbash, cmd, or powershell) Clone this Repository (https://github.com/Wheeler1711/submm_python_routines) using the following:
git clone https://github.com/spexod/spexod
then cd into the directory using:
cd spexod
Remember to update the repository periodically with:
git pull
Configure the virtual environment for DetMap or from the terminal.
This step is done one time to initialize the virtual environment.
Window and Linux Tested in Windows PowerShell and OSX Terminal. Some python
installations will need to call python3
instead of python
. Check your python version with
python --version
if it comes back with 2.7.x, try python3 --version
and expect to get 3.x.x.
If you have a many python installations, or if you just downloaded the latest version
of python then you should replace python
with the full path to the python executable.
python -m pip install --upgrade pip
python3 -m venv venv
This step needs to be done everytime you want to use the virtual environment.
For unix-like environment activation:
source venv/bin/activate
Windows CMD environment activation:
.\venv\Scripts\activate
for Windows powershell environment activation:
.\venv\Scripts\activate.ps1
After activation, the term ail will add a (venv)
to the command prompt. At this point
you can drop the full paths to the python and pip executables into the terminal,
and the python3
in place of python
commands.
I like test that everything went as expected with the following:
python --version
pip list
This step needs to be done everytime you want need to install new python packages.
The requirements.txt has the list of all packages needed for submm_python_routines. From a terminal with the virtual environment activated, do:
pip install -r requirements.txt
Packages can all be installed individually with pip install <package_name>
If you are a user of the submm_python_routines but are unlikely modify (develop)
the code in this project, then it is recommended that you install the
spexod
as a python package. This can be done within a
virtual environment, or for a user, (or global version of python which makes a
mess https://xkcd.com/1987/).
With a your chosen python environment active and in the folder /spexod/
(where setup.py
file is located ), you can install with pip
via:
pip install .
In order to get started, install Python packages Sphinx and pydata-sphinx-theme.
To make the process a little easier we have included sphinx_requirements.txt
in the
docs
folder. Use the pip command to install as such:
pip install -r sphinx_requirements.txt
From there, we can navigate to the docs_build
directory.
cd docs_build
We can use make html
to build the application.
make html
Once built, we can see that Sphinx generates a directory at docs_build/build/html/
static directory for us that contains our documentation's website.
Click on docs_build/build/html/index.html
to view the documentation as a website
using a browser like Chrome or Firefox.
See here for additional documentation and guidance.
Once ready to deploy and have built new static HTML files, copy the contents of spexod/docs_build/build/html
into spexod/docs
and add a .nojekyll
file to the spexod/docs
directory.
From this point, you can push the changes to the spexod/docs
directory to GitHub and the documentation will be updated.
rm -rf ./docs/*
cp -r ./docs_build/build/html/* ./docs
touch docs/.nojekyll