Skip to main content

TurboFastApply

A drop-in, accelerated replacement for pandas.apply().

Status: feature-complete (all 8 roadmap phases) — numeric transforms detected as linear/abs (x * 2 + 1) and row-wise DataFrame functions that are linear combinations of columns (row['a'] + row['b']) run through genuine native fast paths, ~6.2x and ~4.6x faster than plain pandas.apply() on 1,000 rows respectively (examples/benchmark.py). A dedicated small-data optimization pass (dedup'd array/Index construction, replacing numpy scalar calls with plain Python arithmetic in the hot verification path, avoiding redundant column-selection/NaN scans) also closed a real regression that used to exist from 50 rows onward — see "Benchmarks: previous vs now" below for exact numbers. A follow-up pass replaced the row-wise path's real per-row pandas Series construction (for its correctness-required probe/verification rows) with a lightweight dict-based stand-in (_RowView in decide_row.py), cutting that fixed cost by 3-4x and lowering its engine="auto" threshold (MIN_ROWS) from an interim 300 back down to 100 — now a genuine win from 50 rows up, not just parity. See "Benchmarks: previous vs now" for the full before/after. Arbitrary callables that don't qualify get a sampling-based threaded fallback that only engages when actually measured faster (helps I/O-bound work, correctly declines pure-CPU-bound Python). Everything else falls back to native pandas.apply(), so .turbofastapply is always correctness-equivalent to it. See claude.md for the full roadmap, including three real correctness bugs found and fixed during hardening.

String ops (str.upper/.lower/.strip, .turbofastapply.str.contains()/ .replace()) are implemented and correct but not faster in practice — benchmarked from 500 to 1,000,000 rows, consistently ~0.6–0.8x plain pandas — so they're excluded from the default engine="auto" and only reachable via explicit engine="native". See "Options" below.

Development

The native extension is built with PyO3 + maturin.

python -m venv .venv
.venv/Scripts/activate        # Windows
pip install maturin pytest pandas numpy
maturin develop                # builds the extension and installs it in the venv
pytest -v

If maturin develop fails to launch on your machine (e.g. maturin.exe can't load api-ms-win-crt-*.dll because only the GNU Rust toolchain is installed and the MSVC Visual C++ Redistributable is missing), use the fallback build script instead. It calls cargo build directly, drops the resulting DLL into the package as a .pyd, and links python/ into the venv via a .pth file (same end result as maturin develop, so import turbofastapply works from anywhere without setting PYTHONPATH):

./build.ps1
.venv/Scripts/python.exe -m pytest -v

CI (GitHub Actions, .github/workflows/ci.yml) runs on Ubuntu with a properly provisioned toolchain, so maturin develop works there regardless.

Usage

The accessor is directly callable — s.turbofastapply(func) is the primary API, not s.turbofastapply.apply(func) (kept only as an alias):

import pandas as pd
import turbofastapply  # registers the .turbofastapply accessor

s = pd.Series([1, 2, 3])
s.turbofastapply(lambda x: x * 2)   # identical result to s.apply(lambda x: x * 2)

df = pd.DataFrame({"a": [1, 2, 3], "b": [4, 5, 6]})
df.turbofastapply(lambda row: row["a"] + row["b"], axis=1)

# Whitelisted string methods and regex ops (.turbofastapply.str mirrors
# pandas' own .str accessor) are implemented and correct, but not
# faster than plain pandas in practice — see the Status note above.
# They use plain pandas by default; engine="native" forces the compiled
# path if you want it anyway:
names = pd.Series(["  Ada  ", "GRACE", "margaret"] * 50)
names.turbofastapply(str.upper, engine="native")
names.turbofastapply.str.contains(r"^GRACE$")

# .groupby(...).turbofastapply(func) also works — a drop-in for
# .groupby(...).apply(func) with the same engine/verbose/progress_bar
# options as everything else. engine="auto" tries a threaded parallel
# fallback first (measured, not assumed — same approach as the
# GIL-releasing-callable case above, just chunked by group), for
# GroupBy objects with at least 800 groups — a real, ~2x+ speedup for
# GIL-releasing callables, verified never to regress a CPU-bound one
# even at that scale (see claude.md's P9 section for why the threshold
# is that high). Below that it falls back to plain pandas immediately,
# no measurement overhead paid. There's no *native* (Rust) GroupBy path
# though, so engine="native" raises rather than pretending to
# accelerate something that doesn't exist yet.
df.groupby("a").turbofastapply(lambda g: g["b"].sum())

Options

s.turbofastapply(func, engine="auto")     # default: try the native fast path, fall back silently
s.turbofastapply(func, engine="pandas")   # always plain pandas .apply(), skips the eligibility check
s.turbofastapply(func, engine="native")   # require the fast path; raises ValueError with the
                                     # specific reason if func isn't eligible, instead of
                                     # silently falling back

s.turbofastapply(func, verbose=True)      # prints which engine was used and why, to stderr

s.turbofastapply(func, progress_bar=True) # progress bar for the pandas-fallback path only —
                                     # the native path is one vectorized call, nothing to
                                     # report progress on there

Benchmarks

examples/benchmark.py compares plain pandas.apply() against .turbofastapply() on 1,000 rows (median of 50 runs, 5 warmup): the numeric-transform case (x * 2 + 1) lands at ~6.2x and the row-wise case (row['a'] + row['b'], notoriously slow in vanilla pandas since it constructs a Series per row) at ~4.6x. It also runs the string case both ways — default engine="auto" (matches plain pandas exactly, no native path picked) and forced engine="native" — to show directly why "auto" never picks it.

Benchmarks: previous (PyPI 0.1.0) vs now

The 0.1.0 release published to PyPI had a real regression from small data up through a few hundred rows — turbofastapply was slower than plain pandas in that range, not just less of a win. A follow-up optimization pass (not yet released) fixed the redundant work causing it: deduplicated array/Index construction that used to run twice per call, np.isclose()/np.round() scalar calls replaced with plain Python arithmetic in the hot verification path (measured at ~38% of decide()'s total time by itself), and eliminating a redundant DataFrame column-selection + a redundant .isna() column scan in the row-wise path. Median of 100 runs (60 for row-wise), 15 warmup, timed against turbofastapply==0.1.0 installed from PyPI in a clean venv vs. the same numbers from this optimization applied locally:

Numeric path (s.turbofastapply(lambda x: x * 2 + 1))

rows previous (0.1.0) now previous speedup now speedup
50 0.162ms 0.053ms 0.34x (regression) 1.29x
100 0.161ms 0.053ms 0.42x (regression) 1.29x
200 0.191ms 0.054ms 0.53x (regression) 1.83x
500 0.165ms 0.055ms 1.15x 3.46x
1,000 0.187ms 0.056ms 2.06x 6.20x
5,000 0.194ms 0.060ms 9.77x 25.75x

Row-wise path (df.turbofastapply(lambda row: row['a'] + row['b'], axis=1))

Three passes. Pass 1 (dedup'd Index construction, reused used-column arrays) narrowed the regression but never closed it. Pass 2 raised MIN_ROWS from 50 to 300 so engine="auto" would decline rather than engage a losing native call below that size — parity, not a win. Pass 3 replaced the actual cost driver — a real pandas Series built per probe and verification row — with _RowView, a plain-dict stand-in supporting row['col']/row.col (everything an affine row function needs) without pandas' Series.__init__ overhead; a function needing more of the real Series API (row.sum(), .values, ...) safely declines instead of breaking. That cut the fixed cost 3-4x and let MIN_ROWS drop to 100 — the first size where every trial in an 8-trial sweep cleared 1x:

rows previous (0.1.0) pass 1 pass 2 pass 3 (current)
50 0.41x (regression) 0.30x (regression) 1.0x (declines) 1.0x (declines, matches pandas)
100 0.47x (regression) 0.82x (regression) 1.0x (declines) ~2x (native engages from here)
200 0.86x (regression) 1.29x 1.0x (declines) ~1.5-3x
500 1.96x 2.03x ~3x ~5-7x
1,000 4.25x 4.58x ~7x ~10-20x
5,000 22.25x 22.84x ~30x ~90-100x

engine="native" still works below 100 rows for anyone who wants the fast path regardless of profitability (enforce_min_rows=False bypasses the threshold on an explicit request, same as the numeric path). See claude.md for the full investigation.

cargo bench (benches/native_benches.rs) benchmarks the pure Rust compute cores directly (1,000 / 50,000 / 200,000 elements), independent of Python/PyO3 marshaling overhead — useful for catching a regression in the Rust layer itself.

examples/benchmark_vs_competitor.py adds a comparison against another accelerated-.apply() library. It's a separate opt-in script (not a turbofastapply dependency), since that library pulls in dask, tqdm, etc. As of this writing its 1.4.0 release doesn't run cleanly against recent pandas/Python — see that script's error message for the specific compatibility gap if you hit it.

Metadata

Release files for turbofastapply 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for turbofastapply 0.1.1
File Size Uploaded Provenance Actions
turbofastapply-0.1.1.tar.gz 33.1 kB With provenance Details for turbofastapply-0.1.1.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for turbofastapply 0.1.1
File Actions
turbofastapply-0.1.1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for turbofastapply-0.1.1-cp314-cp314-win_amd64.whl
turbofastapply-0.1.1-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details for turbofastapply-0.1.1-cp314-cp314-manylinux_2_28_x86_64.whl
turbofastapply-0.1.1-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl CPython 3.14 CPython 3.14 macOS 10.12+ x86-64, macOS 10.12+ universal2 (ARM64, x86-64), macOS 11.0+ ARM64 Details for turbofastapply-0.1.1-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
turbofastapply-0.1.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for turbofastapply-0.1.1-cp313-cp313-win_amd64.whl
turbofastapply-0.1.1-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details for turbofastapply-0.1.1-cp313-cp313-manylinux_2_28_x86_64.whl
turbofastapply-0.1.1-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64, macOS 10.12+ universal2 (ARM64, x86-64), macOS 10.12+ x86-64 Details for turbofastapply-0.1.1-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
turbofastapply-0.1.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for turbofastapply-0.1.1-cp312-cp312-win_amd64.whl
turbofastapply-0.1.1-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details for turbofastapply-0.1.1-cp312-cp312-manylinux_2_28_x86_64.whl
turbofastapply-0.1.1-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl CPython 3.12 CPython 3.12 macOS 10.12+ x86-64, macOS 10.12+ universal2 (ARM64, x86-64), macOS 11.0+ ARM64 Details for turbofastapply-0.1.1-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
turbofastapply-0.1.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for turbofastapply-0.1.1-cp311-cp311-win_amd64.whl
turbofastapply-0.1.1-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details for turbofastapply-0.1.1-cp311-cp311-manylinux_2_28_x86_64.whl
turbofastapply-0.1.1-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl CPython 3.11 CPython 3.11 macOS 10.12+ x86-64, macOS 10.12+ universal2 (ARM64, x86-64), macOS 11.0+ ARM64 Details for turbofastapply-0.1.1-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
turbofastapply-0.1.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for turbofastapply-0.1.1-cp310-cp310-win_amd64.whl
turbofastapply-0.1.1-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details for turbofastapply-0.1.1-cp310-cp310-manylinux_2_28_x86_64.whl
turbofastapply-0.1.1-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl CPython 3.10 CPython 3.10 macOS 10.12+ x86-64, macOS 10.12+ universal2 (ARM64, x86-64), macOS 11.0+ ARM64 Details for turbofastapply-0.1.1-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl

Total release size: 17.0 MB

Release files / turbofastapply-0.1.1.tar.gz

Download URL turbofastapply-0.1.1.tar.gz
Size 33.1 kB
Tags Source
SHA-256 checksum
How to use checksums
3d3f8f5c71dd56e6c28f7018fda5b3f75bf6dd79be274339ce5873b58cab4e84
BLAKE2b-256 checksum
How to use checksums
b87ae4121c4676a90b0d7b273e8cf20cf07eb616b37c65222a2ff22e4c02a4bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / turbofastapply-0.1.1-cp314-cp314-win_amd64.whl

Download URL turbofastapply-0.1.1-cp314-cp314-win_amd64.whl
Size 794.5 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
503661ca2ef03777d50032c951d989256f0a446859b40ca56662f94d615287d7
BLAKE2b-256 checksum
How to use checksums
dd84ae715b5661996fa94951be55b5395d1285f7e8e0d14884785efbb13b41a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / turbofastapply-0.1.1-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL turbofastapply-0.1.1-cp314-cp314-manylinux_2_28_x86_64.whl
Size 932.9 kB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
e9838f277f56197e27a8e2202c6285d51b7e7a98c659c9b93e22a8f66b348185
BLAKE2b-256 checksum
How to use checksums
23c39a7abcc55e8251708edbcb7d2221c70807fc6915591f545dd3fee1cd123d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / turbofastapply-0.1.1-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl

Download URL turbofastapply-0.1.1-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Size 1.7 MB
Tags CPython 3.14 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3b131f4f60d0a96d2ea546dbd779202488dae5d3550c43265884f8e34177be76
BLAKE2b-256 checksum
How to use checksums
4da63abe75e61ab07386701fd271a8581845459679d38377f8c8dd8f8b0bb0aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / turbofastapply-0.1.1-cp313-cp313-win_amd64.whl

Download URL turbofastapply-0.1.1-cp313-cp313-win_amd64.whl
Size 795.5 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
b7770cebc87a947aacef1efef5486977d1159fe437433a44f394c7811c38138f
BLAKE2b-256 checksum
How to use checksums
7e0bd3c77bc6a31cdb3484342fe1680fdd0739954e05efa74c2036d776335b71
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / turbofastapply-0.1.1-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL turbofastapply-0.1.1-cp313-cp313-manylinux_2_28_x86_64.whl
Size 933.2 kB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ac272220be5096f2a5d9a2ec1b67402f89edda3be1f9cd77871b0ef1aa59aee5
BLAKE2b-256 checksum
How to use checksums
c75d82862c6c433d219dd107dcee3046d317a90d1d7d9628d892eaae32274af3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / turbofastapply-0.1.1-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl

Download URL turbofastapply-0.1.1-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Size 1.7 MB
Tags CPython 3.13 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
409d68be48d88610e99240524da8b373b95149258a5a3f9ddafbf3d3f12999cd
BLAKE2b-256 checksum
How to use checksums
6ac4666fc4a2a8b73b49f3b79fb87657eecbab3463d5ac636fa562e99f564ef6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / turbofastapply-0.1.1-cp312-cp312-win_amd64.whl

Download URL turbofastapply-0.1.1-cp312-cp312-win_amd64.whl
Size 795.2 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
b5ed5e7c8443317085c61471a8f903f9f833cd92c654880b890ddc50a6b194b3
BLAKE2b-256 checksum
How to use checksums
9c9b925748317c9268f877386734538c98f95df44841ea6ee30c562fc27ebde5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / turbofastapply-0.1.1-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL turbofastapply-0.1.1-cp312-cp312-manylinux_2_28_x86_64.whl
Size 933.0 kB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0388334f4825e1d94df311e97f84c43c7cfdf67af740fb41e82394a1d8793817
BLAKE2b-256 checksum
How to use checksums
89b1ce27977ad8f9c8718ad20b3679f75b1e2fad11912c7cdfe09ef472a768e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / turbofastapply-0.1.1-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl

Download URL turbofastapply-0.1.1-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Size 1.7 MB
Tags CPython 3.12 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8c2ef4a81d3c0c6d0d45b28ee3ae4f315c197cf38e871b54ba99c5919773b304
BLAKE2b-256 checksum
How to use checksums
e7bda2551b6e00c5fa1369d4b595734da4be36ea3df172952fee84eac7a34f3f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / turbofastapply-0.1.1-cp311-cp311-win_amd64.whl

Download URL turbofastapply-0.1.1-cp311-cp311-win_amd64.whl
Size 797.3 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
4696257799a39aeba34ab938b0e2d5423ea1d9536afed2cc181a46f945f4ed7c
BLAKE2b-256 checksum
How to use checksums
435870954bd263570bc688fadecaa32b6640b77003142981f8febf27a7d23933
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / turbofastapply-0.1.1-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL turbofastapply-0.1.1-cp311-cp311-manylinux_2_28_x86_64.whl
Size 934.4 kB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c5d75c6b737afce3cf7e9b73ff52bc0a910f15f5f3f2195258e0eb99762bff8f
BLAKE2b-256 checksum
How to use checksums
1643b44938e2b943c13bd01806383fc47adae83bbacafe532e4f106933fcfb00
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / turbofastapply-0.1.1-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl

Download URL turbofastapply-0.1.1-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Size 1.7 MB
Tags CPython 3.11 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2b91a79f2af7f4b87dfbb93e218bc9295ddcef42a32eda2561894ab45f7642bd
BLAKE2b-256 checksum
How to use checksums
0e752f51017c126d0c1cbf5365b0be21bda8fd2037cf8068445eb8002e4d6166
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / turbofastapply-0.1.1-cp310-cp310-win_amd64.whl

Download URL turbofastapply-0.1.1-cp310-cp310-win_amd64.whl
Size 797.8 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
f1673e7d3fcfa1b60165cbd58725540ac555b987d269174fcae2aa9424fdf2f1
BLAKE2b-256 checksum
How to use checksums
affe16c48ee78208aca49845db25ebcf2b5566cfccc9edd6534afa893c38aed9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / turbofastapply-0.1.1-cp310-cp310-manylinux_2_28_x86_64.whl

Download URL turbofastapply-0.1.1-cp310-cp310-manylinux_2_28_x86_64.whl
Size 934.7 kB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
e253a96558dbde16e85f8c57bead8072d7d4b6701c700465419a5b0525cdf60f
BLAKE2b-256 checksum
How to use checksums
ebfa184562c417899d0b75abf965c67b413ef027724670e98dfb004c597bb5e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / turbofastapply-0.1.1-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl

Download URL turbofastapply-0.1.1-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Size 1.7 MB
Tags CPython 3.10 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
51dbe8b3e02ccf1e7f4719bb0ee9bbf9cb9fda889b2e6841a07513e315365fc1
BLAKE2b-256 checksum
How to use checksums
6ab7e3c0b9766c93ab47af59b59b420ba30e73f4e94f4fe0625701ce795c40ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Security for turbofastapply 0.1.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.

Full provenance

All 16 files in this release have been uploaded with provenance metadata.

Select from 16 files

Attestation for turbofastapply-0.1.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

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.

Release history Release notifications | RSS feed

This release

0.1.1 This release

16 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page