Skip to main content

Python bindings for FAEST post-quantum signature scheme

Project description

PyFAEST - Python Bindings for FAEST

PyPI version Python 3.8+ License: MIT

Python wrapper for the FAEST (Fast AES-based Signature with Tight security) post-quantum digital signature scheme.

Overview

FAEST is a post-quantum signature scheme submitted to the NIST PQC standardization process. This Python package provides high-level bindings to the C reference implementation:

  • 🔐 Quantum-resistant signatures based on symmetric cryptography
  • 🚀 High performance - Direct binding to optimized C code via CFFI
  • 🛡️ Memory-safe - Automatic private key clearing
  • 🎯 Pythonic API - Clean, intuitive interface
  • 📦 12 parameter sets - All FAEST variants supported

Installation

From PyPI (Recommended)

pip install pyfaest

Pre-built wheels available for:

  • Linux x86_64 (manylinux)
  • Linux aarch64 / ARM64 (Raspberry Pi, AWS Graviton)
  • macOS arm64 (Apple Silicon)
  • macOS x86_64 (Intel Macs)
  • Python 3.8, 3.9, 3.10, 3.11, 3.12, 3.13

No compilation required! For other platforms, see installation guide.

From Source

git clone https://github.com/Shreyas582/pyfaest.git
cd pyfaest
pip install -e .

Quick Start

from faest import Keypair, sign, verify

# Generate a keypair
keypair = Keypair.generate('128f')

# Sign a message
message = b"Hello, quantum-resistant world!"
signature = sign(message, keypair.private_key)

# Verify the signature
is_valid = verify(message, signature, keypair.public_key)
print(f"Valid: {is_valid}")  # True

Parameter Sets

PyFAEST supports all 12 FAEST parameter sets:

Parameter Set Security Level Public Key Private Key Signature
128f NIST Level 1 32 bytes 32 bytes 5,924 B
128s NIST Level 1 32 bytes 32 bytes 4,506 B
192f NIST Level 3 48 bytes 40 bytes 14,948 B
192s NIST Level 3 48 bytes 40 bytes 11,260 B
256f NIST Level 5 48 bytes 48 bytes 26,548 B
256s NIST Level 5 48 bytes 48 bytes 20,696 B
em_128f NIST Level 1 32 bytes 32 bytes 5,060 B
em_128s NIST Level 1 32 bytes 32 bytes 3,906 B
em_192f NIST Level 3 48 bytes 48 bytes 12,380 B
em_192s NIST Level 3 48 bytes 48 bytes 9,340 B
em_256f NIST Level 5 64 bytes 64 bytes 23,476 B
em_256s NIST Level 5 64 bytes 64 bytes 17,984 B

Suffix meanings:

  • f = Fast (optimized for speed)
  • s = Small (optimized for signature size)
  • em_* = Extended mode variants

Note: 192-bit variants have asymmetric key sizes (private=40, public=48) by design.

API Reference

Key Generation

from faest import Keypair

# Generate a new keypair
keypair = Keypair.generate('128f')

# Access individual keys
public_key = keypair.public_key
private_key = keypair.private_key
param_set = keypair.param_set

# Validate keypair
is_valid = keypair.validate()

Signing and Verification

from faest import sign, verify

# Sign a message
signature = sign(message, private_key)

# Verify a signature  
is_valid = verify(message, signature, public_key)

Key Serialization

# Export keys as bytes
pk_bytes = public_key.to_bytes()
sk_bytes = private_key.to_bytes()

# Import from bytes
keypair = Keypair.from_bytes(pk_bytes, sk_bytes, '128f')

# Or create keys individually
from faest import PublicKey, PrivateKey
public_key = PublicKey(pk_bytes, '128f')
private_key = PrivateKey(sk_bytes, '128f')

Error Handling

from faest import (
    FaestError,           # Base exception
    KeyGenerationError,   # Key generation failed
    SignatureError,       # Signing failed
    VerificationError,    # Verification failed
    InvalidKeyPairError,  # Keypair validation failed
)

try:
    keypair = Keypair.generate('128f')
    signature = sign(message, keypair.private_key)
except KeyGenerationError as e:
    print(f"Key generation failed: {e}")
except SignatureError as e:
    print(f"Signing failed: {e}")

Examples

Complete examples in the examples/ directory:

  • basic_usage.py - Simple signing and verification
  • all_parameter_sets.py - Testing all 12 parameter sets
  • key_serialization.py - Key import/export patterns

Documentation

Requirements

  • Python 3.8 or higher
  • Linux x86_64, macOS arm64, or Windows (via WSL)
  • CFFI >= 1.15.0 (automatically installed)

Note: Pre-built wheels eliminate the need for compilers or build tools.

Security Considerations

⚠️ Important Security Notes:

  • Reference implementation - Not yet optimized for production
  • NIST evaluation - FAEST is a candidate, not yet standardized
  • Memory safety - Private keys automatically cleared from memory
  • Side channels - No protection against timing/power analysis attacks
  • Secure storage - Store private keys encrypted at rest

Performance

Typical performance on modern hardware (single core):

Operation 128f 128s 256f 256s
Key generation ~1 ms ~1 ms ~2 ms ~2 ms
Signing ~5 ms ~8 ms ~15ms ~25ms
Verification ~5 ms ~8 ms ~15ms ~25ms

f variants are faster, s variants produce smaller signatures.

Platform Support

Platform Status Notes
Linux x86_64 ✅ Supported Pre-built wheels
Linux aarch64 ✅ Supported Pre-built wheels (ARM64, Raspberry Pi, AWS Graviton)
macOS arm64 ✅ Supported Pre-built wheels (Apple Silicon)
macOS x86_64 ✅ Supported Pre-built wheels (Intel Macs)
Windows (WSL) ✅ Supported Use Linux wheels in WSL
Windows native ❌ Not supported Use WSL instead

Development

Running Tests

pip install pytest
pytest tests/ -v

Building from Source

See INSTALLATION.md for detailed instructions.

Quick version:

# Build FAEST C library first
git clone https://github.com/faest-sign/faest-ref.git
cd faest-ref
meson setup build
meson compile -C build

# Install PyFAEST
cd /path/to/pyfaest
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

# Copy library files
FAEST_REF=/path/to/faest-ref bash scripts/update_libraries.sh

# Install in development mode
pip install -e .

# Verify
python verify_install.py

Project Structure

pyfaest/
├── faest/              # Python package
│   ├── __init__.py     # Public API exports
│   └── core.py         # Main implementation (550+ lines)
├── lib/                # Bundled FAEST libraries
├── include/            # C header files  
├── examples/           # Usage examples
├── tests/              # Test suite (37 tests)
├── docs/               # Documentation
├── scripts/            # Build/release scripts
├── faest_build.py      # CFFI build script
└── setup.py            # Package configuration

License

MIT License - See LICENSE file for details.

Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes with tests
  4. Submit a pull request

See DEVELOPER_GUIDE.md for more details.

Citation

If you use PyFAEST in research, please cite:

@software{pyfaest,
  title = {PyFAEST: Python Bindings for FAEST},
  author = {PyFAEST Contributors},
  year = {2025},
  url = {https://github.com/Shreyas582/pyfaest}
}

References

Changelog

See CHANGELOG.md for version history.

Support

Acknowledgments

PyFAEST is built on top of the FAEST reference implementation by the FAEST team. Special thanks to all contributors to the FAEST project.

NOTE from Author

I have created this for a Post-Quantum Cryptography class project at NYU.

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

pyfaest-1.0.40.tar.gz (1.7 MB view details)

Uploaded Source

Built Distributions

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

pyfaest-1.0.40-cp314-cp314-win_amd64.whl (832.8 kB view details)

Uploaded CPython 3.14Windows x86-64

pyfaest-1.0.40-cp314-cp314-manylinux_2_17_x86_64.whl (864.8 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

pyfaest-1.0.40-cp314-cp314-macosx_15_0_universal2.whl (732.9 kB view details)

Uploaded CPython 3.14macOS 15.0+ universal2 (ARM64, x86-64)

pyfaest-1.0.40-cp313-cp313-win_amd64.whl (818.4 kB view details)

Uploaded CPython 3.13Windows x86-64

pyfaest-1.0.40-cp313-cp313-manylinux_2_17_x86_64.whl (864.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pyfaest-1.0.40-cp313-cp313-macosx_15_0_universal2.whl (733.0 kB view details)

Uploaded CPython 3.13macOS 15.0+ universal2 (ARM64, x86-64)

pyfaest-1.0.40-cp312-cp312-win_amd64.whl (818.4 kB view details)

Uploaded CPython 3.12Windows x86-64

pyfaest-1.0.40-cp312-cp312-manylinux_2_17_x86_64.whl (864.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pyfaest-1.0.40-cp312-cp312-manylinux_2_17_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

pyfaest-1.0.40-cp312-cp312-macosx_15_0_universal2.whl (733.0 kB view details)

Uploaded CPython 3.12macOS 15.0+ universal2 (ARM64, x86-64)

pyfaest-1.0.40-cp312-cp312-macosx_10_14_x86_64.whl (737.6 kB view details)

Uploaded CPython 3.12macOS 10.14+ x86-64

pyfaest-1.0.40-cp311-cp311-win_amd64.whl (818.4 kB view details)

Uploaded CPython 3.11Windows x86-64

pyfaest-1.0.40-cp311-cp311-manylinux_2_17_x86_64.whl (864.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pyfaest-1.0.40-cp311-cp311-manylinux_2_17_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

pyfaest-1.0.40-cp311-cp311-macosx_15_0_universal2.whl (733.0 kB view details)

Uploaded CPython 3.11macOS 15.0+ universal2 (ARM64, x86-64)

pyfaest-1.0.40-cp311-cp311-macosx_10_14_x86_64.whl (737.6 kB view details)

Uploaded CPython 3.11macOS 10.14+ x86-64

pyfaest-1.0.40-cp310-cp310-win_amd64.whl (818.4 kB view details)

Uploaded CPython 3.10Windows x86-64

pyfaest-1.0.40-cp310-cp310-manylinux_2_17_x86_64.whl (864.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pyfaest-1.0.40-cp310-cp310-manylinux_2_17_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

pyfaest-1.0.40-cp310-cp310-macosx_15_0_universal2.whl (733.0 kB view details)

Uploaded CPython 3.10macOS 15.0+ universal2 (ARM64, x86-64)

pyfaest-1.0.40-cp310-cp310-macosx_10_14_x86_64.whl (737.6 kB view details)

Uploaded CPython 3.10macOS 10.14+ x86-64

pyfaest-1.0.40-cp39-cp39-win_amd64.whl (818.4 kB view details)

Uploaded CPython 3.9Windows x86-64

pyfaest-1.0.40-cp39-cp39-manylinux_2_17_x86_64.whl (864.0 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pyfaest-1.0.40-cp39-cp39-manylinux_2_17_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

pyfaest-1.0.40-cp39-cp39-macosx_15_0_universal2.whl (733.0 kB view details)

Uploaded CPython 3.9macOS 15.0+ universal2 (ARM64, x86-64)

pyfaest-1.0.40-cp39-cp39-macosx_10_14_x86_64.whl (737.6 kB view details)

Uploaded CPython 3.9macOS 10.14+ x86-64

pyfaest-1.0.40-cp38-cp38-win_amd64.whl (818.3 kB view details)

Uploaded CPython 3.8Windows x86-64

pyfaest-1.0.40-cp38-cp38-manylinux_2_17_x86_64.whl (864.2 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

pyfaest-1.0.40-cp38-cp38-macosx_15_0_universal2.whl (732.9 kB view details)

Uploaded CPython 3.8macOS 15.0+ universal2 (ARM64, x86-64)

File details

Details for the file pyfaest-1.0.40.tar.gz.

File metadata

  • Download URL: pyfaest-1.0.40.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for pyfaest-1.0.40.tar.gz
Algorithm Hash digest
SHA256 228ac3238cbcb88250bfb5efb0e634217424a5198ff4218c93d96b196f567bc2
MD5 54290080f277cd9e8e965910ace4aa44
BLAKE2b-256 d1d1950c88348027218501ec19be5de3c789e63358401b900635311108c3b62c

See more details on using hashes here.

File details

Details for the file pyfaest-1.0.40-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: pyfaest-1.0.40-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 832.8 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for pyfaest-1.0.40-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 66afd92207ea7bdb4bda3cab4427379d3b1d325da04923a9fb3ce6143ae52302
MD5 34ffe654c1f9d2cb9b4f702d20c0936b
BLAKE2b-256 2d360332123c6ebcacdcd41cc1dca7f394867e11078605aea142579f94176372

See more details on using hashes here.

File details

Details for the file pyfaest-1.0.40-cp314-cp314-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pyfaest-1.0.40-cp314-cp314-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 85af5189e73fe106d589eec706e743223b4bd9afad845bf5c534421244332bbd
MD5 b0ff99d0fa248e0df42d04c45136c2f7
BLAKE2b-256 34124b5e296070f59ca2cc9b64b495cf50b8497e7dc0eaf3f86b71baee64dad8

See more details on using hashes here.

File details

Details for the file pyfaest-1.0.40-cp314-cp314-macosx_15_0_universal2.whl.

File metadata

File hashes

Hashes for pyfaest-1.0.40-cp314-cp314-macosx_15_0_universal2.whl
Algorithm Hash digest
SHA256 c0d1167d07dfe59de9186d5cc394eb7d2faa6f8c95dc4aace4efc06de8301bab
MD5 142476c4c108e92c12db7d59d035f2dc
BLAKE2b-256 603ef5954de8a7491ed88b04d481c53cc34fc5117a459d91f2cbffd2a32e163a

See more details on using hashes here.

File details

Details for the file pyfaest-1.0.40-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pyfaest-1.0.40-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 818.4 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for pyfaest-1.0.40-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 53c8f26409a1256272dfcd7e9d55157d6bfd857dbfaa8e8e105468abb2c739bd
MD5 8c752fee116e7496f1a67cab2bd4d45c
BLAKE2b-256 9c4a274e047bf66c876f8a599f1514782d13ed9e74e2e29561baecc85dac1f33

See more details on using hashes here.

File details

Details for the file pyfaest-1.0.40-cp313-cp313-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pyfaest-1.0.40-cp313-cp313-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 3979b29618baf094d655375af49474279a04add50e18defc74fc41c6667004cf
MD5 05bbf71be6f554de4579bb06653852bd
BLAKE2b-256 b00bfa834904756ef3fa39f99e3ecd380c290a4c466a972e5b75e659925da4df

See more details on using hashes here.

File details

Details for the file pyfaest-1.0.40-cp313-cp313-macosx_15_0_universal2.whl.

File metadata

File hashes

Hashes for pyfaest-1.0.40-cp313-cp313-macosx_15_0_universal2.whl
Algorithm Hash digest
SHA256 f6ca0213800791384ca107a64427d3dca269ab0ca3f1a50340fb9a4801a0ab25
MD5 fc5cf53ffed63ef3b4b597a05dbc72c7
BLAKE2b-256 64cd4f74767d5e17aeb2050c81a6de5832a91f86a115a752279da76b36e83908

See more details on using hashes here.

File details

Details for the file pyfaest-1.0.40-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pyfaest-1.0.40-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 818.4 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for pyfaest-1.0.40-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e1965bf4711cf75e3e4b4d8cff0b7890eb194b8fd1e69c6946bac1da29e3e4c8
MD5 cc176cb3793edd8a4ab5cc42a14ad095
BLAKE2b-256 3a1d296de06d26aec4a242510974996970b530de020c2d49878a6763929daf1e

See more details on using hashes here.

File details

Details for the file pyfaest-1.0.40-cp312-cp312-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pyfaest-1.0.40-cp312-cp312-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 0791b14264311c9db33beca6eca068366d2a3a38cea62bbeda4bbba0d14ed65f
MD5 10e376f2f8094d8ab3ac76b113e9c8cc
BLAKE2b-256 1ea34314df1f8c3d9b6c4a302a46e5781b795ec4c038e12eb228d842d2154181

See more details on using hashes here.

File details

Details for the file pyfaest-1.0.40-cp312-cp312-manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for pyfaest-1.0.40-cp312-cp312-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 7e5f4a2560fd18aa6232aa883692dce4d69fd6a59286718d4ea34d323d540e33
MD5 1499f48276e3d988609be7f5178418f2
BLAKE2b-256 141696b7a4ec842c3715e94724db5fbc5ec84844832960e5e2367b31b5ded9ac

See more details on using hashes here.

File details

Details for the file pyfaest-1.0.40-cp312-cp312-macosx_15_0_universal2.whl.

File metadata

File hashes

Hashes for pyfaest-1.0.40-cp312-cp312-macosx_15_0_universal2.whl
Algorithm Hash digest
SHA256 0f91978589b55a3586d5365de7bd10e3a353e9d929fdcf59b046224e3feb89b4
MD5 4ed3ca487ecd56eaa1217125fb4d3875
BLAKE2b-256 da61c44a6ea7214a3bcb5b9656895cd9f5516d78c0177090d15312a40267f48c

See more details on using hashes here.

File details

Details for the file pyfaest-1.0.40-cp312-cp312-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for pyfaest-1.0.40-cp312-cp312-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 52c11b4a6ca8c07943c2c18c94788606d00720302017a590b22cdd626d226357
MD5 d6a016f3654b9b7b05b549c052e32520
BLAKE2b-256 3a4223f17c7d955de44001338e82657ac0cd0f1aa6cbcc2edca69b8ede52a5a5

See more details on using hashes here.

File details

Details for the file pyfaest-1.0.40-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pyfaest-1.0.40-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 818.4 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for pyfaest-1.0.40-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 515172690544f6d6130a6cb6be30c88773188c5983d9cef0cfd6304a1c1a02cc
MD5 9f00dd3b1a61be6bac2b44a9789ba3e0
BLAKE2b-256 53428d23a6a376a2df60a7e847aa22e185760f90750cd1e401fc6c244e6447f0

See more details on using hashes here.

File details

Details for the file pyfaest-1.0.40-cp311-cp311-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pyfaest-1.0.40-cp311-cp311-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 d7ce555abc7f2b1f597d3fd1c0427787fad388405006fac6349eddaa7b0e6bd7
MD5 6b7d6c8b8348e611dd717f826072266d
BLAKE2b-256 83c84e53968730a2b99d8d77345da2824ae42a16ef40662376345e9fbbcb0d45

See more details on using hashes here.

File details

Details for the file pyfaest-1.0.40-cp311-cp311-manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for pyfaest-1.0.40-cp311-cp311-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 74c73a219529c67ed215920fae9165c3b8b41704d66dfa0ad45c4091319c074a
MD5 043bda603d67c5f7f08a982ceb3e2705
BLAKE2b-256 125a3b7ab87b0f53a537ca80cf0690ba787758195c73c32909d11319821d6edd

See more details on using hashes here.

File details

Details for the file pyfaest-1.0.40-cp311-cp311-macosx_15_0_universal2.whl.

File metadata

File hashes

Hashes for pyfaest-1.0.40-cp311-cp311-macosx_15_0_universal2.whl
Algorithm Hash digest
SHA256 d0890b5c0b4313e5c068fc31d3b8f85a0ddbe4c684ecf4ffb7cf0f6fd564f445
MD5 ecf57303d72d4a5c4abaaaf87d22bf88
BLAKE2b-256 019f5766272b71ddba13755c5b3161705d9e80ba5139ff9846b19c976bc28a44

See more details on using hashes here.

File details

Details for the file pyfaest-1.0.40-cp311-cp311-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for pyfaest-1.0.40-cp311-cp311-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 bb30e9f4807cf84a0cbb28b5268cd3d13b5ba47bc1e312d2460823e9d9ecdeef
MD5 35bc0f4eace20b7aed893668b820d16e
BLAKE2b-256 6c089b6c074c492bbc501d82f1369fb65018c4f679effebc98ea6cb38e4f2e9e

See more details on using hashes here.

File details

Details for the file pyfaest-1.0.40-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pyfaest-1.0.40-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 818.4 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for pyfaest-1.0.40-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 eaa1449b9d10c538dd81ef67426cb06f1acb25cbb4165921de72bafd15e0222d
MD5 e0658d3e15e3a88080cfcdafd5e397eb
BLAKE2b-256 4c4c6fc7f24fcce21d5c619d174596a6c836dd1699641eb313a38ecedfa78622

See more details on using hashes here.

File details

Details for the file pyfaest-1.0.40-cp310-cp310-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pyfaest-1.0.40-cp310-cp310-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 9f0b4381565f9d281acc80274eaa617f62917e1bef92a571cfb1f6ade2b3bed0
MD5 ffd7e4c9a8717ed2218eaf5da0d537ab
BLAKE2b-256 5bffa8c8fbc092c7a3066a15ff0b746c93ebe0b1ac852e0ddc18b512d49bd0c7

See more details on using hashes here.

File details

Details for the file pyfaest-1.0.40-cp310-cp310-manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for pyfaest-1.0.40-cp310-cp310-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 a26ac40e64b41a51e7854c8e76ab52e754ad8af8f03874f25f1f8e1c52795698
MD5 ae8bb57ca4264c1d08bbbbd733296c78
BLAKE2b-256 cc7d2b696e3fbd50d475aa6e31b8c0d3361b78a6cf6d730a3de675daf35eab3c

See more details on using hashes here.

File details

Details for the file pyfaest-1.0.40-cp310-cp310-macosx_15_0_universal2.whl.

File metadata

File hashes

Hashes for pyfaest-1.0.40-cp310-cp310-macosx_15_0_universal2.whl
Algorithm Hash digest
SHA256 fe41af682ee21904fcbd0e08879473aaa58f0189557fb5dc22e7d5222b04244f
MD5 c00da9cb790e149c742acc96784e62ad
BLAKE2b-256 43a8be202a8ecb7fbc1b275d277f842cb09779549afc0437dc38f1ec4f403d76

See more details on using hashes here.

File details

Details for the file pyfaest-1.0.40-cp310-cp310-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for pyfaest-1.0.40-cp310-cp310-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 7b7348975e4b7cbf65e39c3c87899835f582158327b1dd40c2e2e0b48972f524
MD5 0b7fc87225f5c940ba4282ad7a6d8e5d
BLAKE2b-256 5c92f581bb29c9e959b41539959cc1318f028148a74eedac6af93a72468e857a

See more details on using hashes here.

File details

Details for the file pyfaest-1.0.40-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: pyfaest-1.0.40-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 818.4 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for pyfaest-1.0.40-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 88e3b2e2af7e74998f0cea0f568db36ccae3cd846b729bc649b9198fd7cde6b9
MD5 c58603def022bb36e5bfd975289ed29d
BLAKE2b-256 e202e30d98bf591948507b07325e8489416f521805e6351f1990a46a5fc41990

See more details on using hashes here.

File details

Details for the file pyfaest-1.0.40-cp39-cp39-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pyfaest-1.0.40-cp39-cp39-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 4c3aeb8610a8e620ca334a76862c0455b44f273b2ec9f33adbb08be21635ce59
MD5 917bf0479800ac4227297cd796ca377a
BLAKE2b-256 13ac0f710bca64665da6f8f0f11c1c47bdc6e6ea2f56a58fb5110174feaf12f4

See more details on using hashes here.

File details

Details for the file pyfaest-1.0.40-cp39-cp39-manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for pyfaest-1.0.40-cp39-cp39-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 ccb4e81163bead551aa42b2a9a3ce4734619fb7310dba01e65b06c3fd9f74881
MD5 b4eae65c731df290684e97a6f5f5079c
BLAKE2b-256 6fd4cd22ed3e39dcd74c36eeb1ad950b2417b96353f097db48bf49b6e6cbc66e

See more details on using hashes here.

File details

Details for the file pyfaest-1.0.40-cp39-cp39-macosx_15_0_universal2.whl.

File metadata

File hashes

Hashes for pyfaest-1.0.40-cp39-cp39-macosx_15_0_universal2.whl
Algorithm Hash digest
SHA256 8fc659dd340c1ff1c2dbd3f0922a3203108278122392d3a5bbefcabd6fea6423
MD5 ed35709d0452a951fe2230579a64286e
BLAKE2b-256 8713ec0a7a8a4a0e59967c74d1cc67758ca7187d219fa2c12220b80feb0edef4

See more details on using hashes here.

File details

Details for the file pyfaest-1.0.40-cp39-cp39-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for pyfaest-1.0.40-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 a610a8bb24acea7fd0970059374c02208436cf99498593451bde97cbdd727e06
MD5 7069dfe90f9849e9c26d86fc6140a738
BLAKE2b-256 c0a2f97f1bbafdf8f4df656eb23b1b00a65f32486033cf2488416c74adb70ce6

See more details on using hashes here.

File details

Details for the file pyfaest-1.0.40-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: pyfaest-1.0.40-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 818.3 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for pyfaest-1.0.40-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 8488f08d09dde48e3b809818eb520c30014b568beb3edae781d3194cf7d6702a
MD5 5e3931f4357e1f899fc52accf2917890
BLAKE2b-256 b8f70ca49a05e4d0513bb2647c926e960b15d9e37b7e0612fa672bd9c58f2fd3

See more details on using hashes here.

File details

Details for the file pyfaest-1.0.40-cp38-cp38-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pyfaest-1.0.40-cp38-cp38-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 62252f13557a149bc0f29a67855d0bb78b3743b37e9a41453aa579adbe33383a
MD5 3ef44eae5eda37b0cd0a89c0cfd0d74f
BLAKE2b-256 a0f49d9d9a943ce0705978b73f1636f95209e963a57522ebd20a43c3a42ddbd5

See more details on using hashes here.

File details

Details for the file pyfaest-1.0.40-cp38-cp38-macosx_15_0_universal2.whl.

File metadata

File hashes

Hashes for pyfaest-1.0.40-cp38-cp38-macosx_15_0_universal2.whl
Algorithm Hash digest
SHA256 a9b82509bea10f85fd1618ae5244c249c725f02ee437329aa38851870fde83ab
MD5 796eea1ea5fc777be64967e7813b2e0b
BLAKE2b-256 b985c7768b835ad5860c891203fa93af7416a546b3011af33e1e5f0508cf1f5a

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