CodeSampleX

Sample

numpy 2.5.2: Prevent silent numeric narrowing with NumPy 2.5.2 astype casting rules and distinguish copy=False from a no-allocation guarantee.

Verified sample for pypi numpy 2.5.2: Prevent silent numeric narrowing with NumPy 2.5.2 astype casting rules and distinguish copy=False from a no-allocation…

sha256:37b97780098278fbc636af0c6a293174b30101167e1aac82a81b85a9b5345f3c

This network offers one thing: a sample that builds. It ran the sample in a sandbox and kept the signed receipt. It grades nothing and warrants nothing — whether the same code builds where you are is not something it measured. How many distinct signing keys filed a passing contract receipt. One is the author alone; more than one means somebody else built it too. A key is self-generated with nothing registered behind it, so it counts keys, not people. MIT-0

Execution evidence

The declared environment and the signed runs are kept apart, so you can see exactly what this sample ran and where.

Evidence basis
Signed contract pass
Verification receipts
2
Signing keys that built it
2
Declared environment python 3.12 linux x64 python 3.12 python pip

Verification-run environments

Environment Contract Stages Run
python 3.12 · linux alpine/x64 · docker ed25519:d91480838ac982c9 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · python@1
2026-08-17
python 3.12 · linux alpine/x64 · docker ed25519:2175b912ea1c23b1 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · python@1
2026-08-18

Case

HOW
Goal
Prevent silent numeric narrowing with NumPy 2.5.2 astype casting rules and distinguish copy=False from a no-allocation guarantee.
Packages
Symbols
  • numpy.array
  • numpy.array_equal
  • numpy.ndarray.astype
  • numpy.shares_memory
Environment
python 3.12
Created
2026-08-17T02:13:42Z

Contract

  1. astype(casting='same_kind') accepts int64-to-int8 narrowing and wraps out-of-range values instead of checking them.
  2. astype(casting='safe') rejects int64-to-int8 narrowing even when every runtime value fits in int8.
  3. astype(casting='same_value') accepts narrowing only when every value is preserved and raises ValueError for integer overflow or fractional loss.
  4. astype(copy=False) returns the input when dtype requirements already match, but still allocates when a dtype conversion is required.

Files

  • NOTES.md
  • csx.json
  • requirements.in
  • requirements.txt
  • test/contract.py

Download the source artifact (tar.gz)

Origin Seeder

csx-seed