Skip to main content

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

Metadata

Release files for pytdi 2.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pytdi 2.2.1
File Size Uploaded
pytdi-2.2.1.tar.gz 460.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pytdi 2.2.1
File Interpreter ABI Platform
pytdi-2.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 502.7 kB

Release files / pytdi-2.2.1.tar.gz

Download URL pytdi-2.2.1.tar.gz
Size 460.7 kB
Tags Source
SHA-256 checksum
How to use checksums
f53a73cd4bb43022987f0f4bef93242bbbfc7c364e42d88c729d5f6b7a281ef0
BLAKE2b-256 checksum
How to use checksums
b62a72f48650de28aefdad07090c157d237ab133cee58841cc7a45f80806668f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / pytdi-2.2.1-py3-none-any.whl

Download URL pytdi-2.2.1-py3-none-any.whl
Size 42.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
eb538a105330c8862f55080f8e6c4de5ed4b3236fa3e4188d4d3571cbcc9fae4
BLAKE2b-256 checksum
How to use checksums
276c7dc4d16d32b5d133c8dbd4aeee11cba7c677dc18045f00253ac382897fad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

2.2.1 This release

2 release files

2.2.0

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.4.0

2 release files

1.3.1

2 release files

1.3

2 release files

1.2.1

1 release file

1.2

1 release file

1.1

2 release files

1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page