Package: pySitools2
pySitools2A generic PythonSitools2clientIntroductionThe pySitools2 tool has been designed by the IAS MEDOC team as a client
to perform all operations available within Sitools2. The code defines
several classes of Sitools2: Dataset, Field, Project and Query.It also contains specialized versions of the client, allowing the
end-user to easily perform queries on selected datasets (namely EUV-SYN,
GAIA-DEM, SDO/AIA, SDO/HMI, SOHO and STEREO at IDOC/MEDOC) and to
download the corresponding data.FeaturesSearch by providing a date rangeFilter the search results by providing additional options of the
concerned dataset if desired (wavelength, cadence, detector...)Filter SDO (AIA or HMI) results with some specific metadata values
(e.g. filter on quality)Download the results of the searchInstallationRequirementsBefore building pySitools2, make sure thatpython-setuptoolsis
installed. For example, with a Debian-based Linux distribution
(Ubuntu...), please type in a terminal:sudo apt-get install python-setuptoolsOther requirements will be installed automatically bypip.Installing from PyPIThe latest release is available from thePython Package Indexand can be installed for the system by:sudo -H pip install pySitools2or, for the current user account, by:pip install --user pySitools2Please replacepipbypip3if your system's default Python version
is Python 2.Installing from the git repositoryThe code is developed on the IAS Gitlab instance and you can get the
source codes from there:git clone https://git.ias.u-psud.fr/medoc/PySitools2.gitThen install the library (see above for details about usingpip):cd pySitools2
pip install .UpgradingPlease use the--upgradeoption ofpip install.Removing the libraryPlease use theuninstallcommand ofpipinstead ofinstall.Examples of useFollowing examples will make a request, for each given python module
below, using the search method and then simply download the results of
thesearch()by calling the get method.Full examples are provided in theexamples/directory.euvsyn_client_medoc.pyfromsitools2importEuvsynClientMedocfromdatetimeimportdatetimed1=datetime(2009,7,6,0,0,0)d2=datetime(2009,7,10,0,0,0)euvsyn=EuvsynClientMedoc()euvsyn_data_list=euvsyn.search(DATES=[d1,d2],NB_RES_MAX=10)euvsyn.get(DATA_LIST=euvsyn_data_list,TARGET_DIR='euvsyn_results',DOWNLOAD_TYPE='TAR')gaia_client_medoc.pyfromsitools2importGaiaClientMedocfromdatetimeimportdatetimed1=datetime(2019,9,2,0,0,0)d2=datetime(2019,9,3,0,0,0)gaia=GaiaClientMedoc()gaia_data_list=gaia.search(DATES=[d1,d2],NB_RES_MAX=10)gaia.get(DATA_LIST=gaia_data_list,TARGET_DIR='gaia_results',DOWNLOAD_TYPE='TAR')sdo_client_medoc.pyfromsitools2importSdoClientMedocfromdatetimeimportdatetimed1=datetime(2020,1,15,0,0,0)d2=datetime(2020,1,15,2,0,0)sdo=SdoClientMedoc()sdo_data_list=sdo.search(DATES=[d1,d2],NB_RES_MAX=10)sdo.get(DATA_LIST=sdo_data_list,TARGET_DIR='sdo_results',DOWNLOAD_TYPE='TAR')soho_client_medoc.pyfromsitools2importSohoClientMedocfromdatetimeimportdatetimed1=datetime(2015,3,31,0,0,0)d2=datetime(2015,4,1,0,0,0)soho=SohoClientMedoc()soho_data_list=soho.search(DATES=[d1,d2],NB_RES_MAX=12)soho.get(DATA_LIST=soho_data_list,TARGET_DIR='soho_results',DOWNLOAD_TYPE='TAR')stereo_client_medoc.pyfromsitools2importStereoClientMedocfromdatetimeimportdatetimed1=datetime(2019,4,4,0,0,0)d2=datetime(2019,4,4,1,0,0)stereo=StereoClientMedoc()stereo_data_list=stereo.search(DATES=[d1,d2],NB_RES_MAX=12)stereo.get(DATA_LIST=stereo_data_list,TARGET_DIR='stereo_results',DOWNLOAD_TYPE='TAR')TestsThe library is provided with tests (unit tests and functional tests).
These tests have been written withpytest. To launch the tests, do the
following:cd pySitools2
py.test .Directory treeThe structure of pySitools2 directory is the following:examples/: examples for using the specialized clients.sitools2/: the pySitools2 module.clients/: specialized clients for different data sets hosted at SiTools2 servers.core/: the module core (objects for low-level SiTools2 API access).test_sitools2/: tests of both the specialized clients and the core packages.