FuncCraft
FuncCraft is a Python package backed by a C++17 benchmark-function generator for black-box optimization research. It is designed for scalable benchmark suite generation across dimensions: one editable suite YAML file can generate hundreds, thousands, or practically unlimited numbers of distinct benchmark functions while controlling the constructed optimum location and optimum value.
Install
python -m pip install --upgrade funccraft
python -m pip install numpy scipy minionpy
YAML-First Workflow
Suite YAML is the easiest way to configure FuncCraft from files. The same
structure can also be passed as a Python dictionary to BenchmarkSuite.
supported_dimensions: any
base_functions: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34]
composition_base_functions: [4, 8, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 23, 28, 30, 34, 33, 2, 3, 5, 9, 26, 27]
coordinate_transforms:
- kind: none
probability: 0.0
parameters: []
- kind: rotation
probability: 0.34
parameters: []
- kind: affine
probability: 0.33
parameters: []
- kind: subspace-rotation
probability: 0.33
parameters: []
value_transforms:
- kind: none
probability: 0.5
parameters: []
- kind: power
probability: 0.25
parameters: []
- kind: oscillatory
probability: 0.25
parameters: []
- kind: cosine-zero
probability: 0.0
parameters: []
compositions:
- kind: cpm-wsum
probability: 0.1
parameters: []
- kind: cpm-power-mean
probability: 0.1
parameters: [3.0]
- kind: cpm-power-mean
probability: 0.1
parameters: [0.1]
- kind: cpm-level-well
probability: 0.2
parameters: []
- kind: dpm-softmax
probability: 0.25
parameters: [0.005]
- kind: dpm-bgsoftmax
probability: 0.25
parameters: [0.005, 1.0, 0.01]
min_components: 2
max_components: 5
max_nested_composition_depth: 1
nested_probability: 0.1
requested_number_of_functions: 500
master_seed: 1
lower_bound: -100
upper_bound: 100
assigned_fopt: 100.0
xopt_domain_shrink_factor: 0.8
suite_label: my-suite
Load the YAML and evaluate a function. Function indices are one-based:
import funccraft as fc
dimension = 10
function_index = 1
suite = fc.BenchmarkSuite("my_suite.yaml", dimension=dimension)
f = suite.function(function_index)
points = [[0.0] * dimension, [1.0] * dimension]
values = f.evaluate(points)
print(values)
The packaged 2026 suite is also YAML-backed and exposed through a shortcut:
import funccraft as fc
dimension = 10
function_index = 1
year = 2026
version = 1
suite = fc.SuiteCollection(year=year, version=version).benchmark_suite(dimension)
f = suite.function(function_index)
values = f.evaluate([[0.0] * dimension])
All evaluations are batched: pass a list of points, not one flat point vector.
Optimization
SciPy:
import numpy as np
from scipy.optimize import differential_evolution
import funccraft as fc
dimension = 10
function_index = 1
year = 2026
version = 1
suite = fc.SuiteCollection(year=year, version=version).benchmark_suite(dimension)
f = suite.function(function_index)
domain = f.domain
bounds = list(zip(domain.lower_bound, domain.upper_bound))
def objective(x):
return f.evaluate([np.asarray(x, dtype=float).tolist()])[0]
result = differential_evolution(objective, bounds, seed=1, polish=False)
print(result.x, result.fun)
MinionPy:
import funccraft as fc
import minionpy as mpy
dimension = 10
function_index = 1
year = 2026
version = 1
suite = fc.SuiteCollection(year=year, version=version).benchmark_suite(dimension)
f = suite.function(function_index)
domain = f.domain
optimizer = mpy.Minimizer(
func=f.evaluate,
x0=[
[0.0] * dimension,
[1.0] * dimension,
[-0.5] * dimension,
],
bounds=list(zip(domain.lower_bound, domain.upper_bound)),
algo="ARRDE",
maxevals=10000,
callback=None,
seed=None,
options=None,
)
result = optimizer.optimize()
print(result.x, result.fun)
Mechanism Summary
FuncCraft builds functions from primitive benchmark landscapes, coordinate transforms, value transforms, and composition rules:
f(x) = assigned_fopt + scale_factor * psi(x, z_1(x), ..., z_m(x))
z_i(x) = component_scale_i * phi_i(g_i(T_i(x)) - f_i*)
Omitted component scales and the final scale_factor are estimated
deterministically at construction time and materialized in exported specs.
Implemented mechanism families include:
- 34 primitive base functions, including Sphere, Rosenbrock, Ackley, Rastrigin, Griewank, Schwefel, Katsuura, Levy, BentCigar, HappyCat, HGBat, and StyblinskiTang.
- coordinate transforms:
none,rotation,affine,subspace-rotation. - value transforms:
none,power,oscillatory,cosine-zero,huber,log,softplus-threshold,dead-zone,saturating,piecewise-power,noisy-smooth. - compositions:
none,cpm-wsum,cpm-power-mean,cpm-level-well,cpm-max,cpm-smoothmax,cpm-constraint-penalty,cpm-lexicographic,cpm-product,cpm-max-plus-mean,cpm-cvar,dpm-softmax,dpm-bgsoftmax.
Components can also be nested composed functions, up to the configured
max_nested_composition_depth.
Names are parsed permissively: case, spaces, hyphens, and underscores are normalized before matching.
Exported Manifests
Input YAML is for configuration and editing. Exported YAML is a materialized record of what FuncCraft built:
f.export_yaml("function_materialized.yaml")
suite.export_manifest("suite_manifest.yaml")
Exported YAML records include generated matrices, selected subspaces, DPM centers and biases, assigned optima, scale factors, labels, and metadata.
Warning: the packaged 2026_v1 suite contains 1,000,000 functions. Exporting
the full shipped suite manifest will write every generated function record and
is usually unnecessary. To export a smaller reproducible subset, copy the
collection configuration dictionary, reduce requested_number_of_functions,
build the smaller suite, and export that suite:
import funccraft as fc
collection = fc.SuiteCollection(year=2026, version=1)
config = collection.config
config["requested_number_of_functions"] = 500
suite = fc.BenchmarkSuite(config, dimension=2)
suite.export_manifest("suite_2026_v1_first_500.yaml")
Links
- Documentation: https://funccraft.readthedocs.io/
- Python examples:
docs/source/python/examples.rst - C++ examples:
docs/source/cpp/examples.rst - Source: https://github.com/khoirulmuzakka/FuncCraft
- Issues: https://github.com/khoirulmuzakka/FuncCraft/issues
Metadata
Release files for funccraft 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 14.8 MB
Release files / funccraft-0.3.1-cp314-cp314-win_amd64.whl
| Download URL | funccraft-0.3.1-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 661.8 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
537d6316526ea12afbf240507e0f3d25e6e7093ce2ac3eda47942d19d94660ae
|
|
BLAKE2b-256 checksum How to use checksums |
bb4e1aa0a4e04457e7a605510ba02a16cfb5e6cc12f0f41e8fc76d667ca5a4d1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / funccraft-0.3.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | funccraft-0.3.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 813.5 kB |
| Tags | CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
46c870b146e4a6e463695fc9574513898d14c1c324118643bcaa7215468df940
|
|
BLAKE2b-256 checksum How to use checksums |
d7fb353693b49bc90580135bdccdaf66a2e7c549c65bdf4688f7ed0bae2dd616
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / funccraft-0.3.1-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | funccraft-0.3.1-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 487.4 kB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
09f41b43c6a3386fd7b121cd0937453938bd8a666ede4b0cbfc080136fd02e47
|
|
BLAKE2b-256 checksum How to use checksums |
2e565bed97472095e6195a9e68a4a8d84899cdbd072bea056406e8b75e6d4dad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / funccraft-0.3.1-cp314-cp314-macosx_10_15_x86_64.whl
| Download URL | funccraft-0.3.1-cp314-cp314-macosx_10_15_x86_64.whl |
|---|---|
| Size | 520.0 kB |
| Tags | CPython 3.14 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
76edf84b584337cbdcfd7c0542f72ef028afe40175d496dd43933f93cf313a22
|
|
BLAKE2b-256 checksum How to use checksums |
4f77a8d339955c710cc8627c819e104dae6282b0a9a5daa9e2b1971b8fb04bcf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / funccraft-0.3.1-cp313-cp313-win_amd64.whl
| Download URL | funccraft-0.3.1-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 640.7 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
a2adb7869eaeb3bbeb4e38d464ff244ba8f5eb5659ca44f315c6074047b52a75
|
|
BLAKE2b-256 checksum How to use checksums |
2e9ae53dbbe27ccc7676c144bfe4cb1676547735e0291ec30331a9637af7e97b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / funccraft-0.3.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | funccraft-0.3.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 813.5 kB |
| Tags | CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
bdcbe237e222647c2878f16c89136569f49459d4c13494b2f023cf8925c16c3b
|
|
BLAKE2b-256 checksum How to use checksums |
4f837d653855367c2af0276e3c666c6d86a2250a228eecbb9366dcf0e98af042
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / funccraft-0.3.1-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | funccraft-0.3.1-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 486.8 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
8f747e3aed9afe848e0adb88cfbe55e83f7e02d426c19e236cd4cbc93a1a03f6
|
|
BLAKE2b-256 checksum How to use checksums |
c480cea1d871a7efb0e7e41848bfa42d8c00029948d359f3cfad3fea30123327
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / funccraft-0.3.1-cp313-cp313-macosx_10_15_x86_64.whl
| Download URL | funccraft-0.3.1-cp313-cp313-macosx_10_15_x86_64.whl |
|---|---|
| Size | 519.5 kB |
| Tags | CPython 3.13 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
c897ae14fd97d6053059135891f729917b179c52e2ccc23e741480e18fcd6f3f
|
|
BLAKE2b-256 checksum How to use checksums |
9ccc9e2b44021a4a90b78828e246b7bc00d24029cca2a7900982fb30cadb4f3a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / funccraft-0.3.1-cp312-cp312-win_amd64.whl
| Download URL | funccraft-0.3.1-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 640.6 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
c402e2d0dfb99439777c884a464c078e91dff03b86510787ef130413f4cded91
|
|
BLAKE2b-256 checksum How to use checksums |
1db675cf423af8a8b72450a690d7437fd22028b9737343625af2ae833a062315
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / funccraft-0.3.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | funccraft-0.3.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 813.5 kB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
263234d713e134a875168264aa07ee0229b7b4189d3679b2378a26521a76502d
|
|
BLAKE2b-256 checksum How to use checksums |
f150aa2ab284cdaad7cebee5eb2414cb35ec0f8f30dfb478d7aa3e27238098c7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / funccraft-0.3.1-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | funccraft-0.3.1-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 486.7 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
a8a46bdcf47f23d644e2e6fe3109977a94a56b1e796c3cc58e4c810fae85c39d
|
|
BLAKE2b-256 checksum How to use checksums |
c2dd2040657faf9591c1fd5d1076faca3f4596ab6febc88ac9d2d22b0392aac9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / funccraft-0.3.1-cp312-cp312-macosx_10_15_x86_64.whl
| Download URL | funccraft-0.3.1-cp312-cp312-macosx_10_15_x86_64.whl |
|---|---|
| Size | 519.4 kB |
| Tags | CPython 3.12 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
adb5ff439344968602af81c2e0208a338616c42e0dce5a9259a8725ebea823aa
|
|
BLAKE2b-256 checksum How to use checksums |
746500b6903e2b4998dfea8d6c1817712eaa8d091347f46f3d4b4f2815164878
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / funccraft-0.3.1-cp311-cp311-win_amd64.whl
| Download URL | funccraft-0.3.1-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 639.9 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
e2d72060d4a45369060c2fcbea71487b7769ed35afde6698335afa589d35bc84
|
|
BLAKE2b-256 checksum How to use checksums |
69600e5618ab3f72da0e616e3f186485b557efff99e1c4cf3ec22d3d6c1c235d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / funccraft-0.3.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | funccraft-0.3.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 811.5 kB |
| Tags | CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
3167e4fe3d33cd04a71f3b32a15db9b408b521c08cfc2460fce2b8f9d57dccb8
|
|
BLAKE2b-256 checksum How to use checksums |
f5c17012ffce5390bea4757d056e2585785ae7789f6775c1156985eff82029d5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / funccraft-0.3.1-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | funccraft-0.3.1-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 486.6 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
59cacd146528707a708508917b0cab088a4c1b4484334978e91d33e5fb76ca34
|
|
BLAKE2b-256 checksum How to use checksums |
238cd3f052f2aab2f2c49d6084b97343188464f2cb4805a39b3d029685a8b307
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / funccraft-0.3.1-cp311-cp311-macosx_10_15_x86_64.whl
| Download URL | funccraft-0.3.1-cp311-cp311-macosx_10_15_x86_64.whl |
|---|---|
| Size | 516.1 kB |
| Tags | CPython 3.11 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
d8ceac55be1c70ebcae9201e62353434a00209c33e7d7d63c66bcb5ac0763c63
|
|
BLAKE2b-256 checksum How to use checksums |
2ae7be4e53c90717e4dc9de61e63d51b97df0620bf26614f59c301b97d9320ec
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / funccraft-0.3.1-cp310-cp310-win_amd64.whl
| Download URL | funccraft-0.3.1-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 638.8 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
40e3c44a8a928f88fbffd2cc52a1c7d9dcb3df3f0e10cdc35d3c99d2bd195659
|
|
BLAKE2b-256 checksum How to use checksums |
d2d6f39a1dcb83e0dbd3d07544a3dc34b4c4776c613c48f8d3f171a607cf0289
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / funccraft-0.3.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | funccraft-0.3.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 809.7 kB |
| Tags | CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
f87e9d970e555794901161287731d72c6588334aa705f0ad9bc9e26796469072
|
|
BLAKE2b-256 checksum How to use checksums |
f166115ce99b24c7450e9408f8262c9f4ce7d80e8c3e8d00f0e981bd38b67b6a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / funccraft-0.3.1-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | funccraft-0.3.1-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 485.6 kB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
c1543d17a0a7b58c27750faf4073254acdac5d002913c428bf225337c19efbdb
|
|
BLAKE2b-256 checksum How to use checksums |
ab92fa044502b3cf6466709a5cddba46c2da5990159d7e945918114c231fcdca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / funccraft-0.3.1-cp310-cp310-macosx_10_15_x86_64.whl
| Download URL | funccraft-0.3.1-cp310-cp310-macosx_10_15_x86_64.whl |
|---|---|
| Size | 514.7 kB |
| Tags | CPython 3.10 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
db3827a3ea7bc20fc1f01617a8fc0a82b60d3a1aadd5bbd967ecb43adb24b377
|
|
BLAKE2b-256 checksum How to use checksums |
10be3fb1f5ba06b20fc87fab28e3b3c72c18678d8e0ed897a7848c90c9be801a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / funccraft-0.3.1-cp39-cp39-win_amd64.whl
| Download URL | funccraft-0.3.1-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 655.4 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
1df8e2afc6dfdc794be6a6e023c8dac241d688d64b1227b343a2ab693042773b
|
|
BLAKE2b-256 checksum How to use checksums |
2f9d89f37ac6fa019b989205bc32558112f5415a6959bab3838cf42fb93119fb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / funccraft-0.3.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | funccraft-0.3.1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 809.9 kB |
| Tags | CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
966209ae8e5082de805faa7c0eeda58712ad30b98a7b86a844fae566112944c4
|
|
BLAKE2b-256 checksum How to use checksums |
a82d22bf454fcc22e311e001ac653978c6def9837cf9551d9cd7e8ab2ede4a7c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / funccraft-0.3.1-cp39-cp39-macosx_11_0_arm64.whl
| Download URL | funccraft-0.3.1-cp39-cp39-macosx_11_0_arm64.whl |
|---|---|
| Size | 485.7 kB |
| Tags | CPython 3.9 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
36af4020db79e63ffbfc956e243363c8c8501e33d1d3cf3cac083598ddf307f1
|
|
BLAKE2b-256 checksum How to use checksums |
b25901150834ab1474a4879e705ff113806bcb10fc9e9f3770ee8fa3c6f2167d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / funccraft-0.3.1-cp39-cp39-macosx_10_15_x86_64.whl
| Download URL | funccraft-0.3.1-cp39-cp39-macosx_10_15_x86_64.whl |
|---|---|
| Size | 514.8 kB |
| Tags | CPython 3.9 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
bde4a7d77e7e59e65423c96c3d342b98ba0703d3897e9766176fdd5d467d2a29
|
|
BLAKE2b-256 checksum How to use checksums |
e35ea3c23ffc23b1d1836d43a13a23f2df0b6e2614e500d0e932120785bd7209
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Security for funccraft 0.3.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.