Skip to main content

Manipulate and evaluate time-delay interferometry combinations.

Project description

PyTDI

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 use uv as a package and dependency manager.

To setup your development environment, first clone the repository.

git clone git@gitlab.in2p3.fr:LISA/LDPG/wg6_inrep/pytdi.git
cd pytdi

We recommend you install the pre-commit hooks with

uv run pre-commit install

You can then run commands with

uv run <YOUR-COMMAND>

To manually create your virtual environement with the PyTDI dependencies, use

uv venv
uv sync

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, mypy, black 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. We use mypy as static type checker, and Black as the syntax formatter.

All in the continuous integration system and pre-commit hooks. Only if all tests pass successfully a merge request can be merged.

VS Code tasks for each of these tools are avaialble. Open the command palette, choose "Run task", and choose a task to run.

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

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-2.1.0.tar.gz (453.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pytdi-2.1.0-py3-none-any.whl (36.7 kB view details)

Uploaded Python 3

File details

Details for the file pytdi-2.1.0.tar.gz.

File metadata

  • Download URL: pytdi-2.1.0.tar.gz
  • Upload date:
  • Size: 453.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.18

File hashes

Hashes for pytdi-2.1.0.tar.gz
Algorithm Hash digest
SHA256 0542967abe3756678035f7ea0c0afcfef63e22c0d03dc7d57b3d7bb83189e5a3
MD5 82e835eff6040d30d8ddf1ff420bb660
BLAKE2b-256 36bd5da701cc4c76a58d0dd5d38d2f620c14c4dd92d8ffef61fdb9011c28c7a7

See more details on using hashes here.

File details

Details for the file pytdi-2.1.0-py3-none-any.whl.

File metadata

  • Download URL: pytdi-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 36.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.18

File hashes

Hashes for pytdi-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7ccd7e274a1a5058683fcec03e5d739ad5d22e9cbc648d9e2049d03db1f96d8c
MD5 14f70c21f91ba9c7dbc3c2de6a03c025
BLAKE2b-256 d2af5826d0679fc396df899cf4561811c1507fd26dd726296d274b33a97a8644

See more details on using hashes here.

Supported by

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