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.3.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.3-cp313-cp313-win_amd64.whl (117.3 kB view details)

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13Windows x86

pyftle-1.0.3-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.3-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.3-cp313-cp313-macosx_11_0_arm64.whl (105.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.13macOS 10.13+ x86-64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12Windows x86

pyftle-1.0.3-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.3-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.3-cp312-cp312-macosx_11_0_arm64.whl (105.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.13+ x86-64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11Windows x86

pyftle-1.0.3-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.3-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.3-cp311-cp311-macosx_11_0_arm64.whl (105.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.11macOS 10.9+ x86-64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10Windows x86

pyftle-1.0.3-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.3-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.3-cp310-cp310-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pyftle-1.0.3-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.3.tar.gz.

File metadata

  • Download URL: pyftle-1.0.3.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.3.tar.gz
Algorithm Hash digest
SHA256 95c52b22314a52f4048203efcc653ae8853c1f00ae1d9fc7236c43b9bfb42ec6
MD5 02207f02b90469bbae0687d764b98125
BLAKE2b-256 13437cf9e208b287ba16bedeec0b16d669d911db20d9ec88035eb0a942460d67

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.3.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.3-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pyftle-1.0.3-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.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c5623b0b4e4a266060b693d1ddfca63cf2ad17f25b8c69fe32764ac333413e20
MD5 4f9b7c8c748e51e33b54c3c3f1c1f608
BLAKE2b-256 7a539e0186cc25cd4780ea252e85060bd9d028c88c92b42c0313ad23fa44cb17

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.3-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.3-cp313-cp313-win32.whl.

File metadata

  • Download URL: pyftle-1.0.3-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.3-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 ce5e7b547480a174cd9e61f27265402f915185c3e93c3fc6c0668c0de26d6803
MD5 f44d66c6716eb450e506d7a4daf77c72
BLAKE2b-256 c51095e7491902825e5589ef690f5ef17f56e19e0535c8ad20603a8f21cbb2fb

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.3-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.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyftle-1.0.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4c647db33db74ded59180d898649b3f34b372a6a30dd8b97e239c0fed3bff059
MD5 913a9a8dd1a441efc78bd09ffb564d5e
BLAKE2b-256 519e06d5c9ed1c8fbab100c15f80a91b3b14c2cf06940a205843d6ffd03db921

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.3-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.3-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pyftle-1.0.3-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 65f2d85566c94f6a52789759ec6201da4c667b5d52800ee397a97ec453eeb323
MD5 3d4b9c4544b3376e0bf05838a969fb42
BLAKE2b-256 e71ae6202c75592198fc488d0bdfbd2455d2a25fb9d2923ddab236888e5799a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.3-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.3-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyftle-1.0.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c276e8c5f8d87f30b98e84bd1bc0f64dbe0fa4a1490131cc4107599d82214d29
MD5 2617ad5ca6c57ce3fb00a6ca45ed4269
BLAKE2b-256 991de7677fb098244f6808f846446c63cec9d24d85580e49df9a2213834c7da7

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.3-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.3-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyftle-1.0.3-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 9314f924d9269b6fced1b7c91aaefd5389ee473fd0f845ce69f198d9f3b91f6d
MD5 c19f8d4ffadc89899aaa89ff6de0ac0f
BLAKE2b-256 6715bb68f0a5351b3e40cbbf49c24cf970c747ad75ed92ddba0a43f6cc28a998

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.3-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.3-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pyftle-1.0.3-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.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 eb9f6f0271a4366ec98e02947012d28aec36bed54dac69829f5b59a6223cadb2
MD5 486591b702e8ab0ea524aca014b14a1f
BLAKE2b-256 d1c16e68f4ee8185752fe51b5b2c24f50369f61661c7d3717090cb11a19a4cfb

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.3-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.3-cp312-cp312-win32.whl.

File metadata

  • Download URL: pyftle-1.0.3-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.3-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 07450db591c96fb48612dbdf4aaf79f1c53efd05e56430c883e4e92616e67588
MD5 94b2e0470f6507bf4e58f156cdd590ce
BLAKE2b-256 ac89524527bd955542b12d7286f9d0c581e1e4bd8616da7154420b2f639b6b5c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.3-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.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyftle-1.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 76217f7e72e989ed420df3ae238ba282210a32a3c991d7f86caccd57d0c26f71
MD5 08f69f35e6aafd6d2416b0e6117ac2c6
BLAKE2b-256 05d3cdfa031596572e148e27f0a15498bb4a50f3284873861d3a1ff93eca1219

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.3-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.3-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pyftle-1.0.3-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 3979903002e1ec041bd697a758fd4c64406b5af7f4fda3d5153c45485cf275d8
MD5 b23719ab49f54b2e0513bfd039c1b271
BLAKE2b-256 f69b1937cf88523ed867f68553f861cfd6557a9128a5ca09a0a04887fac4eb26

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.3-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.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyftle-1.0.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 98322a1ce56c5929baaa8a4596cb32957dbbdb701e35779ffc22593dc206d364
MD5 28f8e18cd6bd0ca34f24f46a82858087
BLAKE2b-256 5482b2f1692cc35f377cba27b2d5c25f8355e6432085e01b05ec4c90a991c918

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.3-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.3-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for pyftle-1.0.3-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 256daa3d0eef92e8526cb03ef32765174792c984dde6c552680088ad7910425d
MD5 a94e75cd1b6f01cb811c8a25b2dd2195
BLAKE2b-256 73a5874fadc5da5d69afc88b81ef63cf409974f42e95cf1b9aeb33010c4927c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.3-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.3-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pyftle-1.0.3-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.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7ead34c321979829efe71ce2052cf1d8d2bd7b3e3a734583c47304055a844924
MD5 c03b79a09214aa33a002f70996516891
BLAKE2b-256 e57daed0829e877b616c1e965753c98b08513c7bbd728e7acf0703a3dbfc4dc0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.3-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.3-cp311-cp311-win32.whl.

File metadata

  • Download URL: pyftle-1.0.3-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.3-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 5116ed116e33fd200f1d637fa67bec371a2573b0e77a3c608ec8eb4b1027e46f
MD5 f3cb4d3d9cc608d01faf2adb533d0d4d
BLAKE2b-256 59351ec76960328f54f70cd02f9fa20dafd967b3c3d0011118477238ef15af01

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.3-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.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyftle-1.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bcabe94008e04a322caeeb8fc2035dd4799ab10c85ae7c5a2db73615c89ad6c4
MD5 1f5a7e0dd10f3caaba20b8d2a0b90f6c
BLAKE2b-256 5022e7fc640f28c500554dde9816ec4121c1f9f586fb8047c2efd196f8841d9e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.3-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.3-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pyftle-1.0.3-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 588c5f5536b11c33d8d7aa23525270ae720cec791928faaf71bae7522f3f5f67
MD5 6ebc08eafbea3d05d3004dc24041a9d2
BLAKE2b-256 2af48e3fdfc48f194d61bef5724a7cf0721308bcac7d9c7bbfe2bfbe45656bc1

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.3-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.3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyftle-1.0.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8798ce211f97a2f8902a47917a5dd5435f9d9ac19f6d3b0f34dda7f0763b2cbc
MD5 13fb13cbf50f64e804b8c117b3ab2dc7
BLAKE2b-256 104daddb0daa8e24407f1a4ddeea920564f340320c3c61df352a5cb41fd3a71f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.3-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.3-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyftle-1.0.3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 14dbac5516d679c500eddaa1eb50c8f09326fb1c27f24ccd8805f3b888d6a03e
MD5 0006d445f2e6847d73bc414cadd8810a
BLAKE2b-256 ccb8fbdbb0bfc4610cb7177e6f1c3364250512bc0a392ce2193c9c181e999d0d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.3-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.3-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pyftle-1.0.3-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.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 6ef87034695bc97c60c65f3cf6a0c5579a5050a48e150e999786ae07020321c1
MD5 2bb2f07f92cbb28d1548ec8bc94e119d
BLAKE2b-256 8d120550bbfe3d37b325e6322aeeb51f60ab0da2aa93daf3638c0a887935a4aa

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.3-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.3-cp310-cp310-win32.whl.

File metadata

  • Download URL: pyftle-1.0.3-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.3-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 b019a1d939d6737228a7f9ae4e05c69b88e6bc43f8ea74182c14378d9d28fee2
MD5 367d78e3cd63055c831a2724228a4632
BLAKE2b-256 07e6e06eef954b700144c31c6294b7d349359a0e121a8022cd00c69d3917d6ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.3-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.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyftle-1.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ee54728b36893a002be1039f84fec6ca9c451f975ec71125d02b348a250a710c
MD5 ff425a4dc53e33bdb15835b2e486cace
BLAKE2b-256 54e20626ccd6ea60c8be7247e5f2aea006b6d84b4fad143fefb603841e876c2d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.3-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.3-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pyftle-1.0.3-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 0cd3d04aeb866673cf4c785a7d6fafa725c0125b1c0b02116c22478295363abe
MD5 734eca91a7e937b5f2e27b2fda0d156f
BLAKE2b-256 17259a08d4fbf9e0a90d039487b68be8a7b3ac131cd7f00762256e8f0c21dbc1

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.3-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.3-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyftle-1.0.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 116df2699129b5a20379ea51a09965577afa72fd7a1ffde84dbf846169e9e48e
MD5 4cb17c4aefcf775d9dd98c42f7e7182e
BLAKE2b-256 ac65d653a8578a32dc9c0957c24558b110d20742e9370aff72a930cc41abf2c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.3-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.3-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pyftle-1.0.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b5c6d14ce752aa6c70019e9bcaca4cf205f6a8736fd2782632fcc4c420032822
MD5 192b67c5f26050c728d77f14f07214db
BLAKE2b-256 69f3b6068f57bbb63081c84fc914716c1c86a01f7902cc752dddf69d12221ed6

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyftle-1.0.3-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