Skip to main content

Python package to compute Finite Time Lyapunov Exponents (FTLE).

Project description

pyFTLE: A Python Package for Computing Finite-Time Lyapunov Exponents

Python Code Quality Python Code Quality Documentation Status

DOI

pyFTLE computes hyperbolic Lagrangian Coherent Structures (LCS) from velocity flow field data using Finite-Time Lyapunov Exponents (FTLE).


OVERVIEW

pyFTLE is a modular, high-performance package for computing FTLE fields. It tracks particle positions over time by integrating trajectories in a velocity field. Then, the flow map Jacobian is computed, and the largest eigenvalue of the Cauchy-Green deformation tensor determines the FTLE field.

FTLE field over airfoil
Figure 1: FTLE field over an airfoil.
3D ABC flow FTLE field
Figure 2: FTLE field of a 3D ABC flow.

Key Features

  • Supports both 2D and 3D velocity fields (structured or unstructured).
  • Parallel computation of FTLE fields.
  • Flexible particle integration strategies.
  • Multiple velocity interpolation methods for particle positions.
  • SIMD-optimized C++ backend for efficient 2D and 3D interpolations on regular grids.
  • Extensible design supporting multiple file formats.
  • Modular, well-structured codebase for easy customization and extension.

INSTALLATION

Requirements

  • Python 3.10+

Using UV (Recommended)

UV is a modern Python package and project manager that simplifies dependency management.

Installation Steps:

  1. Clone the repository:
    git clone https://github.com/las-unicamp/pyFTLE.git
    cd pyFTLE
    
  2. Install the package (this automatically installs the SIMD-optimized C++/Eigen backend):
    uv tool install .
    

After installation, pyftle is available globally. This means you can import it in Python scripts or notebooks using:

import pyftle

and also run the CLI tool directly from the terminal with:

pyftle -c config.yaml

To uninstall, just run uv tool uninstall pyftle

Using Docker

You can run pyFTLE inside a Docker container without installing dependencies locally. The Docker image includes all required dependencies and the compiled C++ extension.

Building the Docker Image

From the repository root directory:

docker pull lasunicamp/pyftle:latest

Refer to section Running pyFTLE with Docker for more details about the Docker workflow.


USAGE

The code features both a clean, CLI-oriented architecture (utilizing configuration files and file-based I/O) and a lightweight, notebook-friendly API. The latter allows you to run small-scale examples entirely in memory, eliminating the need to handle intermediate files, which makes it perfect for demonstrating in Jupyter notebooks. Several such notebooks, located in the examples/ folder, combine analytical velocity fields with visual explanations to illustrate the FTLE solver’s execution.

[!TIP] For production runs, it is often more practical to read velocity and coordinate data directly from the file system (HD/SSD). In this case, the file-based CLI offers greater convenience and flexibility.

[!NOTE] At present, the solver accepts MATLAB (.mat) files as input and exports results in MATLAB (.mat) or VTK (.vts, .vtp) formats. File I/O is implemented using SciPy, so MATLAB itself is not required. The modular I/O subsystem allows developers to integrate additional file formats with minimal changes.

[!IMPORTANT] Input data is provided in MATLAB file format, grouped into three types: velocity, coordinate, and particle files.

  • Velocity files contain the velocity field data, where each scalar component (e.g., velocity in the x, y, and z directions) is provided in separate columns. Each column header must be properly labeled (velocity_x, velocity_y, and velocity_z for 3D cases), with the corresponding scalar velocity values at each point in the grid.

  • Coordinate files specify the positions where the velocity measurements were taken. The headers must correspond to the spatial coordinates (coordinate_x, coordinate_y, and coordinate_z for 3D cases). These coordinates map directly to the points where the velocity field data in the corresponding velocity file is measured.

  • Particle files define groups of neighboring particles used to calculate the FTLE field and more precisely compute the deformation of the Cauchy-Green tensor. In contrast to the other files, each row in the particle file contains a set of coordinates (a tuple of [float, float] for 2D, or [float, float, float] for 3D). The columns specify the relative positions of particles in the group, and the values represent the coordinates of neighboring particles. These tuples help to define the spatial relationships that are critical for computing tensor deformations in the flow field. The neighboring particles are illustrated in the accompanying figure.

This structure ensures that the velocity data, coordinate information, and neighboring particle relations are clearly organized and ready for FTLE computation.

Particles Group Image
Figure 3: A single group of neighboring particles.
Particle tracking over airfoil
Figure 4: Particles centroids being tracked.

Instead of passing individual MATLAB files directly to the solver, the interface expects a set of plain text (.txt) files—one for each data type: velocity, coordinate, and particle data. Each of these .txt files should contain a list of file paths to the corresponding .mat files, with one path per line. For example, the velocity .txt file will list all the velocity MATLAB files (one per line), and similarly for the coordinate and particle .txt files. This approach allows the solver to process sequences of time-resolved data more easily and keeps the input interface clean and scalable.

[!TIP]

  • The create_list_of_input_files.py facilitates the creation of these .txt files.
  • An complete example of file-based I/O workflow is provided in the Jupyter Notebooks in the example/ folder.

Running the code via CLI

The script requires several parameters, which can be passed through the command line or a configuration file (config.yaml) located in the root directory. Among these parameters are .txt files that indicates the location of the input files in Matlab format (the velocity field, coordinates and particles).

[!TIP] Once the parameters are properly set, the solver can be executed from the root directory with the following command:

pyftle -c config.yaml

Alternatively, you can run the script from the CLI as:

pyftle \
    --experiment_name "my_experiment" \
    --list_velocity_files "velocity_files.txt" \
    --list_coordinate_files "coordinate_files.txt" \
    --list_particle_files "particle_files.txt" \
    --snapshot_timestep 0.1 \
    --flow_map_period 5.0 \
    --integrator "rk4" \
    --interpolator "cubic" \
    --num_processes 4 \
    --output_format "vtk" \
    --flow_grid_shape 100,100,100 \  # comment this line for unstructured data
    --particles_grid_shape 100,100,100  # comment this line for unstructured data

For VSCode users, the script execution can be streamlined via .vscode/launch.json.


To see the complete list of command-line options and their descriptions, simply run:

pyftle --help
# or equivalently
pyftle -h

This will display all available parameters, their default values, and usage examples directly in the terminal.

⚙️ Full List of CLI Parameters (click to expand)

Required Parameters

Parameter Type Description
experiment_name str Name of the subdirectory where the FTLE fields will be saved.
list_velocity_files str Path to a text file listing velocity data files.
list_coordinate_files str Path to a text file listing coordinate files.
list_particle_files str Path to a text file listing particle data files.
snapshot_timestep float Timestep between snapshots (positive for forward-time FTLE, negative for backward-time FTLE).
flow_map_period float Integration period for computing the flow map.
integrator str Time-stepping method (euler, ab2, rk4).
interpolator str Interpolation method (cubic, linear, nearest, grid).
num_processes int Number of workers in the multiprocessing pool. Each worker computes the FTLE of a snapshot.
output_format str Output format (mat, vtk).

Optional Parameters

Parameter Type Description
flow_grid_shape list[int] Grid shape for structured velocity measurements. It must be a comma-separated list of integers.
particles_grid_shape list[int] Grid shape for structured particle points. It must be a comma-separated list of integers.

Interpolation behavior depends on whether your velocity data is structured or unstructured:

  • If flow_grid_shape is not provided, the velocity field is treated as unstructured. In this case, you can use the cubic, linear, or nearest interpolators, which rely on Delaunay triangulations. This approach offers flexibility but comes with higher computational cost.

  • If flow_grid_shape is provided, the velocity field is considered structured. You can still choose cubic, linear, or nearest, but interpolation becomes significantly faster because it exploits the rectilinear grid structure of the data.

  • For maximum performance on regular structured grids, pyFTLE includes custom bi- and trilinear interpolators implemented in C++/Eigen, achieving up to 10× speedup compared to SciPy’s implementation. To use this optimized backend, specify flow_grid_shape and set interpolator to grid.

The parameter particles_grid_shape is optional and mainly affects how results are written to disk. If the particle centroids form a regular grid, defining this parameter enables structured output—making post-processing and visualization more straightforward.

FTLE Computation Details

The parameters snapshot_timestep and flow_map_period together define the temporal window used to compute each FTLE field. The number of FTLE fields that will be produced is determined by the number of available velocity snapshots and the integration period of the flow map:

N_FTLE = N_snapshots - (flow_map_period / snapshot_timestep)

For example, suppose:

  • list_velocity_files lists 100 velocity files,
  • snapshot_timestep = 0.01, and
  • flow_map_period = 0.1.

In this case, each FTLE field requires 10 consecutive velocity snapshots to integrate the flow map, so only 90 FTLE fields will be computed (one for each valid starting snapshot).

This ensures that the temporal integration for each FTLE remains consistent with the specified flow map period.

Running pyFTLE with Docker

(click to expand)

Run the pyftle CLI tool directly:

docker run --rm lasunicamp/pyftle:latest --help

Run with a configuration file (mount your data directory):

docker run --rm \
    -v /path/to/your/data:/data \
    -w /data \
    lasunicamp/pyftle:latest -c config.yaml

Run with command-line arguments:

docker run --rm \
    -v /path/to/your/data:/data \
    -w /data \
    lasunicamp/pyftle:latest \
    --experiment_name "my_experiment" \
    --list_velocity_files "velocity_files.txt" \
    --list_coordinate_files "coordinate_files.txt" \
    --list_particle_files "particle_files.txt" \
    --snapshot_timestep 0.1 \
    --flow_map_period 5.0 \
    --integrator "rk4" \
    --interpolator "cubic" \
    --num_processes 4 \
    --output_format "vtk"

Interactive Usage

Start an interactive shell inside the container:

docker run -it --rm --entrypoint sh lasunicamp/pyftle:latest

Inside the container, you can run:

pyftle --help
python -c "import pyftle; from pyftle import AnalyticalSolver"

[!TIP] Use volume mounts (-v) to access your data files and configuration files from inside the container. The -w flag sets the working directory inside the container.

Examples:

# Mount current directory and set it as working directory
docker run --rm \
    -v $(pwd):/data \
    -w /data \
    lasunicamp/pyftle:latest -c config.yaml

# Mount specific data directory
docker run --rm \
    -v /path/to/velocity/data:/data/velocity \
    -v /path/to/output:/data/output \
    -w /data \
    lasunicamp/pyftle:latest \
    --experiment_name "my_experiment" \
    --list_velocity_files "velocity/velocity_files.txt" \
    --list_coordinate_files "velocity/coordinate_files.txt" \
    --list_particle_files "velocity/particle_files.txt" \
    --snapshot_timestep 0.1 \
    --flow_map_period 5.0

# Mount configuration file from host
docker run --rm \
    -v $(pwd)/config.yaml:/app/config.yaml \
    -w /app \
    lasunicamp/pyftle:latest -c config.yaml

REFERENCES

A list of scientific works using pyFTLE includes:

  1. de Souza, Miotto, Wolf. Active flow control of vertical-axis wind turbines: Insights from large-eddy simulation and finite-time resolvent analysis. Journal of Fluids and Structures, 2025.
  2. de Souza, Wolf, Safari, Yeh. Control of Deep Dynamic Stall by Duty-Cycle Actuation Informed by Stability Analysis. AIAA Journal, 2025.
  3. Lui, Wolf. Interplay between streaks and vortices in shock-boundary layer interactions with conditional bubble events over a turbine airfoil. Physical Review Fluids, 2025.
  4. Lui, Wolf, Ricciardi, Gaitonde. Analysis of Streamwise Vortices in a Supersonic Turbine Cascade. AIAA Aviation Forum and Ascend, 2024.

LICENSE

This project is licensed under the MIT License.


CONTRIBUTING

When contributing to this repository, please make sure to follow the guidelines from the CONTRIBUTING file.

To make sure the Language Server Protocol (LSP) is going to work as expected, one can install the package as follows:

  1. Install dependencies using UV:
    uv sync --all-extras
    
  2. Install src/ directory as an editable package:
    uv pip install -e '.[dev,test]' --verbose
    
    • This installs src/ as an editable package, allowing you to import modules directly and modify the code during development.
    • The command also automatically installs the SIMD-optimized C++/Eigen backend.
    • Installing in editable mode helps avoid common import issues during development.

We use pytest for unit tests. To run the entire test suit, we recommend the following command in the base directory of the repository:

PYTHONPATH=${PWD} uv run python -m pytest

For Developers Using Docker

If you are using Docker, you might want to build the docker image locally:

docker build -t pyftle:latest .

All commands shown in section Running pyFTLE with Docker will work, but we need to remove the lasunicamp/ from it to tell Docker to use the source code version and not the version from the Docker Hub.


FUNDING

The authors acknowledge Fundação de Amparo à Pesquisa do Estado de São Paulo, FAPESP, for supporting the present work under research grants No. 2013/08293-7, 2019/17874-0, 2021/06448-0, 2022/09196-4, 2022/08567-9, and 2024/20547-9. Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq) is also acknowledged for supporting this research under grant No. 304320/2024-2.


MAIN DEVELOPERS

  • Renato Fuzaro Miotto
  • Lucas Feitosa de Souza
  • William Roberto Wolf

For bug reports, feature requests, or contributions, please open an issue or submit a pull request on GitHub.

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

pyftle-1.0.2.tar.gz (28.5 MB view details)

Uploaded Source

Built Distributions

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

pyftle-1.0.2-cp313-cp313-win_amd64.whl (117.3 kB view details)

Uploaded CPython 3.13Windows x86-64

pyftle-1.0.2-cp313-cp313-win32.whl (112.0 kB view details)

Uploaded CPython 3.13Windows x86

pyftle-1.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (138.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pyftle-1.0.2-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl (143.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ i686

pyftle-1.0.2-cp313-cp313-macosx_11_0_arm64.whl (105.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pyftle-1.0.2-cp313-cp313-macosx_10_13_x86_64.whl (110.1 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

pyftle-1.0.2-cp312-cp312-win_amd64.whl (117.3 kB view details)

Uploaded CPython 3.12Windows x86-64

pyftle-1.0.2-cp312-cp312-win32.whl (112.0 kB view details)

Uploaded CPython 3.12Windows x86

pyftle-1.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (138.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pyftle-1.0.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (143.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686

pyftle-1.0.2-cp312-cp312-macosx_11_0_arm64.whl (105.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyftle-1.0.2-cp312-cp312-macosx_10_13_x86_64.whl (110.1 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

pyftle-1.0.2-cp311-cp311-win_amd64.whl (116.0 kB view details)

Uploaded CPython 3.11Windows x86-64

pyftle-1.0.2-cp311-cp311-win32.whl (111.3 kB view details)

Uploaded CPython 3.11Windows x86

pyftle-1.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (138.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pyftle-1.0.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (143.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686

pyftle-1.0.2-cp311-cp311-macosx_11_0_arm64.whl (105.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyftle-1.0.2-cp311-cp311-macosx_10_9_x86_64.whl (109.7 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

pyftle-1.0.2-cp310-cp310-win_amd64.whl (115.0 kB view details)

Uploaded CPython 3.10Windows x86-64

pyftle-1.0.2-cp310-cp310-win32.whl (2.0 MB view details)

Uploaded CPython 3.10Windows x86

pyftle-1.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pyftle-1.0.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (2.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

pyftle-1.0.2-cp310-cp310-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pyftle-1.0.2-cp310-cp310-macosx_10_9_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file pyftle-1.0.2.tar.gz.

File metadata

  • Download URL: pyftle-1.0.2.tar.gz
  • Upload date:
  • Size: 28.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyftle-1.0.2.tar.gz
Algorithm Hash digest
SHA256 0728163289d3fa0a8d556990783c80f7eba54c25fd283a5c311c5a814cd6b82b
MD5 76e03f9777b234a0de81a3a8b5a23230
BLAKE2b-256 e96ac37419641714f8f011977daf687600a2c97cee5ada9e59afa767c4e5d906

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.2.tar.gz:

Publisher: publish.yaml on las-unicamp/pyFTLE

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyftle-1.0.2-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pyftle-1.0.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 117.3 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyftle-1.0.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 bdb1bdc7ecff3e9219356050c9a84ef02f00bd45484b3693d0bd3394014ef7c7
MD5 d255dfba4455beafdc83ea283795ca7d
BLAKE2b-256 880b09302510a79da7a2d0067b525fcae0e2cfe903a3457faac73c4b2b86d0dc

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.2-cp313-cp313-win_amd64.whl:

Publisher: publish.yaml on las-unicamp/pyFTLE

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyftle-1.0.2-cp313-cp313-win32.whl.

File metadata

  • Download URL: pyftle-1.0.2-cp313-cp313-win32.whl
  • Upload date:
  • Size: 112.0 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyftle-1.0.2-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 3d356037e706cee885c3dc3bf7ba07fcae0abf20aee992dac6293135b50367d9
MD5 3b300407b22d97c185e98a7d47948a13
BLAKE2b-256 d03193fb98b5e9cc838aaaa1e932a5c84f50b7c87b953e8d363274be464e4039

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.2-cp313-cp313-win32.whl:

Publisher: publish.yaml on las-unicamp/pyFTLE

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyftle-1.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyftle-1.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4ce70ccef775fc3e8d4892aa26669ed2490ecec4e912c242183257270cc69826
MD5 db87e3eb3a1190e913810cc71731a550
BLAKE2b-256 3e732047fbae46b7a9ae38e52e8e75db5ecf1adb5d1eafadae11151cc6228e76

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yaml on las-unicamp/pyFTLE

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyftle-1.0.2-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pyftle-1.0.2-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 c5f988cbe38cc936803fa0f32ea7300b2f334e8376b4603cefc2ecedceeb6e3d
MD5 464fae59ad5c275bd5918321d55a7337
BLAKE2b-256 a088701e079b6b676f21c40885220b46c7b55b0fbb6a9c4b2d40975a88365a35

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.2-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: publish.yaml on las-unicamp/pyFTLE

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyftle-1.0.2-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyftle-1.0.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a435ab95e77bb5994b33c48c11b4b59adf64336706b6868cf67fa22cf4394738
MD5 1d9dac1e4068c73dd31c175539f68981
BLAKE2b-256 4ad467d5e861522b5b05dae17b4a69dc41c96b82bba81dcf383aa89e4f55245f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.2-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish.yaml on las-unicamp/pyFTLE

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyftle-1.0.2-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyftle-1.0.2-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 5392f540f282513692f64fc7d919c0975653379748f5002d031afa16b44cdc52
MD5 f09ae717c7b995c9864b009698535343
BLAKE2b-256 39cedaf84463aceb5841d94a86cbfbff1b58ed9a410413c773eb8ef7b9047586

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.2-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: publish.yaml on las-unicamp/pyFTLE

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyftle-1.0.2-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pyftle-1.0.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 117.3 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyftle-1.0.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4d63641c831480ae3bd7e7dd6561a0bfea02607e61506a9f4c56e5851612d734
MD5 8dee154c5363fdd24b2c7183950bafc2
BLAKE2b-256 67f8eadf9e78c80c2a81204644cbc1129dec13e785c6f66dc4fc5f1301c0ea1a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.2-cp312-cp312-win_amd64.whl:

Publisher: publish.yaml on las-unicamp/pyFTLE

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyftle-1.0.2-cp312-cp312-win32.whl.

File metadata

  • Download URL: pyftle-1.0.2-cp312-cp312-win32.whl
  • Upload date:
  • Size: 112.0 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyftle-1.0.2-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 691850d366613eca0ca18d302ac8348e04a77b0346d183a7e8a68e8a68b6f667
MD5 da1219a514af689f943fe5fb7e579692
BLAKE2b-256 11890ae1df1a434d4bcd9d4b8c790572581e8b473ce49fedb05021a164921074

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.2-cp312-cp312-win32.whl:

Publisher: publish.yaml on las-unicamp/pyFTLE

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyftle-1.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyftle-1.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 177ea0adaca5b375b1cb324db53eac18b3a9b89489bd3de130ce8bf785d7f214
MD5 d3d3d353c4124d1645a182ea0426139a
BLAKE2b-256 ac9daf01f0ea808a10822f9758d61696a26ae4f31a4743d5bc75e7887818a860

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yaml on las-unicamp/pyFTLE

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyftle-1.0.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pyftle-1.0.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 396b6a99acf3c4b67647b031557f5bf9e6385c127767a3cffe870539814110fb
MD5 dd08096ffd256df7998228cd6bf10054
BLAKE2b-256 847c1095eaf175e516f32182de3e86373d17e569f82e96a0ff19e2312e6cc848

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: publish.yaml on las-unicamp/pyFTLE

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyftle-1.0.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyftle-1.0.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4c16d491da9fc85d3cbc16876a08010654f767f369dacb2b04120c6b1fa4e9eb
MD5 6a0319d112ace7d3db105bff65b573b9
BLAKE2b-256 4ebc1b708c6bc137434b7af41843daee6f42d3456f40298a6f7e911f34785365

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.2-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yaml on las-unicamp/pyFTLE

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyftle-1.0.2-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyftle-1.0.2-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 2b0de3c14e800f2e08004da3844ef1a0921dbb3a41335e7d74b1d600bb0dd50f
MD5 407f15cecc88e81270489255dab77e84
BLAKE2b-256 fb014499cca69877bd2fa7623ecde474a629298847ca653a62406590ae704389

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.2-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: publish.yaml on las-unicamp/pyFTLE

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyftle-1.0.2-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pyftle-1.0.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 116.0 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyftle-1.0.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 11d10baab8194cae7b62a770be0f87bb22aed788b726d6f361f922fe1863304d
MD5 b1d0e0a828a9319f3e406515d33b7c29
BLAKE2b-256 abfae00deec90087fd6347dd0c46bb6efd7e72f18ab699c3c0142d61690d9e78

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.2-cp311-cp311-win_amd64.whl:

Publisher: publish.yaml on las-unicamp/pyFTLE

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyftle-1.0.2-cp311-cp311-win32.whl.

File metadata

  • Download URL: pyftle-1.0.2-cp311-cp311-win32.whl
  • Upload date:
  • Size: 111.3 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyftle-1.0.2-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 e7070a2a0349f2c32b4101cdbb4706ed78a72a3168587b54537d779cf51d55a9
MD5 8caf5da6c7fe9d948be8b0f6c78f0c35
BLAKE2b-256 f4f49d5ac5ee382d584a89a96b96e93e9f7c5c137a848640e2ed29c511c83b1f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.2-cp311-cp311-win32.whl:

Publisher: publish.yaml on las-unicamp/pyFTLE

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyftle-1.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyftle-1.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 872942ce1c3b0cfb946c2a36dab90aa719efb44b43f418eaec3c5988aa403d0e
MD5 f8570ba8b7486f766f69b254a53a8146
BLAKE2b-256 2177495f66958daab83d4c5498e4cbf37174d13ab595ce5528e578cb74de609b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yaml on las-unicamp/pyFTLE

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyftle-1.0.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pyftle-1.0.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 057feb852ff1b562453923fbb6c4dd59e752ee17b1455bc6424b459f54f37bf9
MD5 f4e2b321849d49f9e1abb3a6d0545ed5
BLAKE2b-256 8b8b826ef4adf8f1c04d41a07f933076dccb7dfa5e100b7a8ea3565d966ecb7c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: publish.yaml on las-unicamp/pyFTLE

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyftle-1.0.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyftle-1.0.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 37a2541b5b428cc86ba7ee5b37ec85fc4656efb78c54690f51c06a25d3296278
MD5 658f7d1b55c63134c98537cfec7ab603
BLAKE2b-256 12454b282c10785fe6aaabd164b893fac3e3d2a5ac08a26ba79dbbee72aefbb0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.2-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yaml on las-unicamp/pyFTLE

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyftle-1.0.2-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyftle-1.0.2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 61638d8de5178d16f71041fba10a8b5bfa025d5a6cc958588959f329ed78cb07
MD5 4adc35555910aa773b4cef23dd1e09fa
BLAKE2b-256 50f7a4667a0f9b59413c22c6a987f4763bd88bf36c82f48b17068512cd4737b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.2-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: publish.yaml on las-unicamp/pyFTLE

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyftle-1.0.2-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pyftle-1.0.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 115.0 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyftle-1.0.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4ab343c3fcdc4abde36663606b9135167115785ed0159bfd519dc9ad4226e3bb
MD5 3c56fcc6b821b0d699fcf12548a409c8
BLAKE2b-256 82d2724bbb507a405badaad02158012b2cc5f007ac7ac6404ac7d8f5cb140509

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.2-cp310-cp310-win_amd64.whl:

Publisher: publish.yaml on las-unicamp/pyFTLE

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyftle-1.0.2-cp310-cp310-win32.whl.

File metadata

  • Download URL: pyftle-1.0.2-cp310-cp310-win32.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyftle-1.0.2-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 83d1dadf8f130e0270ec218f9e1b5ab2ab458aa04027a1d1046d7d5e43dd2757
MD5 7f02497e25132a452a06bfb0db44d13e
BLAKE2b-256 a6417ccb0c95b7ac53d31e3d1506033d71e2fa9bc1f369ede1b1afa83ac692e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.2-cp310-cp310-win32.whl:

Publisher: publish.yaml on las-unicamp/pyFTLE

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyftle-1.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyftle-1.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fa23fc0b725defdb90c7ffc2c48ee84ee922eebe1d0b1426213617b6482155f8
MD5 51b1dba273e43986500550b2915d85f9
BLAKE2b-256 88e17eca7df76a53c7f8cd34b81a6a3313818949cc73c3279850a4c58e1ed95a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yaml on las-unicamp/pyFTLE

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyftle-1.0.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pyftle-1.0.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 4ceeb03c087a030d6de1a0097bf6153f5aaebe0c546246600e31d7aecf723353
MD5 7269d1a6f5c05c00021573aa8a38a373
BLAKE2b-256 172de11239bab33efbbfc6d43200a4850f6213e2d34a3d290052f811535ac74b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl:

Publisher: publish.yaml on las-unicamp/pyFTLE

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyftle-1.0.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyftle-1.0.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b8b561214b5e4b8bcb7ba6f295c42fca64f8356d58040f859b700ac73322eb2b
MD5 c083915f861e839a4a2ed4fc0a1deeb2
BLAKE2b-256 af3bd52aa0468fca9eaade942f21cf7c0c2f47de42cd7e82bb295b13de3ccec5

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.2-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: publish.yaml on las-unicamp/pyFTLE

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyftle-1.0.2-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyftle-1.0.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 909bbfbffa5b86ecadb38b2ebcec66d904e6233e6cdc6cd5eba3616d77161477
MD5 960904ccc0bc282f1818d64549754251
BLAKE2b-256 0fa8285bb462528f04a3cf36e0e9a0b0c92dc0e17e2e52673da854d6a37cd71b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.2-cp310-cp310-macosx_10_9_x86_64.whl:

Publisher: publish.yaml on las-unicamp/pyFTLE

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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