IBM Netezza python driver - extended fork
Project description
nzpy_extended: High-performance IBM Netezza driver for Python
nzpy_extended is a hard fork of IBM nzpy — enriched with new features, major performance improvements via a C extension, and expanded platform support.
Key differences from upstream nzpy
| Feature | nzpy (IBM) | nzpy_extended |
|---|---|---|
| Row parsing performance (mixed types) | ~10 000 rows/s | ~63 000 rows/s (no C ext) → ~93 000 rows/s (+ C ext) |
| Supported Python | 3.5+ | 3.12, 3.13, 3.14 |
| Platform wheels | ❌ None | ✅ Linux x64, macOS ARM, Windows x64 (pre-built) |
| Async support | ❌ | ✅ Fully async API |
Performance gains vary by data type. For mixed-type workloads (most representative of real-world queries), nzpy_extended reaches ~49 000 rows/s with C extension (vs. ~5400 rows/s for official nzpy — a ~9× improvement on WSL2) and ~33 000 rows/s without C extension (~6× improvement). Per-type benchmarks with 100 k rows:
Windows 11
| Data type | official nzpy | nzpy_extended (no C ext) | nzpy_extended (+ C ext) | vs. ODBC |
|---|---|---|---|---|
| INTEGER | ~18 k rows/s | ~196 k rows/s | ~256 k rows/s | ≈ ODBC (~239 k) |
| NUMERIC | ~10 k rows/s | ~75 k rows/s | ~97 k rows/s | ≈ ODBC (~90 k) |
| STRING | ~18 k rows/s | ~75 k rows/s | ~79 k rows/s | ≈ ODBC (~69 k) |
| DATETIME | ~18 k rows/s | ~135 k rows/s | ~255 k rows/s | ≈ ODBC (~249 k) |
| BOOLEAN | ~23 k rows/s | ~243 k rows/s | ~401 k rows/s | ≈ ODBC (~359 k) |
| Mixed | ~4 900 rows/s | ~36 k rows/s | ~45 k rows/s | ≈ ODBC (~44 k) |
WSL2 (Linux x86_64)
| Data type | official nzpy | nzpy_extended (no C ext) | nzpy_extended (+ C ext) | vs. ODBC |
|---|---|---|---|---|
| INTEGER | ~21 k rows/s | ~203 k rows/s | ~640 k rows/s | ~92 k rows/s |
| NUMERIC | ~11 k rows/s | ~79 k rows/s | ~150 k rows/s | ~63 k rows/s |
| STRING | ~22 k rows/s | ~71 k rows/s | ~160 k rows/s | ~80 k rows/s |
| DATETIME | ~21 k rows/s | ~126 k rows/s | ~407 k rows/s | ~111 k rows/s |
| BOOLEAN | ~25 k rows/s | ~186 k rows/s | ~418 k rows/s | ~192 k rows/s |
| Mixed | ~5.4 k rows/s | ~33 k rows/s | ~49 k rows/s | ~20 k rows/s |
Note: WSL2 results were obtained on the same Netezza server as Windows 11 (192.168.0.144) — the higher throughput reflects Linux network stack efficiency. ODBC results use a ctypes-based ANSI-ODBC fallback (because pyodbc's Unicode API is incompatible with the Netezza ODBC driver on Linux). This wrapper fetches every cell individually via SQLGetData, so ODBC numbers on WSL2 are understated vs. native pyodbc on Windows (which uses SQLBindCol batch fetching). The real ODBC-vs-native gap on Linux is likely smaller.
macOS ARM64 (Apple M4)
Benchmarks run on a Mac mini (Apple M4, 16 GB RAM) — same Netezza server at 192.168.0.144. 100 k rows per query.
| Data type | official nzpy | nzpy_extended (no C ext) | nzpy_extended (+ C ext) |
|---|---|---|---|
| INTEGER | ~44 k rows/s | ~356 k rows/s | ~726 k rows/s |
| NUMERIC | ~22 k rows/s | ~122 k rows/s | ~195 k rows/s |
| STRING | ~39 k rows/s | ~143 k rows/s | ~183 k rows/s |
| DATETIME | ~42 k rows/s | ~253 k rows/s | ~683 k rows/s |
| BOOLEAN | ~53 k rows/s | ~449 k rows/s | ~786 k rows/s |
| Mixed | ~10 k rows/s | ~63 k rows/s | ~93 k rows/s |
The C extension accelerates integer, decimal, datetime, and boolean parsing by avoiding Python object allocations per field and struct.unpack overhead. String parsing is primarily network-bound, so the C extension offers minimal benefit there.
If the compiled extension is not available (unsupported platform or Python version), the driver gracefully falls back to pure Python with identical semantics.
Installation
pip install nzpy_extended
Pre-built wheels are provided for:
| Platform | Architecture | Python |
|---|---|---|
| Linux | x86_64 (manylinux) | 3.12 / 3.13 / 3.14 |
| macOS | ARM64 (Apple Silicon) | 3.12 / 3.13 / 3.14 |
| Windows | x86_64 | 3.12 / 3.13 / 3.14 |
For other platforms or Python versions, pip install will compile the C extension from source (requires a C compiler: GCC, Clang, or MSVC). On systems without a compiler the install will fail — use a supported platform or version.
Quick Start
Sync — scripts, ETL, Jupyter, Django
import nzpy_extended.sync as nzpy
conn = nzpy.connect(
user="admin", password="secret",
host="netezza-host", database="mydb",
)
with conn.cursor() as cur:
cur.execute("SELECT id, name FROM users WHERE active = ?", (1,))
for row in cur:
print(row)
Async — FastAPI, asyncio
import asyncio
import nzpy_extended as nzpy
async def main():
async with await nzpy.connect(
user="admin", password="secret",
host="netezza-host", database="mydb",
) as conn:
async with conn.cursor() as cur:
await cur.execute("SELECT id, name FROM users WHERE active = ?", (1,))
return await cur.fetchall()
asyncio.run(main())
FastAPI with connection pool
from fastapi import FastAPI, Depends
import nzpy_extended as nzpy
import nzpy_extended.fastapi as nzpy_fastapi
pool = nzpy.NzPool(
min_size=2, max_size=10,
host="netezza-host", database="mydb",
user="admin", password="secret",
)
app = FastAPI(lifespan=nzpy_fastapi.lifespan(pool))
@app.get("/users")
async def get_users(conn=Depends(nzpy_fastapi.get_connection)):
async with conn.cursor() as cur:
await cur.execute("SELECT * FROM users LIMIT 100")
return await cur.fetchall()
Bulk data loading via external table protocol
load_data() inserts rows from a Python iterable into a Netezza table using the native external table protocol (REMOTESOURCE 'python'). It supports optional automatic table creation.
# --- Auto-infer: create table + load in one step ---
rows = [(1, "Alice", 100.50), (2, "Bob", 200.75)]
count = await nzpy.load_data(conn, "my_table", rows)
print(f"Inserted {count} rows")
# --- Mixed types with auto-infer (INT, VARCHAR, NUMERIC, BOOLEAN, DATE) ---
from decimal import Decimal
from datetime import date
rows = [
(10, "item", Decimal("19.99"), True, date(2025, 1, 15)),
]
count = await conn.load_data("products", rows)
# Creates: col1 SMALLINT, col2 VARCHAR(255), col3 NUMERIC(4,2),
# col4 BOOLEAN, col5 DATE
# --- Explicit columns (no auto-infer) ---
count = await conn.load_data(
table_name="products",
rows=[(101, "Widget", 9.99)],
columns=[("id", "INT"), ("name", "VARCHAR(200)"), ("price", "NUMERIC(10,2)")],
)
# --- Generator for large datasets ---
def generate_rows(n):
for i in range(n):
yield (i, f"item_{i}")
count = await nzpy.load_data(conn, "my_table", rows=generate_rows(50000))
Parameters:
| Parameter | Default | Description |
|---|---|---|
conn / table_name / rows |
(required) | Connection, target table, row iterable |
columns |
None |
[(name, nz_type), ...] or None for auto-infer from data |
delimiter |
'|' |
Field delimiter (pipe is safe; use , with escape_char) |
encoding |
'LATIN9' |
Text encoding (use 'UTF8' for NVARCHAR columns) |
create_if_missing |
True |
Auto-create table if not exists |
temporary |
False |
Create TEMP TABLE |
distribute_on_random |
True |
Add DISTRIBUTE ON RANDOM to DDL |
logdir |
temp dir | Netezza log directory |
escape_char |
'\\' |
Escape character for delimiter within values (None to disable) |
Auto-infer column types: When columns is None and create_if_missing=True, the driver reads the first row and maps Python types to Netezza DDL: int → SMALLINT/INT/BIGINT, float → FLOAT, str → VARCHAR(255), Decimal → NUMERIC(p,s), bool → BOOLEAN, date → DATE, datetime → TIMESTAMP, bytes → BYTEA. Column names default to col1, col2, etc.
Note on delimiters and escaping: Netezza external tables do not support standard CSV double-quote quoting. When a value contains the delimiter character, it must be escaped with the escape character (default: \). The driver does this automatically.
The function is available both as a standalone nzpy.load_data() and as conn.load_data().
Requirements
- Python ≥ 3.12
- CPython (PyPy not supported for C extension, pure-Python fallback only)
Documentation
Testing
Running the test suite
Tests require a running Netezza instance. Set the connection environment variables:
export NZ_DEV_HOST=your_netezza_host
export NZ_DEV_PORT=5480
export NZ_DEV_DB=JUST_DATA
export NZ_DEV_USER=admin
export NZ_DEV_PASSWORD=password
Run all tests:
pytest tests/ -v
C Extension / Pure Python parity
The C extension and pure-Python fallback must produce identical results for all data types. Parity tests verify this in two ways:
Unit tests (tests/test_c_python_parity_unit.py) — compare individual C parser functions against Python reference implementations byte-by-byte. No database required.
pytest tests/test_c_python_parity_unit.py -v
Integration tests (tests/test_c_python_parity_integration.py) — run real SQL queries through both code paths and verify results match. Requires a database.
pytest tests/test_c_python_parity_integration.py -v
Verification script — runs both test suites in C-extension and pure-Python modes side-by-side:
python tools/verify_c_python_parity.py
Disabling C extension at runtime:
Set the environment variable NZPY_EXTENDED_NO_CEXT=1 to force pure-Python mode even when the compiled extension is available. Useful for debugging or verifying fallback correctness.
NZPY_EXTENDED_NO_CEXT=1 pip install nzpy_extended
# or at runtime:
NZPY_EXTENDED_NO_CEXT=1 python -c "import nzpy_extended.core; print(nzpy_extended.core._HAVE_C_EXT)" # False
Reproducing benchmark results
The per-type benchmark table above is generated by tools/examples/performance_test.py.
Prerequisites
- A running Netezza instance with a table named
JUST_DATA..FACTPRODUCTINVENTORY(or adjustSOURCE_TABLEin the script) - Python ≥ 3.12
- Install the required packages:
pip install nzpy_extended
The official IBM driver is also tested for comparison (pip install nzpy).
Optional (for ODBC comparison):
pip install pyodbc— withNetezzaSQLODBC driver installed (rows labeledpyodbc)- Set
NZ_ODBC_DRIVERif your ODBC driver uses a different name (default:NetezzaSQL). On Linux/WSL2 the name is defined in/etc/odbcinst.ini, e.g.:export NZ_ODBC_DRIVER=NetezzaSQL # Linux/WSL2
- Linux/WSL2: pyodbc's Unicode API is incompatible with the Netezza ODBC driver. The benchmark auto-detects this and falls back to a ctypes-based ANSI-ODBC wrapper. No additional configuration needed.
Steps
- Set connection environment variables:
set NZ_HOST=your_netezza_host # Windows
set NZ_PORT=5480
set NZ_USER=admin
set NZ_PASSWORD=password
set NZ_DATABASE=JUST_DATA
# or on Linux/macOS:
export NZ_HOST=your_netezza_host
export NZ_PORT=5480
export NZ_USER=admin
export NZ_PASSWORD=password
export NZ_DATABASE=JUST_DATA
All variables have defaults — only NZ_HOST is required if your setup differs from the defaults.
ODBC driver name can be set separately:
export NZ_ODBC_DRIVER=NetezzaSQL # Linux/macOS — defaults to "NetezzaSQL"
- Run the benchmark:
python tools/examples/performance_test.py
- Adjust row count (default: 100 000):
set NZ_ROWS=100000 # Windows
export NZ_ROWS=100000 # Linux/macOS
What the script does
- Connects using each driver:
official_nzpy(always),pyodbc(via ANSI-ODBC ctypes fallback on Linux),nzpy_extended(async + sync, with and without C extension). - Runs six query categories:
integer_types,numeric_types,string_types,datetime_types,boolean_types, andall_types(mixed). - Prints per-query timing, a compact DRIVER × TYPE comparison table (matching the README layout), and visual bar charts.
Saving results to a TXT file
Use the --output / -o flag or the NZ_OUTPUT environment variable:
python tools/examples/performance_test.py -o benchmark_results.txt
# or via env var:
set NZ_OUTPUT=benchmark_results.txt
python tools/examples/performance_test.py
Force pure-Python mode
set NZPY_EXTENDED_NO_CEXT=1
python tools/examples/performance_test.py
Pytest benchmark (alternative)
A simpler pytest-based benchmark is also available (10 k rows, nzpy_extended only):
pytest tests/test_benchmark.py -v -m benchmark
License
Apache License 2.0 — see LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nzpy_extended-0.0.4.tar.gz.
File metadata
- Download URL: nzpy_extended-0.0.4.tar.gz
- Upload date:
- Size: 115.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
24c007eb9c0fc30bea614e0377b6c765829edf607edfab6f2883e00a1cb477d8
|
|
| MD5 |
bec0faa248b9a2bd8af31fe389b4a596
|
|
| BLAKE2b-256 |
12a537e1ee1e8862ec41c199bd54a8505c034da29d44d88dc964df187424e56c
|
Provenance
The following attestation bundles were made for nzpy_extended-0.0.4.tar.gz:
Publisher:
publish.yaml on KrzysztofDusko/nzpy_extended
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nzpy_extended-0.0.4.tar.gz -
Subject digest:
24c007eb9c0fc30bea614e0377b6c765829edf607edfab6f2883e00a1cb477d8 - Sigstore transparency entry: 1614745532
- Sigstore integration time:
-
Permalink:
KrzysztofDusko/nzpy_extended@5bb2d9a4fa6f66fb8ea1015695ae2783e48f2e8c -
Branch / Tag:
refs/tags/0.0.4 - Owner: https://github.com/KrzysztofDusko
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@5bb2d9a4fa6f66fb8ea1015695ae2783e48f2e8c -
Trigger Event:
push
-
Statement type:
File details
Details for the file nzpy_extended-0.0.4-cp313-cp313-win_arm64.whl.
File metadata
- Download URL: nzpy_extended-0.0.4-cp313-cp313-win_arm64.whl
- Upload date:
- Size: 80.4 kB
- Tags: CPython 3.13, Windows ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
83fd9b8a349f8650643bb1fb3017e91d6ee91c03bba20593747a6dbc90bb3be1
|
|
| MD5 |
efed8a2c11615cf521e1b2f4ba841264
|
|
| BLAKE2b-256 |
c677d3e5a21b031b1fc12505ef59e290cd1249b25b723ec842f872d4604c696a
|
Provenance
The following attestation bundles were made for nzpy_extended-0.0.4-cp313-cp313-win_arm64.whl:
Publisher:
publish.yaml on KrzysztofDusko/nzpy_extended
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nzpy_extended-0.0.4-cp313-cp313-win_arm64.whl -
Subject digest:
83fd9b8a349f8650643bb1fb3017e91d6ee91c03bba20593747a6dbc90bb3be1 - Sigstore transparency entry: 1614745555
- Sigstore integration time:
-
Permalink:
KrzysztofDusko/nzpy_extended@5bb2d9a4fa6f66fb8ea1015695ae2783e48f2e8c -
Branch / Tag:
refs/tags/0.0.4 - Owner: https://github.com/KrzysztofDusko
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@5bb2d9a4fa6f66fb8ea1015695ae2783e48f2e8c -
Trigger Event:
push
-
Statement type:
File details
Details for the file nzpy_extended-0.0.4-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: nzpy_extended-0.0.4-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 82.6 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa7fa1505c7cb98b2c2b771aed8be20f58b52a46f1a2d347828e02ba0cda3ebe
|
|
| MD5 |
d5c2bcb876b878bb1375608a8ad41562
|
|
| BLAKE2b-256 |
d3fd35cdafab0661d5c7b33aebd617be6bef1d3456a38b4ff0c02c72f3fb1095
|
Provenance
The following attestation bundles were made for nzpy_extended-0.0.4-cp313-cp313-win_amd64.whl:
Publisher:
publish.yaml on KrzysztofDusko/nzpy_extended
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nzpy_extended-0.0.4-cp313-cp313-win_amd64.whl -
Subject digest:
fa7fa1505c7cb98b2c2b771aed8be20f58b52a46f1a2d347828e02ba0cda3ebe - Sigstore transparency entry: 1614745542
- Sigstore integration time:
-
Permalink:
KrzysztofDusko/nzpy_extended@5bb2d9a4fa6f66fb8ea1015695ae2783e48f2e8c -
Branch / Tag:
refs/tags/0.0.4 - Owner: https://github.com/KrzysztofDusko
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@5bb2d9a4fa6f66fb8ea1015695ae2783e48f2e8c -
Trigger Event:
push
-
Statement type:
File details
Details for the file nzpy_extended-0.0.4-cp313-cp313-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: nzpy_extended-0.0.4-cp313-cp313-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 123.5 kB
- Tags: CPython 3.13, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8f30ca3f19cba8a7cb3f25bf653886e3e8f59694834a903e8dcbd3b501a365b
|
|
| MD5 |
ec3d114d09bd435919b79657874a6d6c
|
|
| BLAKE2b-256 |
eda245db1398d193c405c630b3ed3841ed9fd8e5a1a6f2dfa45f397ec23cf547
|
Provenance
The following attestation bundles were made for nzpy_extended-0.0.4-cp313-cp313-musllinux_1_2_x86_64.whl:
Publisher:
publish.yaml on KrzysztofDusko/nzpy_extended
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nzpy_extended-0.0.4-cp313-cp313-musllinux_1_2_x86_64.whl -
Subject digest:
c8f30ca3f19cba8a7cb3f25bf653886e3e8f59694834a903e8dcbd3b501a365b - Sigstore transparency entry: 1614745569
- Sigstore integration time:
-
Permalink:
KrzysztofDusko/nzpy_extended@5bb2d9a4fa6f66fb8ea1015695ae2783e48f2e8c -
Branch / Tag:
refs/tags/0.0.4 - Owner: https://github.com/KrzysztofDusko
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@5bb2d9a4fa6f66fb8ea1015695ae2783e48f2e8c -
Trigger Event:
push
-
Statement type:
File details
Details for the file nzpy_extended-0.0.4-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: nzpy_extended-0.0.4-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 127.3 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4fb1a9e1896e1e86d2daa2c5c18ca97831cc8ce7fe13c82e6e188b19885cfa5b
|
|
| MD5 |
2222608a2b3bb71034cca387157f9093
|
|
| BLAKE2b-256 |
ecfb3062e7e5eaa27af9e25195c583de1b4486272e60e9c0fe8c90582b0e95b9
|
Provenance
The following attestation bundles were made for nzpy_extended-0.0.4-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
publish.yaml on KrzysztofDusko/nzpy_extended
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nzpy_extended-0.0.4-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
4fb1a9e1896e1e86d2daa2c5c18ca97831cc8ce7fe13c82e6e188b19885cfa5b - Sigstore transparency entry: 1614745536
- Sigstore integration time:
-
Permalink:
KrzysztofDusko/nzpy_extended@5bb2d9a4fa6f66fb8ea1015695ae2783e48f2e8c -
Branch / Tag:
refs/tags/0.0.4 - Owner: https://github.com/KrzysztofDusko
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@5bb2d9a4fa6f66fb8ea1015695ae2783e48f2e8c -
Trigger Event:
push
-
Statement type:
File details
Details for the file nzpy_extended-0.0.4-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: nzpy_extended-0.0.4-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 80.5 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5e232474f6e49c18a21ff2a22b316c418432d34fd193fe9f8ea1410651b22ff
|
|
| MD5 |
ec182281b2ca5f5015c2acd7c49f2be9
|
|
| BLAKE2b-256 |
91168bf27f55de19e9bc72fc8d64aedb878f437a2b66bf600c5cde1eb3991ff8
|
Provenance
The following attestation bundles were made for nzpy_extended-0.0.4-cp313-cp313-macosx_11_0_arm64.whl:
Publisher:
publish.yaml on KrzysztofDusko/nzpy_extended
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nzpy_extended-0.0.4-cp313-cp313-macosx_11_0_arm64.whl -
Subject digest:
a5e232474f6e49c18a21ff2a22b316c418432d34fd193fe9f8ea1410651b22ff - Sigstore transparency entry: 1614745544
- Sigstore integration time:
-
Permalink:
KrzysztofDusko/nzpy_extended@5bb2d9a4fa6f66fb8ea1015695ae2783e48f2e8c -
Branch / Tag:
refs/tags/0.0.4 - Owner: https://github.com/KrzysztofDusko
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@5bb2d9a4fa6f66fb8ea1015695ae2783e48f2e8c -
Trigger Event:
push
-
Statement type:
File details
Details for the file nzpy_extended-0.0.4-cp313-cp313-macosx_10_13_universal2.whl.
File metadata
- Download URL: nzpy_extended-0.0.4-cp313-cp313-macosx_10_13_universal2.whl
- Upload date:
- Size: 91.7 kB
- Tags: CPython 3.13, macOS 10.13+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
76214b146d365fb214fc31556d360f4a90d79ee41046c9ad7d3fd4a7d2367fee
|
|
| MD5 |
3ccfa3a1bf46870b4182fb87317cb3cd
|
|
| BLAKE2b-256 |
321b074c74f74854f7fdcc4e015611d0cb83538b27f4e7c607da37c0ff5deeae
|
Provenance
The following attestation bundles were made for nzpy_extended-0.0.4-cp313-cp313-macosx_10_13_universal2.whl:
Publisher:
publish.yaml on KrzysztofDusko/nzpy_extended
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nzpy_extended-0.0.4-cp313-cp313-macosx_10_13_universal2.whl -
Subject digest:
76214b146d365fb214fc31556d360f4a90d79ee41046c9ad7d3fd4a7d2367fee - Sigstore transparency entry: 1614745559
- Sigstore integration time:
-
Permalink:
KrzysztofDusko/nzpy_extended@5bb2d9a4fa6f66fb8ea1015695ae2783e48f2e8c -
Branch / Tag:
refs/tags/0.0.4 - Owner: https://github.com/KrzysztofDusko
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@5bb2d9a4fa6f66fb8ea1015695ae2783e48f2e8c -
Trigger Event:
push
-
Statement type:
File details
Details for the file nzpy_extended-0.0.4-cp312-cp312-win_arm64.whl.
File metadata
- Download URL: nzpy_extended-0.0.4-cp312-cp312-win_arm64.whl
- Upload date:
- Size: 80.5 kB
- Tags: CPython 3.12, Windows ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d807eeeb9a84afbb61c43bd6305cadc6d9ddb4c043108aab68f5967181097094
|
|
| MD5 |
03d121bd3341dc9b97371c3e34f7c0c3
|
|
| BLAKE2b-256 |
323c95b6e0b4dc49638159bc2071fdba47f02db871ba4f7a85f1af95ecc69aff
|
Provenance
The following attestation bundles were made for nzpy_extended-0.0.4-cp312-cp312-win_arm64.whl:
Publisher:
publish.yaml on KrzysztofDusko/nzpy_extended
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nzpy_extended-0.0.4-cp312-cp312-win_arm64.whl -
Subject digest:
d807eeeb9a84afbb61c43bd6305cadc6d9ddb4c043108aab68f5967181097094 - Sigstore transparency entry: 1614745565
- Sigstore integration time:
-
Permalink:
KrzysztofDusko/nzpy_extended@5bb2d9a4fa6f66fb8ea1015695ae2783e48f2e8c -
Branch / Tag:
refs/tags/0.0.4 - Owner: https://github.com/KrzysztofDusko
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@5bb2d9a4fa6f66fb8ea1015695ae2783e48f2e8c -
Trigger Event:
push
-
Statement type:
File details
Details for the file nzpy_extended-0.0.4-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: nzpy_extended-0.0.4-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 82.6 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7ced59520432148d6f05d97194fb80e981a96abcc5f39f44ce62749f1b7225c0
|
|
| MD5 |
b96d374a15ce6706285061de8a1318aa
|
|
| BLAKE2b-256 |
ce6e5cb6e9863dc881e604ec099afdb944f70c58b1193524e040cfa18221e72a
|
Provenance
The following attestation bundles were made for nzpy_extended-0.0.4-cp312-cp312-win_amd64.whl:
Publisher:
publish.yaml on KrzysztofDusko/nzpy_extended
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nzpy_extended-0.0.4-cp312-cp312-win_amd64.whl -
Subject digest:
7ced59520432148d6f05d97194fb80e981a96abcc5f39f44ce62749f1b7225c0 - Sigstore transparency entry: 1614745554
- Sigstore integration time:
-
Permalink:
KrzysztofDusko/nzpy_extended@5bb2d9a4fa6f66fb8ea1015695ae2783e48f2e8c -
Branch / Tag:
refs/tags/0.0.4 - Owner: https://github.com/KrzysztofDusko
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@5bb2d9a4fa6f66fb8ea1015695ae2783e48f2e8c -
Trigger Event:
push
-
Statement type:
File details
Details for the file nzpy_extended-0.0.4-cp312-cp312-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: nzpy_extended-0.0.4-cp312-cp312-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 123.5 kB
- Tags: CPython 3.12, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b05c39ae3696059f57729e4823e6d219da63a5e887e2eec12fa2cec12dc7dc0
|
|
| MD5 |
45f25a781496e810134f13a61e0995e7
|
|
| BLAKE2b-256 |
40f244c3fcafbb8439ddb33ff201ca50e11c5ffdd66a6a8a1aeebb0c3ee170a0
|
Provenance
The following attestation bundles were made for nzpy_extended-0.0.4-cp312-cp312-musllinux_1_2_x86_64.whl:
Publisher:
publish.yaml on KrzysztofDusko/nzpy_extended
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nzpy_extended-0.0.4-cp312-cp312-musllinux_1_2_x86_64.whl -
Subject digest:
3b05c39ae3696059f57729e4823e6d219da63a5e887e2eec12fa2cec12dc7dc0 - Sigstore transparency entry: 1614745562
- Sigstore integration time:
-
Permalink:
KrzysztofDusko/nzpy_extended@5bb2d9a4fa6f66fb8ea1015695ae2783e48f2e8c -
Branch / Tag:
refs/tags/0.0.4 - Owner: https://github.com/KrzysztofDusko
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@5bb2d9a4fa6f66fb8ea1015695ae2783e48f2e8c -
Trigger Event:
push
-
Statement type:
File details
Details for the file nzpy_extended-0.0.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: nzpy_extended-0.0.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 127.4 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64, manylinux: glibc 2.5+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb7b5aa432a5a4ecef3111918ee97097e49ecb08e7c7b0e2730d76341f67a17a
|
|
| MD5 |
fdc130a5832fc2221b14c3fedd2b3814
|
|
| BLAKE2b-256 |
d71e0d8493388fd2ba2189080c0f09cfb8f0ee4f0be05b50563be6cd50558968
|
Provenance
The following attestation bundles were made for nzpy_extended-0.0.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
publish.yaml on KrzysztofDusko/nzpy_extended
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nzpy_extended-0.0.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
bb7b5aa432a5a4ecef3111918ee97097e49ecb08e7c7b0e2730d76341f67a17a - Sigstore transparency entry: 1614745547
- Sigstore integration time:
-
Permalink:
KrzysztofDusko/nzpy_extended@5bb2d9a4fa6f66fb8ea1015695ae2783e48f2e8c -
Branch / Tag:
refs/tags/0.0.4 - Owner: https://github.com/KrzysztofDusko
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@5bb2d9a4fa6f66fb8ea1015695ae2783e48f2e8c -
Trigger Event:
push
-
Statement type:
File details
Details for the file nzpy_extended-0.0.4-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: nzpy_extended-0.0.4-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 80.5 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cac850c6bc3be8ac06630bf7c1380032aa925335ace1d52725adec06ca3c85cc
|
|
| MD5 |
ad140052b73cbc55572dd7afe6af07ba
|
|
| BLAKE2b-256 |
0f9ff4d728e7c7bb235b4d067ec059dbce3b26259ec96b3a2bdbf0bb714aae84
|
Provenance
The following attestation bundles were made for nzpy_extended-0.0.4-cp312-cp312-macosx_11_0_arm64.whl:
Publisher:
publish.yaml on KrzysztofDusko/nzpy_extended
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nzpy_extended-0.0.4-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
cac850c6bc3be8ac06630bf7c1380032aa925335ace1d52725adec06ca3c85cc - Sigstore transparency entry: 1614745571
- Sigstore integration time:
-
Permalink:
KrzysztofDusko/nzpy_extended@5bb2d9a4fa6f66fb8ea1015695ae2783e48f2e8c -
Branch / Tag:
refs/tags/0.0.4 - Owner: https://github.com/KrzysztofDusko
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@5bb2d9a4fa6f66fb8ea1015695ae2783e48f2e8c -
Trigger Event:
push
-
Statement type:
File details
Details for the file nzpy_extended-0.0.4-cp312-cp312-macosx_10_13_universal2.whl.
File metadata
- Download URL: nzpy_extended-0.0.4-cp312-cp312-macosx_10_13_universal2.whl
- Upload date:
- Size: 91.7 kB
- Tags: CPython 3.12, macOS 10.13+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7226da82533cb5f0c6396ad59ca92d73688dccad7eb444936e7aefc79726d650
|
|
| MD5 |
42dfa2645394d44382896eb009c188f9
|
|
| BLAKE2b-256 |
4e02a03172ebf85064fd82ca5af2d7b725a796a93d338703fb2f85bdf9dbaa57
|
Provenance
The following attestation bundles were made for nzpy_extended-0.0.4-cp312-cp312-macosx_10_13_universal2.whl:
Publisher:
publish.yaml on KrzysztofDusko/nzpy_extended
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nzpy_extended-0.0.4-cp312-cp312-macosx_10_13_universal2.whl -
Subject digest:
7226da82533cb5f0c6396ad59ca92d73688dccad7eb444936e7aefc79726d650 - Sigstore transparency entry: 1614745553
- Sigstore integration time:
-
Permalink:
KrzysztofDusko/nzpy_extended@5bb2d9a4fa6f66fb8ea1015695ae2783e48f2e8c -
Branch / Tag:
refs/tags/0.0.4 - Owner: https://github.com/KrzysztofDusko
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@5bb2d9a4fa6f66fb8ea1015695ae2783e48f2e8c -
Trigger Event:
push
-
Statement type: