Skip to main content

Python implementation of time-delay interferometry algorithms.

Project description

PyTDI

pipeline status DOI

PyTDI is a Python package that provides a toolset to perform symbolical and numerical time-delay interferometry (TDI) calculations. It can be used to define arbitrary linear combination of time-shifted signals (i.e., combinations), symbolically handle these combinations, and numerically evaluate these combinations against data.

PyTDI also provides ready-to-use standard TDI combinations for the LISA mission.

Contributing

Report an issue

We use the issue-tracking management system associated with the project provided by Gitlab. If you want to report a bug or request a feature, open an issue at https://gitlab.in2p3.fr/LISA/LDPG/wg6_inrep/pytdi/-/issues. You may also thumb-up or comment on existing issues.

Development environment

We strongly recommend to use Python virtual environments.

To setup the development environment, use the following commands:

git clone git@gitlab.in2p3.fr:LISA/LDPG/wg6_inrep/pytdi.git
cd pytdi
python -m venv .
source ./bin/activate
python -m pip install --upgrade pip
python -m pip install -r requirements.txt

Workflow

The project's development workflow is based on the issue-tracking system provided by Gitlab, as well as peer-reviewed merge requests. This ensures high-quality standards.

Issues are solved by creating branches and opening merge requests. Only the assignee of the related issue and merge request can push commits on the branch. Once all the changes have been pushed, the "draft" specifier on the merge request is removed, and the merge request is assigned to a reviewer. They can push new changes to the branch, or request changes to the original author by re-assigning the merge request to them. When the merge request is accepted, the branch is merged onto master, deleted, and the associated issue is closed.

Pylint and pytest

We enforce PEP 8 (Style Guide for Python Code) with Pylint syntax checking, and testing of the code via unit and integration tests with the pytest framework. Both are implemented in the continuous integration system. Only if all tests pass successfully a merge request can be merged.

You can run them locally

pylint pytdi/*.py
python -m pytest

How to cite

By releasing PyTDI as an open source software package we want to foster open science and enable everyone to use it in their research free of charge. However, please keep in mind that developing and maintaining such a tool takes time and effort. Hence, we would appreciate to be associated with you research:

  • Please cite the DOI (see badge above), and acknowledge the authors in any publication that uses PyTDI
  • Do not hesitate to send an email for support and/or collaboration

Contact

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pytdi-1.3.1.tar.gz (26.9 kB view hashes)

Uploaded Source

Built Distribution

pytdi-1.3.1-py3-none-any.whl (35.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page