Skip to main content

The fastest ForceAtlas2 algorithm for Python (and NetworkX)

Project description

ForceAtlas2 for Python3 (modified/maintained version)

This is a maintained version of fa2 python library. The source code is same as fa2, but this repo can be installed on Python 3.9+ whereas the original fa2 only runs on Python <3.8.


PyPI version Python 3.8+ continuous-integration License: GPL v3 DOI

A port of Gephi's Force Atlas 2 layout algorithm to Python 3 (with a wrapper for NetworkX and igraph). This is the fastest python implementation available with most of the features complete. It also supports Barnes Hut approximation for maximum speedup.

ForceAtlas2 is a very fast layout algorithm for force-directed graphs. It's used to spatialize a weighted undirected graph in 2D (Edge weight defines the strength of the connection). The implementation is based on this paper and the corresponding gephi-java-code. Its really quick compared to the fruchterman reingold algorithm (spring layout) of networkx and scales well to high number of nodes (>10000).

Spatialize a random Geometric Graph

Geometric Graph

Installation

Install from pip:

pip install fa2_modified

To build and install run from source:

python setup.py install

Cython is highly recommended if you are buidling from source as it will speed up by a factor of 10-100x depending on the graph

Dependencies

  • numpy (adjacency matrix as complete matrix)
  • scipy (adjacency matrix as sparse matrix)
  • tqdm (progressbar)
  • Cython (10-100x speedup)
  • networkx (To use the NetworkX wrapper function, you obviously need NetworkX)
  • python-igraph (To use the igraph wrapper)

Spatialize a 2D Grid

Grid Graph

Usage

from fa2_modified import ForceAtlas2

Create a ForceAtlas2 object with the appropriate settings. ForceAtlas2 class contains three important methods:

forceatlas2 (G, pos, iterations)
# G is a graph in 2D numpy ndarray format (or) scipy sparse matrix format. You can set the edge weights (> 0) in the matrix
# pos is a numpy array (Nx2) of initial positions of nodes
# iterations is num of iterations to run the algorithm
# returns a list of (x,y) pairs for each node's final position
forceatlas2_networkx_layout(G, pos, iterations)
# G is a networkx graph. Edge weights can be set (if required) in the Networkx graph
# pos is a dictionary, as in networkx
# iterations is num of iterations to run the algorithm
# returns a dictionary of node positions (2D X-Y tuples) indexed by the node name
forceatlas2_igraph_layout(G, pos, iterations, weight_attr)
# G is an igraph graph
# pos is a numpy array (Nx2) or list of initial positions of nodes (see that the indexing matches igraph node index)
# iterations is num of iterations to run the algorithm
# weight_attr denotes the weight attribute's name in G.es, None by default
# returns an igraph layout

Below is an example usage. You can also see the feature settings of ForceAtlas2 class.

import networkx as nx
from fa2_modified import ForceAtlas2
import matplotlib.pyplot as plt

G = nx.random_geometric_graph(400, 0.2)

forceatlas2 = ForceAtlas2(
                        # Behavior alternatives
                        outboundAttractionDistribution=True,  # Dissuade hubs
                        linLogMode=False,  # NOT IMPLEMENTED
                        adjustSizes=False,  # Prevent overlap
                        edgeWeightInfluence=1.0,

                        # Performance
                        jitterTolerance=1.0,  # Tolerance
                        barnesHutOptimize=True,
                        barnesHutTheta=1.2,
                        multiThreaded=False,  # NOT IMPLEMENTED

                        # Tuning
                        scalingRatio=2.0,
                        strongGravityMode=False,
                        gravity=1.0,
						nodeSize=10, # For overlapping

                        # Log
                        verbose=True)

positions = forceatlas2.forceatlas2_networkx_layout(G, pos=None, iterations=2000)
nx.draw_networkx_nodes(G, positions, node_size=20, with_labels=False, node_color="blue", alpha=0.4)
nx.draw_networkx_edges(G, positions, edge_color="green", alpha=0.05)
plt.axis('off')
plt.show()

# equivalently
import igraph
G = igraph.Graph.TupleList(G.edges(), directed=False)
layout = forceatlas2.forceatlas2_igraph_layout(G, pos=None, iterations=2000)
igraph.plot(G, layout).show()

You can also take a look at forceatlas2.py file for understanding the ForceAtlas2 class and its functions better.

Features Completed

  • barnesHutOptimize: Barnes Hut optimization, n2 complexity to n.ln(n)
  • gravity: Attracts nodes to the center. Prevents islands from drifting away
  • Dissuade Hubs: Distributes attraction along outbound edges. Hubs attract less and thus are pushed to the borders
  • scalingRatio: How much repulsion you want. More makes a more sparse graph
  • strongGravityMode: A stronger gravity view
  • jitterTolerance: How much swinging you allow. Above 1 discouraged. Lower gives less speed and more precision
  • verbose: Shows a progressbar of iterations completed. Also, shows time taken for different force computations
  • edgeWeightInfluence: How much influence you give to the edges weight. 0 is "no influence" and 1 is "normal"

Documentation

You will find all the documentation in the source code

Contributors

Contributions are highly welcome. Please submit your pull requests and become a collaborator.

Copyright

Copyright (C) 2017 Bhargav Chippada bhargavchippada19@gmail.com.
Licensed under the GNU GPLv3.

The files are heavily based on the java files included in Gephi, git revision 2b9a7c8 and Max Shinn's port to python of the algorithm. Here I include the copyright information from those files:

Copyright 2008-2011 Gephi
Authors : Mathieu Jacomy <mathieu.jacomy@gmail.com>
Website : http://www.gephi.org
Copyright 2011 Gephi Consortium. All rights reserved.
Portions Copyrighted 2011 Gephi Consortium.
The contents of this file are subject to the terms of either the
GNU General Public License Version 3 only ("GPL") or the Common
Development and Distribution License("CDDL") (collectively, the
"License"). You may not use this file except in compliance with
the License.

<https://github.com/mwshinn/forceatlas2-python>
Copyright 2016 Max Shinn <mws41@cam.ac.uk>
Available under the GPLv3

Also, thanks to Eugene Bosiakov <https://github.com/bosiakov/fa2l>

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

fa2_modified-0.4.tar.gz (508.7 kB view details)

Uploaded Source

Built Distributions

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

fa2_modified-0.4-cp313-cp313-win_amd64.whl (201.2 kB view details)

Uploaded CPython 3.13Windows x86-64

fa2_modified-0.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (605.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

fa2_modified-0.4-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (609.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

fa2_modified-0.4-cp313-cp313-macosx_11_0_arm64.whl (211.8 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

fa2_modified-0.4-cp313-cp313-macosx_10_13_x86_64.whl (214.9 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

fa2_modified-0.4-cp312-cp312-win_amd64.whl (202.2 kB view details)

Uploaded CPython 3.12Windows x86-64

fa2_modified-0.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (615.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

fa2_modified-0.4-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (620.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

fa2_modified-0.4-cp312-cp312-macosx_11_0_arm64.whl (213.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

fa2_modified-0.4-cp312-cp312-macosx_10_13_x86_64.whl (216.0 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

fa2_modified-0.4-cp311-cp311-win_amd64.whl (203.2 kB view details)

Uploaded CPython 3.11Windows x86-64

fa2_modified-0.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (622.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

fa2_modified-0.4-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (623.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

fa2_modified-0.4-cp311-cp311-macosx_11_0_arm64.whl (214.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

fa2_modified-0.4-cp311-cp311-macosx_10_9_x86_64.whl (215.7 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

fa2_modified-0.4-cp310-cp310-win_amd64.whl (202.5 kB view details)

Uploaded CPython 3.10Windows x86-64

fa2_modified-0.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (590.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

fa2_modified-0.4-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (589.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

fa2_modified-0.4-cp310-cp310-macosx_11_0_arm64.whl (211.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

fa2_modified-0.4-cp310-cp310-macosx_10_9_x86_64.whl (213.8 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

fa2_modified-0.4-cp39-cp39-win_amd64.whl (202.7 kB view details)

Uploaded CPython 3.9Windows x86-64

fa2_modified-0.4-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (587.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

fa2_modified-0.4-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (585.0 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

fa2_modified-0.4-cp39-cp39-macosx_11_0_arm64.whl (212.0 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

fa2_modified-0.4-cp39-cp39-macosx_10_9_x86_64.whl (214.1 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

fa2_modified-0.4-cp38-cp38-win_amd64.whl (203.5 kB view details)

Uploaded CPython 3.8Windows x86-64

fa2_modified-0.4-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (607.1 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

fa2_modified-0.4-cp38-cp38-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (603.2 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

fa2_modified-0.4-cp38-cp38-macosx_11_0_arm64.whl (213.0 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

fa2_modified-0.4-cp38-cp38-macosx_10_9_x86_64.whl (214.8 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

File details

Details for the file fa2_modified-0.4.tar.gz.

File metadata

  • Download URL: fa2_modified-0.4.tar.gz
  • Upload date:
  • Size: 508.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fa2_modified-0.4.tar.gz
Algorithm Hash digest
SHA256 13aae915d666ba5f897ea890705f2d0100987915a605e0ae503c817dd55e0451
MD5 4d9159526a30ec49b8c525626d4d6103
BLAKE2b-256 1b9dd5a82a5e0709d09652dfff63c11ac3cb0c3b5a4e69ee32196f9d5edea4c7

See more details on using hashes here.

File details

Details for the file fa2_modified-0.4-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: fa2_modified-0.4-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 201.2 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fa2_modified-0.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 433ccbf242db03db3348c9f7ea019742550b05520dca1bc53e095e890b29788d
MD5 006acbb4fe50a0f333eaa22409c0a285
BLAKE2b-256 707d00b848a050f7bdb8caac8ab2d1ddcb856109bfc49529a6868a31ec964c54

See more details on using hashes here.

File details

Details for the file fa2_modified-0.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fa2_modified-0.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 bad475fbbe2bb0498d636a72781d62d2847294437444762d4bc55a9a7bd3e15a
MD5 a80e69598f74100baf960f83fb58559f
BLAKE2b-256 706b13d7591a31e11f5aff7b47429677676af27fed128cc1dd5f623e936a97de

See more details on using hashes here.

File details

Details for the file fa2_modified-0.4-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for fa2_modified-0.4-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 e98d04cbfeb3a0d931d786c2f736c60fcbff647a21da25b467e79378e1831582
MD5 24c285d0786d6a4d59f797418676caa8
BLAKE2b-256 e3acd9d7bcb047ccc4e7b85cca027bd844fde84e10b841de6e46d60ca2030d48

See more details on using hashes here.

File details

Details for the file fa2_modified-0.4-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fa2_modified-0.4-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1d124f7b73034ffd76777c2089e3be8b2b34ea09913eda721fca946e33f9254d
MD5 723ba4740a1d757352520880ce038ade
BLAKE2b-256 173c87207f6838eb8369ab791fdfc74ecbfa77ba140659850c1762f1f2bb6505

See more details on using hashes here.

File details

Details for the file fa2_modified-0.4-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for fa2_modified-0.4-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 f68f12a962f08a229b19c8b0e1279441bff6029f1ab33cb23cd857fc8d5fab9c
MD5 f09361736b7c6453fa242f7985f637d7
BLAKE2b-256 2fcd8dbae62bb082f269707cada08629b070bf5effbb099137e32cb547b59c44

See more details on using hashes here.

File details

Details for the file fa2_modified-0.4-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: fa2_modified-0.4-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 202.2 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fa2_modified-0.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b1ac8cfe72927dedb647a66307d20ff02347646cf984ecd1ddea3b4213089a62
MD5 ce4763b73fe0ebf2bf45fd6dc058f6ae
BLAKE2b-256 fc9b1ca0a8c8ff34419f8ffc0cc36183baaf0e44e09fa6ad57ec3bc73ae51ca3

See more details on using hashes here.

File details

Details for the file fa2_modified-0.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fa2_modified-0.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d591e5c1686675983acee99f3958348c86271082a1d8b856c89ecc8b01c5647b
MD5 4925549fb88194eefcaf4ed2e35066ab
BLAKE2b-256 68f16fcd89e495892dc94efa57028c0e8654e29a315187bbd604111e55529f17

See more details on using hashes here.

File details

Details for the file fa2_modified-0.4-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for fa2_modified-0.4-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 1b676a5e8702a29abcd61cbe15e0db8b92b455674d42424ea045f7495fa10bf3
MD5 cea1c83e03c32f342b043ac9f396fc0d
BLAKE2b-256 e8b3e78c0e022ab6ea40b69a1388ec619c14d801b7c4317842bf78959bbc1556

See more details on using hashes here.

File details

Details for the file fa2_modified-0.4-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fa2_modified-0.4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4da2d78f349fa0900d334ca64edd29183e2e42b3399d7902e5f8f5ae6be5e295
MD5 409eaf170aff8b534843c00645fde2bb
BLAKE2b-256 80a16be525b63e59aafe3be8cdbfbd4889272d8ed5c276c65da343729b5254fd

See more details on using hashes here.

File details

Details for the file fa2_modified-0.4-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for fa2_modified-0.4-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 4ae4da607676f48e97c622862ad437342e6a587933fd4e4f0df930ec5bbf67ef
MD5 145cab56b16f882b5ccb587b614f18f1
BLAKE2b-256 ac01549434d18ea35c2561d7dbc8880c251394f2d4c2a79a8dda88dc096e42ba

See more details on using hashes here.

File details

Details for the file fa2_modified-0.4-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: fa2_modified-0.4-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 203.2 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fa2_modified-0.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 5f5483f14128dea1af2b30ce0bbcb6164c44491d9b1ace2f753f1090033e9877
MD5 92f35af1ef53f76abbd07c8344b4c840
BLAKE2b-256 9f65715a0b7102fd8019889406864657f85cef13a6471b2b8afafd2f174174f0

See more details on using hashes here.

File details

Details for the file fa2_modified-0.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fa2_modified-0.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 64a19989c67b311552204944bdaa007edd484abe651c9639bfb4bd55820105b1
MD5 67676b8e4e4c93960bfa229dc356bf7d
BLAKE2b-256 5f6864b9795b2772b22b3a2759dfca6fd83675da720df60b783c80a0c96f69b2

See more details on using hashes here.

File details

Details for the file fa2_modified-0.4-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for fa2_modified-0.4-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 b975da420a03ad97a32de55341642128b1b9c500467fdba333c67ecc39c00930
MD5 feabc710587bb6132d629b7248a831d3
BLAKE2b-256 5a1e5861892d64658b3a54876a75e2c997a9b36e3318a1797e91d99e480eb830

See more details on using hashes here.

File details

Details for the file fa2_modified-0.4-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fa2_modified-0.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9eabcf987f2a14e07932259dc0b6f29003baa5e3dfaac14d7de79c07b60ebee0
MD5 3e334035a8178cd907e6f8b4919b8a69
BLAKE2b-256 518038395980bbc2fac66095e98a8b917d3a25f8d1338612276ccb94c1306eca

See more details on using hashes here.

File details

Details for the file fa2_modified-0.4-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fa2_modified-0.4-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3ae8e6226e8724e8f9c4e0a94878913bca31eb78acb5c85058fc16767240ee24
MD5 b6c793d160b93f7eae326804dfba8723
BLAKE2b-256 d5a6e7d47b916741cdcd056ac1bddee862fc3aefd2f7a2bac4e412d20d491a5e

See more details on using hashes here.

File details

Details for the file fa2_modified-0.4-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: fa2_modified-0.4-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 202.5 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fa2_modified-0.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 dd0c36f8bd47889987d34643a0696e842b486c96672b5430ff2a6f906ed8bd7e
MD5 faaceb6557730b95d9ffc1a2feab7380
BLAKE2b-256 c7f26fa8b713535dc5b015853037a1f828ec7f8fde0043a0506ab7570ce09b62

See more details on using hashes here.

File details

Details for the file fa2_modified-0.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fa2_modified-0.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 083f67c95b7bc0679afabad0d23844316f4e40608f04507a97c45dce60c43ae1
MD5 fd59b07c86a3563aa0c7779f64a76965
BLAKE2b-256 f6819e0753fe18ca2fddb432e158272fd6e187cf0d11b6f5f9692bc97497857b

See more details on using hashes here.

File details

Details for the file fa2_modified-0.4-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for fa2_modified-0.4-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 47407acf62b6e5f59ef3cac354162a3d021d2527f4fb61987681955102fb04f7
MD5 2b00befa4f4e422e13a1c6f3e93cdc0e
BLAKE2b-256 f5a264c5f59c2dfb58e03bf1d69024ffce04093be59268f75651e10477ea7e01

See more details on using hashes here.

File details

Details for the file fa2_modified-0.4-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fa2_modified-0.4-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cce426c9925dc1d99dd960c06c47d4de7dcd10bd7ea73e84deaec5b0e198c418
MD5 f20f89c5b964c05bc99693c0483a247e
BLAKE2b-256 9c98d6d6bff825f2fe1dacdcdc3f97fe621ccc0d4411ae871c6723aa0bb2f0bf

See more details on using hashes here.

File details

Details for the file fa2_modified-0.4-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fa2_modified-0.4-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b07009892bc8685730474bc0cce81284fa345ffb3233aeda113e232ace9f6c6d
MD5 f28ca5c03b0b2ab4af65b52e72e52718
BLAKE2b-256 6e117a4e7a7ab7205e0af8b167422253e5f213a9efff8e68be15d9fdc831407b

See more details on using hashes here.

File details

Details for the file fa2_modified-0.4-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: fa2_modified-0.4-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 202.7 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fa2_modified-0.4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 c863417f78075dbebaee29bbe8303d7e32a8667a9a942ac1d8001e9c79c64d19
MD5 3b61294e12229002efbb4e07f6c6d52a
BLAKE2b-256 110fd84da9ef8aa0760a3bfd0abca6c6b5bebebfe6585546bf02de114c25c6b2

See more details on using hashes here.

File details

Details for the file fa2_modified-0.4-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fa2_modified-0.4-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 08191bdf40e9a8093b36ec35c9e6a499531de43676a3ec0de28047c06a160b00
MD5 eca462b6b9acae58452510ddf9d57fa6
BLAKE2b-256 5828274476632bcaf0c8369251b8317947a78bcd6a20a8074929994c1e6fcc70

See more details on using hashes here.

File details

Details for the file fa2_modified-0.4-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for fa2_modified-0.4-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 6bd661e27ce1b30174f3b7c2a070d495a3b40ecade47bb7ca3881a080e3a06c9
MD5 c91d2b80a8a59877f6f48cd7b39665ed
BLAKE2b-256 e4b6b45a3a2973e1623d5d51daddadab329c063db864ee3af438c1e24d7fe8f7

See more details on using hashes here.

File details

Details for the file fa2_modified-0.4-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fa2_modified-0.4-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 665ae68c29384f2490d60f3e1f2b8474508844cced9786614cfd66225c114f93
MD5 bb9a3e57d212d083e48c261d3b2728a1
BLAKE2b-256 6602de61a5c08cb1b324504d5ef7bd00e57eff996e97ca5aa2a55de219913fba

See more details on using hashes here.

File details

Details for the file fa2_modified-0.4-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fa2_modified-0.4-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cdb7aa0ddb0babc46b0770dd0c0faabde7bb00fa3ee72b0cd5bf12015715af48
MD5 70d8f60abf414c0a837465e93d9baf3f
BLAKE2b-256 93ecefb33b038cee500a47d0eaf4b908f4a5b49e714d4b665ff7b85446793e08

See more details on using hashes here.

File details

Details for the file fa2_modified-0.4-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: fa2_modified-0.4-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 203.5 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fa2_modified-0.4-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 813933f95f0d9ae253e08aab5fc217290dceea7cfd2d0cb1599cf305587e92fc
MD5 c4d2fe240a017d671b57dfb8d113a9a2
BLAKE2b-256 3182144ccfa6a0b4866cabf77d265d2ee3f1b0e455916f8ba1ec6a71f3122a5f

See more details on using hashes here.

File details

Details for the file fa2_modified-0.4-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for fa2_modified-0.4-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 46dfec3f02513161a38d4b89a1fd8a39cdbad4d7369c6728d1210c71a05d09db
MD5 623d1a564d70facdd172aba3d95bc95c
BLAKE2b-256 f59b3c0dc332a502489c9cd45186047eaaa0441d623d76289dff9634aa8f9869

See more details on using hashes here.

File details

Details for the file fa2_modified-0.4-cp38-cp38-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for fa2_modified-0.4-cp38-cp38-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 7fc19fb631e9cc04e6e66b23b3b8b1c63cae52af5347f09ab42055f41231999d
MD5 a891ab717858c675383ecb328590a362
BLAKE2b-256 37197dd75987a86bc5bd67f3b5955557894ea5f4ceddd10e7a770c1466c041a1

See more details on using hashes here.

File details

Details for the file fa2_modified-0.4-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for fa2_modified-0.4-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c7796cc894ce6e00fd6624db781574a2318acd44a15da7db66a3ec984c0322e7
MD5 6229cca8cfb905d66d004dd554c3b727
BLAKE2b-256 b0ae4c345626e92769f63b4e14f338fedc88297cbb9c65e158bf2c77b7d0764a

See more details on using hashes here.

File details

Details for the file fa2_modified-0.4-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fa2_modified-0.4-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2fa82dec180d785f93c5dc942994627b765108d27adc13ee762d0f03718c9ac8
MD5 09d447d69bad623ec6bcff722d94a30c
BLAKE2b-256 7023207ea6a873ab03b3136e9cd441012e7e8b31be5c55f51245d5cb62acf07e

See more details on using hashes here.

Supported by

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