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 build -t 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 pyftle:latest --help

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

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

Run with command-line arguments:

docker run --rm \
    -v /path/to/your/data:/data \
    -w /data \
    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"

Running Python Scripts

Execute Python code inside the container:

docker run --rm --entrypoint python pyftle:latest -c "import pyftle; print('pyFTLE imported successfully')"

Run a Python script from your local machine:

docker run --rm \
    -v /path/to/your/script:/app/script.py \
    --entrypoint python \
    pyftle:latest script.py

Interactive Usage

Start an interactive shell inside the container:

docker run -it --rm --entrypoint sh 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 \
    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 \
    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 \
    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

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

Uploaded CPython 3.13Windows x86-64

pyftle-1.0.1-cp313-cp313-win32.whl (111.9 kB view details)

Uploaded CPython 3.13Windows x86

pyftle-1.0.1-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.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl (143.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ i686

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.13macOS 10.13+ x86-64

pyftle-1.0.1-cp312-cp312-win_amd64.whl (117.2 kB view details)

Uploaded CPython 3.12Windows x86-64

pyftle-1.0.1-cp312-cp312-win32.whl (111.9 kB view details)

Uploaded CPython 3.12Windows x86

pyftle-1.0.1-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.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (143.2 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686

pyftle-1.0.1-cp312-cp312-macosx_11_0_arm64.whl (105.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyftle-1.0.1-cp312-cp312-macosx_10_13_x86_64.whl (110.0 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11Windows x86

pyftle-1.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (137.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

pyftle-1.0.1-cp311-cp311-macosx_10_9_x86_64.whl (109.6 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

pyftle-1.0.1-cp310-cp310-win_amd64.whl (114.9 kB view details)

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10Windows x86

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

Uploaded CPython 3.10macOS 11.0+ ARM64

pyftle-1.0.1-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.1.tar.gz.

File metadata

  • Download URL: pyftle-1.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 99837137bede90b9b3f2e20b0edf9bf17b977bd9a7bda0a406c1ed7530e30942
MD5 2fcff32467fb36c82507320c0fb837dd
BLAKE2b-256 6b65ce4c3b3a5f748ef8eebfc715bc5964f1a4824abbe30b2c8bf59244f33994

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyftle-1.0.1-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.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ffcece953a3fc029b1fc306ff7134baab9eb34ca52e059147508432f200bab58
MD5 74d17b3bc945c60386c06fa1276c5d83
BLAKE2b-256 aa9656f21cc20fead0b4094b604b8dd3ad347cc8acdbec6500ae4ec67349ab54

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyftle-1.0.1-cp313-cp313-win32.whl
  • Upload date:
  • Size: 111.9 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.1-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 0f3c34b12ff224d079f87a4023050ba417086bc799b3df6f1fb72849ff91a317
MD5 d7f974f729ffcbaf694cdfdb6bd9e58a
BLAKE2b-256 c69abe11f73aebf7eb4969521a02654fb8703554f121576f43faaa202dfbfa56

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyftle-1.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cd7bf9a194d48e6e04b7ca3922115f27a06a8e0684e2ca5372236b999d09bca2
MD5 5e4a742b9d9af334c90533268591ccf9
BLAKE2b-256 9ea5dd00ae7b27d41eb9f6197ee7f1177ef6759c48284afe712855111611521d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyftle-1.0.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 60179c77c56956a6c87486dd4240ebbf70513bf83343dfd4da580e02ee771f94
MD5 2f370f0fe39de175059e0ec99cce5cce
BLAKE2b-256 bc740bb07aa59f28771ada5f757040c69b940933f6da48968844b8909801c031

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyftle-1.0.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d32c6bd61af79c8bf65a1d56b5956c08c34b470d2fefc6f66f98cd266ba2f6aa
MD5 106bb945f6f6d95ef3b1986b96a35181
BLAKE2b-256 38ba0df8bdc9e0e350416193a32b00fcff129e04c7bdc3b6f967456994a442ec

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyftle-1.0.1-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 b75f7a90007046761a3384c0dc2e879e76767feb8f68f562b93096ec8c9d8f2b
MD5 bac058be6ead9cbc89003f806532c685
BLAKE2b-256 47b88707c4cfe61e64570f7dd8d34c5c35d7b4553b9a6439ae1cebba031800fe

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyftle-1.0.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 117.2 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.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 256d93b832021cc923f6618cc089069cbf5a0e0ec099e33fbb71b7db78b64be0
MD5 7fc3e457e888868e5f2a0fba1ae96deb
BLAKE2b-256 6bdfd66da21f2baf449acf8c37227d4b94f88afa0295ee01081bfa0efd9c79e2

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyftle-1.0.1-cp312-cp312-win32.whl
  • Upload date:
  • Size: 111.9 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.1-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 8dc6bf2b457486c198f80be7f2cc89042733f22f93a6829cbf8fe35a6c7731db
MD5 7b27c1c349f733e507653e8e813d0230
BLAKE2b-256 812233b2332f60ab1096ee1a39739eea35f992f9c6ed77c3133370cf3609fba4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyftle-1.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 17e86c313b0e18e32618f58ba5a3bc61c6cfe283442ac187fdce52206150c72d
MD5 316cb9b8066585e220175a0038995d72
BLAKE2b-256 0d76da5b6c7e09f1534a3dc7884c9ef95aa1a50d2035b4ddbecba9a105607312

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyftle-1.0.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 bda09d76457f1e5899f2a6f937219ddd0f788f083cad1f149d4aa2e0a2cdbf94
MD5 97788d08f64f77938d0b6b7460b95b9d
BLAKE2b-256 f351c25cd6fe5d75830f693de61fe2dded6584d7c8b9d7081b79639cf99c3df3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyftle-1.0.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f3387834a715abdbef198585b278536f607903f34f918bfc93060eda11160f26
MD5 fa6b90684f5844130be7e3dffb3300ca
BLAKE2b-256 d7a5828f4ac0ac78270302845a0004a621506f78712f7aacff8d180939f525ce

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyftle-1.0.1-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 b38917d9805693888654d0929b2930fe92fd13fb568af47a7ec6133535dc9fa7
MD5 a3c93d0db44a11ba9d0aa0c9b41cab86
BLAKE2b-256 7ce23582ed808a9d3aef557d99f6611253496630c93b1426c787ea18cb25ead3

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyftle-1.0.1-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.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 88b206e04e844db702f22c29e41934d40df8910728ba04cf45ff4af48f3fd4de
MD5 e3f16bb3123ff668875cdc2b3109242e
BLAKE2b-256 93bb5cd8f6090d8e21788d873e96eeec811dd205f2b2d0044ffd46733438e031

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyftle-1.0.1-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.1-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 f0a87a7b94cf7ec66213d993af4b08899aa6edd6aee7ee9e026a5ffcfcddf1fd
MD5 72d019ed5f1baeac7bc5ea0bade51369
BLAKE2b-256 f84205d8fe0aeefe55bf36abd477f1c20acf19726f9bf7d8cc2ab571f0ddce97

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyftle-1.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 59a8cedf92191f5aff73a2d274d52b14c6469ad731e03d4308fa61a27433759d
MD5 ae49a141da9e311eeca081197d8172f4
BLAKE2b-256 fcde06f606e26bd7b18113c765661f9e212e937880f58acbefe5bbc564f74a3b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyftle-1.0.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 206a9df091dd29a4d70d30b5d0ec3bc88e79e5f363a891b34f526836069abc30
MD5 ddbe974b0bcc5cbf98df2fc86d96ae07
BLAKE2b-256 b927e9e869f502dc7e2a70f6d3fc2dd717c66b2d8b7fb586d056324925e6d3ef

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyftle-1.0.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f96e384ef487899fd4cbca9b26fc7f84743bbf87ca03cfe1f441c4e459f6cdeb
MD5 31169d1137bf27dfb1a02828cf5f8acb
BLAKE2b-256 316372c481c86cfe69a6d6274ee8562f3a5bf93cbeffd17ac0f8c73986cee4be

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyftle-1.0.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 87f9fb66142baa26a4b1f7e1873526cd7b26853e91e091f096a659e8961f5ba0
MD5 8d00510bbc3868e142b1082455fd6ccd
BLAKE2b-256 1ab044b80e258c7b25439296118ea83b704a6e5f05aa9400e97c5c22c3c96079

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyftle-1.0.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 114.9 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.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b7188c15cfa2ceff6a6577140a8d488f3f7d7f01245416639da6ecf14732da89
MD5 4df95bb58a1d9e67c221175de9a69a06
BLAKE2b-256 9946d69e89b3ec4d42a529ccfcd995dea4e90d606f9502ea6a6f9024f03eac33

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pyftle-1.0.1-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.1-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 89949e8ab3f06418a795af4486f4586bba7ca06bea6cd18280e50af0ccebf9cf
MD5 f5276105cce91d30272e8f88bad02ea3
BLAKE2b-256 3d63b60c77ccba06021deaaf5409230f0be9ffa41b5a45639d59a5c6b6a5568e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyftle-1.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ceee6ffad5307d412cb975fae222962181940453bec9c16560cb6c2c074bd9a9
MD5 78879734d7cffda5e8f37e7f5d68b937
BLAKE2b-256 058856bf1aefbbbdbd1e22b02c118a1c4d7efd0621807f7247bd67f520d3dba2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyftle-1.0.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 b94b3778b4e2c4649f257ae3b6273d5a46d77265334578cd3ef1a7c9ad0d9c98
MD5 95b10a2a124f42b9f0d43e2c49321895
BLAKE2b-256 9e4571dda0a1bade6450f6b612ac5331fee02564dca1ab03311ff0cd2b0cbe32

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyftle-1.0.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8c2935a21f06f45243a505f28ec5d82f989e123381df4f166715303e3d92b8fa
MD5 c0893acec7e0ea5fb454f8968e0d5f30
BLAKE2b-256 32d0ac260bea7be8af2c476a5528c712a94a270068008cdd5f32c4fa327c4986

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for pyftle-1.0.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 94ea27bc63ad30d9b92211880bba646eb78cfc08c162b728bac4a321a5869f74
MD5 796ee747225d7a830b1f204a3eecd9df
BLAKE2b-256 10620fd6d8fc861bc343c6004b8b0f933b1122b38a69bdb20dd68549d81a357a

See more details on using hashes here.

Provenance

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