Skip to content
Snippets Groups Projects
Commit 095ca9dc authored by Rutger van Haasteren's avatar Rutger van Haasteren
Browse files

Initial code import

parents
No related branches found
No related tags found
No related merge requests found
PINT_LOGO_128trans.gif

5.06 KiB

.. image:: https://github.com/nanograv/PINT/blob/master/docs/logo/PINT_LOGO_128trans.png
:alt: PINT Logo
:align: right
Pylk
====
.. image:: https://github.com/nanograv/pint/workflows/CI%20Tests/badge.svg
:target: https://github.com/nanograv/pint/actions
:alt: Actions Status
.. image:: https://codecov.io/gh/nanograv/PINT/branch/master/graph/badge.svg?token=xIOFqcKKrP
:target: https://codecov.io/gh/nanograv/PINT
:alt: Coverage
.. image:: https://readthedocs.org/projects/nanograv-pint/badge/?version=latest
:target: https://nanograv-pint.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
.. image:: https://img.shields.io/badge/arXiv-2012.00074-red
:target: https://arxiv.org/abs/2012.00074
:alt: PINT Paper on arXiv
.. image:: https://img.shields.io/badge/ascl-1902.007-blue.svg?colorB=262255
:target: https://www.ascl.net/1902.007
:alt: PINT on ASCL
.. image:: https://img.shields.io/pypi/l/pint-pulsar
:target: https://github.com/nanograv/PINT/blob/master/LICENSE.md
:alt: License:BSD
.. image:: https://img.shields.io/badge/code_of_conduct-Contributor_Covenant-blue.svg
:target: https://github.com/nanograv/PINT/blob/master/CODE_OF_CONDUCT.md
:alt: Code of Conduct
Pylk: the pint GUI
------------------
Pylk is a Qt based GUI for PINT, the python pulsar timing package
based on python and modern libraries.
It is still in active development, and it resembles the pintk GUI.
However, it holds the promise to make more advanced methods of
interaction with PINT available to the user.
IMPORTANT Notes!
----------------
PINT/Pylk requires `longdouble` arithmetic within `numpy`, which is currently not supported natively on M1 Macs (e.g., with the `ARM64 conda build <https://conda-forge.org/blog/posts/2020-10-29-macos-arm64/>`_). So it may be better to install the standard `osx-64` build and rely on Rosetta.
Installing
----------
Install using ``python setup.py develop``
Using
-----
See the online PINT documentation_. Specifically:
* `tutorials <https://nanograv-pint.readthedocs.io/en/latest/tutorials.html>`_
* `API reference <https://nanograv-pint.readthedocs.io/en/latest/reference.html>`_
* `How to's for common tasks <https://github.com/nanograv/PINT/wiki/How-To>`_
Are you a NANOGrav member? Then join the #pint channel in the NANOGrav slack.
If you have tasks that aren't covered in the material above, you can
email rutger@vhaastaeren.com or one of the people below:
* Rutger van Haasteren (rutger@vhaasteren)
Source diff could not be displayed: it is too large. Options to address this: view the blob.
#!/usr/bin/python
# -*- coding: utf-8 -*-
# vim: tabstop=4:softtabstop=4:shiftwidth=4:expandtab
"""
OpenSomething: Qt widget to open a file
"""
from PyQt5.QtWidgets import (
QWidget,
QVBoxLayout,
QPushButton,
QFileDialog,
)
class OpenSomethingWidget(QWidget):
"""
The open-something Widget. First shown in the main window, if it is not
started with a command to open any file to begin with. This way, we don't
have to show an empty graph
"""
def __init__(self, parent=None, openFile=None, **kwargs):
super(OpenSomethingWidget, self).__init__(parent, **kwargs)
self.parent = parent
self.openFileFn = openFile
self.initOSWidget()
def initOSWidget(self):
"""
Initialise the widget with a button and a label
"""
self.vbox = QVBoxLayout()
button = QPushButton("Open a file...")
button.clicked.connect(self.openFile)
self.vbox.addWidget(button)
self.setLayout(self.vbox)
def openFile(self):
"""
Display the open file dialog, and send the parent window the order to
open the file
"""
if not self.openFileFn is None:
filename = QFileDialog.getOpenFileName(self, 'Open file', '~/')
self.openFileFn(filename)
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
# pyproject.toml file specified at the root of the directory
[build-system]
requires = ["setuptools>=42", "wheel"] # PEP 508 specifications.
build-backend = "setuptools.build_meta"
setup.cfg 0 → 100644
[metadata]
name = pylk-pulsar
description = A GUI for pint-pulsar
long_description = file: README.rst
long_description_content_type = text/x-rst
author = Rutger van Haasteren
author_email = rutger@vhaasteren.com
url = https://github.com/vhaasteren/pylk
project_urls =
Documentation = https://nanograv-pint.readthedocs.io/
license = License :: OSI Approved :: BSD License
classifier =
Intended Audience :: Science/Research
License :: OSI Approved :: BSD License
Operating System :: OS Independent
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Topic :: Scientific/Engineering :: Astronomy
Topic :: Software Development :: Libraries :: Python Modules
[options]
zip_safe = False
packages = find:
package_dir =
= pylk
include_package_data = True
python_requires = >=3.8
install_requires =
astropy>=4.0,!=4.0.1,!=4.0.1.post1
numpy>=1.17.0
scipy>=0.18.1
jplephem>=2.6
matplotlib>=1.5.3
uncertainties
loguru
[options.packages.find]
where = pylk
[options.package_data]
* = *.*
[options.entry_points]
console_scripts =
pylk = scripts.pylk:main
# See the docstring in versioneer.py for instructions. Note that you must
# re-run 'versioneer.py setup' after changing this section, and commit the
# resulting files.
#[versioneer]
#VCS = git
#style = pep440
#versionfile_source = src/pint/extern/_version.py
#versionfile_build = pint/extern/_version.py
#tag_prefix = ''
#parentdir_prefix = 'pint-'
#[bdist_wheel]
#universal = 0
#
#[aliases]
#test=pytest
#
#[flake8]
#max-line-length = 100
## This is an inappropriate non-error for slicing
#extend-ignore = E203,
# E265
## __init__ doesn't need a docstring, should be in the class
# D107
## Other magic methods don't necessarily need docstings, what they do is well-defined
# D105
## Style issues, suppress these for a full flake8 run
## E111,E114,E115,E116,E122,E123,E124,E125,E126,E127,E128,E129,E131
## E201,E202,E203,E221,E222,E225,E226,E227,E228,E231,E241,E251,E261,E262,E265,E266,E271,E272
## E301,E302,E303,E305,E306
## E401,E501,E502
## E701,E702,E703,E704,E741
## W291,W293,W391,W503,W504
## D100,D101,D102,D103,D104,D105
## D200,D202,D204,D205,D207,D208,D209,D210
## D300
## D400,D401,D402,D403,D412,D413
## RST201,RST202,RST203,RST210,RST212,RST299
## RST301,RST304,RST306
## Ugh people want to break these rules
# N802 # Function names should be lowercase
# N803 # argument name should be lowercase
# N806 # variable should be lowercase
#
#statistics = True
#exclude =
# docs/conf.py
# versioneer.py
# pint/mcmc_fitter.py
#rst-roles =
# class,
# module,
# func,
#
#[isort]
#multi_line_output = 3
#line_length = 88
#skip_glob =
# src/pint/extern/*
#include_trailing_comma = True
#combine_as_imports = True
from setuptools import setup
#import versioneer
# If you are surprised by how empty this file is, that is because almost all
# of the information that was here has been moved to the file setup.cfg
#setup(version=versioneer.get_version(), cmdclass=versioneer.get_cmdclass())
setup()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment