A Python module for querying the ATNF pulsar catalogue
Project description
# PSRQpy
This module aims to provide a python interface for querying the [ATNF pulsar catalogue](http://www.atnf.csiro.au/people/pulsar/psrcat/).
It is inspired by, and has some minor similarities to, the [`ads`](https://ads.readthedocs.io) module for interfacing with the
[NASA ADS](https://ui.adsabs.harvard.edu/) [API](https://github.com/adsabs/adsabs-dev-api). It is an unofficial
package and is not endorsed or affiliated with the ATNF.
Any comments or suggestions are welcome.
## Installation
To install the code from source clone the git repository and run either:
```
python setup.py install --user
```
to install as a user, or
```
sudo python setup.py install --user
```
to install as root.
The module can also be installed using `pip` with:
```
pip install psrqpy
```
### Requirements
The requirements for installing the code are:
* `six`
* `requests`
* `beautifulsoup4`
* `numpy`
* `astropy`
* `datetime`
The `ads` module is an optional requirement that is needed to get ADS URLs for references.
## Example
A simple query of the catalogue, e.g., to just return all pulsar frequencies, would be:
```
import psrqpy
q = psrqpy.QueryATNF(params='F0')
# get frequencies as an astropy table
t = q.table()
print t['F0']
```
You can query multiply parameters, e.g.:
```
import psrqpy
q = psrqpy.QueryATNF(params=['F0', 'F1', 'RAJ', 'DecJ'])
# get values as an astropy table
t = q.table()
print t['F0']
```
You can query specific pulsars, e.g.:
```
import psrqpy
q = psrqpy.QueryATNF(params=['JName', 'F0', 'F1', 'RAJ', 'DecJ'], psrs=['J0534+2200', 'J0537-6910'])
# get values as an astropy table
t = q.table()
```
You can set [conditions](http://www.atnf.csiro.au/research/pulsar/psrcat/psrcat_help.html?type=normal#condition) for the searches,
e.g.:
```
import psrqpy
q = psrqpy.QueryATNF(params=['Jname', 'f0'], condition='f0 > 100 && f0 < 200', assoc='GC')
```
where `assoc=GC` looks for all pulsars in globular clusters.
If you really want to query the catalogue many times in quick succession it is advisable not to use this module, as
it could result in too much load on the ATNF catalogue's server. Instead it is probably preferable to [download
the catalogue](http://www.atnf.csiro.au/research/pulsar/psrcat/download.html) and query it with the software
provided.
## License
This code is licensed under the [MIT License](http://opensource.org/licenses/MIT).
© Matt Pitkin, 2017
[![PyPI version](https://badge.fury.io/py/psrqpy.svg)](https://badge.fury.io/py/psrqpy)
This module aims to provide a python interface for querying the [ATNF pulsar catalogue](http://www.atnf.csiro.au/people/pulsar/psrcat/).
It is inspired by, and has some minor similarities to, the [`ads`](https://ads.readthedocs.io) module for interfacing with the
[NASA ADS](https://ui.adsabs.harvard.edu/) [API](https://github.com/adsabs/adsabs-dev-api). It is an unofficial
package and is not endorsed or affiliated with the ATNF.
Any comments or suggestions are welcome.
## Installation
To install the code from source clone the git repository and run either:
```
python setup.py install --user
```
to install as a user, or
```
sudo python setup.py install --user
```
to install as root.
The module can also be installed using `pip` with:
```
pip install psrqpy
```
### Requirements
The requirements for installing the code are:
* `six`
* `requests`
* `beautifulsoup4`
* `numpy`
* `astropy`
* `datetime`
The `ads` module is an optional requirement that is needed to get ADS URLs for references.
## Example
A simple query of the catalogue, e.g., to just return all pulsar frequencies, would be:
```
import psrqpy
q = psrqpy.QueryATNF(params='F0')
# get frequencies as an astropy table
t = q.table()
print t['F0']
```
You can query multiply parameters, e.g.:
```
import psrqpy
q = psrqpy.QueryATNF(params=['F0', 'F1', 'RAJ', 'DecJ'])
# get values as an astropy table
t = q.table()
print t['F0']
```
You can query specific pulsars, e.g.:
```
import psrqpy
q = psrqpy.QueryATNF(params=['JName', 'F0', 'F1', 'RAJ', 'DecJ'], psrs=['J0534+2200', 'J0537-6910'])
# get values as an astropy table
t = q.table()
```
You can set [conditions](http://www.atnf.csiro.au/research/pulsar/psrcat/psrcat_help.html?type=normal#condition) for the searches,
e.g.:
```
import psrqpy
q = psrqpy.QueryATNF(params=['Jname', 'f0'], condition='f0 > 100 && f0 < 200', assoc='GC')
```
where `assoc=GC` looks for all pulsars in globular clusters.
If you really want to query the catalogue many times in quick succession it is advisable not to use this module, as
it could result in too much load on the ATNF catalogue's server. Instead it is probably preferable to [download
the catalogue](http://www.atnf.csiro.au/research/pulsar/psrcat/download.html) and query it with the software
provided.
## License
This code is licensed under the [MIT License](http://opensource.org/licenses/MIT).
© Matt Pitkin, 2017
[![PyPI version](https://badge.fury.io/py/psrqpy.svg)](https://badge.fury.io/py/psrqpy)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
psrqpy-0.1.2-py2.py3-none-any.whl
(16.6 kB
view hashes)
Close
Hashes for psrqpy-0.1.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1efa3d4cdb5e29ee0fcffa08c858e663b79c3fc0a28b0fd2167795ca12a410c5 |
|
MD5 | 680d3e408013d3234a228c9d80889b98 |
|
BLAKE2b-256 | 135dd5fef4660d2d73364e3c9988ba1c85f4c9dbba3e3f01df4dc221efc1b980 |