csar: Conic Spherical Aspect Ratio
Python bindings for csar_zig,
a spherical aspect-ratio solver. Given a point set on the unit sphere,
it finds the tightest ellipsoidal cone enclosing the points and returns
the cone's axis ratio.
A thin Cython binding over a small C-ABI shim that links the upstream
csar Zig package as a static archive — no separate shared library
ships in the wheel.
Install
Not on PyPI yet — install directly from GitHub. Point pip/uv at the git
URL, either the latest main or a tagged release:
# latest main
pip install git+https://github.com/ajfriend/csar_py.git
uv pip install git+https://github.com/ajfriend/csar_py.git
# a specific tagged release
pip install git+https://github.com/ajfriend/csar_py.git@v0.1.0
uv pip install git+https://github.com/ajfriend/csar_py.git@v0.1.0
For the optional plotting helper (csar.plot_cone), add the plot extra:
pip install "csar[plot] @ git+https://github.com/ajfriend/csar_py.git"
That path triggers a source build: meson-python pulls the Zig toolchain
from the ziglang PyPI wheel (python -m ziglang build), compiles the
upstream csar_zig package into a static archive — fetched over the
network from the URL pinned in src/zig/build.zig.zon — then cythonizes
src/cython/_cy.pyx and links the result against it. No host-level Zig
or Cython install is required (Python 3.11+).
Local development
just test # reinstall + run the test suite
just reinstall # force a clean rebuild of the Zig extension
Usage
import csar
# A sequence of points. Each point is (lat, lng) in degrees by
# default; pass geo='vec3' to give unit (x, y, z) triples instead.
pts = [
(0.0, 0.0),
(0.0, 90.0),
(90.0, 0.0),
]
r = csar.solve(pts)
if isinstance(r, csar.Converged):
print(r.aspect_ratio) # cross-section axis ratio (>= 1)
print(r.Q[:, 0]) # unit cone axis (x, y, z) — first column of Q
Any list/tuple of points works; a NumPy array is also accepted and is
read as an (N, k) array whose rows are points (k = 2 for the
latlng/lonlat families, 3 for 'vec3'). The geo argument picks
the convention: 'latlng' (default, h3's (lat, lng) order),
'lonlat' (GeoJSON's (lon, lat) order), their _deg/_rad
variants, or 'vec3'.
Objects implementing __geo_interface__ (shapely, geopandas, geojson,
h3 LatLngPoly/LatLngMultiPoly, …) can be passed directly — their
vertices are read as GeoJSON (lon, lat) degrees, so geo is ignored:
import geopandas as gpd
gdf = gpd.read_file('countries.geojson')
for name, geom in zip(gdf['ADMIN'], gdf.geometry):
r = csar.solve(geom) # shapely geometry via __geo_interface__
if isinstance(r, csar.Converged):
print(name, r.aspect_ratio)
MultiPoint, LineString, Polygon (exterior ring), MultiPolygon,
and a Feature wrapping one of those are supported.
To visualize the fit, csar.plot_cone(result, geom) draws the outline
gnomonic-projected at the cone axis with the enclosing ellipse overlaid
— defaulting to north-up, scaled to metres, with labelled axes (needs
matplotlib — pip install csar[plot]):
csar.plot_cone(r, geom, title='Chile') # a finished figure from one call
scripts/states/ and scripts/countries/ are full end-to-end examples.
solve runs all of this through csar.to_vec3(points, geo=...), which
returns the (N, 3) array of unit vectors the solver actually sees.
Call it directly to inspect how your input maps onto the sphere:
csar.to_vec3([(0, 0), (0, 90), (90, 0)])
# array([[1., 0., 0.],
# [0., 1., 0.],
# [0., 0., 1.]])
Outcomes
solve returns one of three outcome types — Converged, Infeasible,
or DidNotConverge (collectively Outcome) — mirroring the Zig
Outcome tagged union. Each carries only the fields meaningful for
its outcome, so you dispatch on the type rather than guarding nullable
fields:
match csar.solve(pts):
case csar.Converged() as c:
use(c.aspect_ratio, c.Q) # certified cone
case csar.Infeasible() as i:
handle(i.residual) # no enclosing cone exists
case csar.DidNotConverge() as d:
retry(d.gap, d.outer_iters) # hit the iteration cap
On a Converged, sigma is the (3,) eigenvalue array and Q the
(3, 3) eigenbasis (column i pairs with sigma[i]; column 0 is the
axis), so the enclosing ellipsoid matrix is
A = c.Q @ np.diag(c.sigma) @ c.Q.T. DidNotConverge exposes the same
sigma/Q/gap for diagnostics but, being uncertified, deliberately
has no aspect_ratio. See the docstrings in src/csar/__init__.py for
the full field reference.
Solver paths
solve picks its solver via method=: 'auto' (the default) resolves
to the library's recommended method — currently 'trust', a
trust-region descent that converges on every input family constructed
to date, including the wide/elongated inputs the original solver
structurally cannot. 'alternating' is that original solver, kept for
continuity and for large dense near-circular inputs where it can still
be faster. The outcome's .method records the concrete path that ran.
Layout
.
├── pyproject.toml — meson-python config, package metadata
├── meson.build — drives Zig static-archive build + Cython compile
├── justfile — reinstall / test / wheel / examples / clean
├── src/
│ ├── cython/_cy.pyx — Cython binding, exposes _cy.solve
│ ├── csar/
│ │ ├── __init__.py — gathers the public API (solve, to_vec3, plot_cone, Outcome…)
│ │ ├── convert.py — input → (N, 3) unit vectors: to_vec3, geo-interface
│ │ ├── outcomes.py — Converged/Infeasible/DidNotConverge + build()
│ │ ├── plot.py — plot_cone (optional; needs matplotlib)
│ │ └── solver.py — solve(): convert → _cy.solve → build
│ └── zig/
│ ├── build.zig — produces libcsar.{a,lib} (static archive)
│ ├── build.zig.zon — pins the csar_zig dependency
│ └── c_api.zig — pub export fn csar_solve
├── scripts/ — examples (run via `just states|countries`)
│ ├── states/ — US-state aspect ratios (geopandas + csar)
│ └── countries/ — country aspect ratios (geopandas + csar)
└── tests/test_bindings.py
History
csar was previously developed as
skar_py and forked into this fresh
repository under a new name, since the skar name was already taken on PyPI.
The skar_py repository is preserved as-is for its history and provenance.
License
MIT — see LICENSE.
Metadata
Release files for csar 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| csar-0.1.1.tar.gz | 34.5 kB | Details |
Built distributions (wheels)
Total release size: 7.1 MB
Release files / csar-0.1.1.tar.gz
| Download URL | csar-0.1.1.tar.gz |
|---|---|
| Size | 34.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7c858fbce13054675c28fe357f7d30a03f5a012ee47e50372a87c120b1d4d34f
|
|
BLAKE2b-256 checksum How to use checksums |
08df5791f83fa4f518da16a48928dbcbcb504cd7f3bc57625d2eb348bddc13f0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 16, 2026.
Transparency logRelease files / csar-0.1.1-cp314-cp314t-win_amd64.whl
| Download URL | csar-0.1.1-cp314-cp314t-win_amd64.whl |
|---|---|
| Size | 175.5 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Windows x86-64 |
|
SHA-256 checksum How to use checksums |
934f3437cc02939249fc0e4c67fe41a6df6abe0c638fa3c23c30fcb06a547351
|
|
BLAKE2b-256 checksum How to use checksums |
8a5d18ec27f592f6ed831f7b371d175b6e47af5b90f950d8f7f6c85e14aa1dd0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 16, 2026.
Transparency logRelease files / csar-0.1.1-cp314-cp314t-musllinux_1_2_x86_64.whl
| Download URL | csar-0.1.1-cp314-cp314t-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 298.7 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
78ea521809809a543cc32da3923e392c75048f292dcb40372d2dbe1540a9f1d3
|
|
BLAKE2b-256 checksum How to use checksums |
a2864f817f88ac79b75b1edfc61554d0d2cf4e544eeb495a7d6ba25ea45edebb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 16, 2026.
Transparency logRelease files / csar-0.1.1-cp314-cp314t-musllinux_1_2_aarch64.whl
| Download URL | csar-0.1.1-cp314-cp314t-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 255.1 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
e1a2ca5905379bf779ff95ffeaa3e53c0eae65ea6ed63a2264e78ae835fa16d5
|
|
BLAKE2b-256 checksum How to use checksums |
66df70ad9247eba27d2815cffa5366d488723bbb8b027bbb75cf8c740eceb58c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 16, 2026.
Transparency logRelease files / csar-0.1.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | csar-0.1.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 295.4 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
581e5ad85fba122a41ba03c7f0e8c007a14c60e65e0144c920068a11402b3c23
|
|
BLAKE2b-256 checksum How to use checksums |
63d08bf0d2dd2bca41d2360c1121a717492ca7925dd5c788822992b5063ffdaa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 16, 2026.
Transparency logRelease files / csar-0.1.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | csar-0.1.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 254.0 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
3085e4b4951f77bc59871c3b2a950afc03e19efde13b43988ee06c00da7c8a92
|
|
BLAKE2b-256 checksum How to use checksums |
1e02f1655d3022dc22f2c9a7d14959f73d6ac46aea891bfccef49024244c79a8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 16, 2026.
Transparency logRelease files / csar-0.1.1-cp314-cp314t-macosx_11_0_arm64.whl
| Download URL | csar-0.1.1-cp314-cp314t-macosx_11_0_arm64.whl |
|---|---|
| Size | 120.3 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
ecf1dadeedcee69cdbc329842fa60c745190db6c65d33461cf31d9c7f37eb353
|
|
BLAKE2b-256 checksum How to use checksums |
aad841e24d6b916ee30e698c5f1e9aef8fd1e041e21fed12ab5c023adbdcb016
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 16, 2026.
Transparency logRelease files / csar-0.1.1-cp314-cp314-win_amd64.whl
| Download URL | csar-0.1.1-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 179.7 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
cb043ae0090a3149d1c30fb75de9115ee17d7a198830f30118b6e965ac24e13c
|
|
BLAKE2b-256 checksum How to use checksums |
3ba41dc493f906b8a81804224ce7d5ba05274bb5508ee6a0bc3e0467a44eeb35
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 16, 2026.
Transparency logRelease files / csar-0.1.1-cp314-cp314-musllinux_1_2_x86_64.whl
| Download URL | csar-0.1.1-cp314-cp314-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 301.3 kB |
| Tags | CPython 3.14 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
ab9a805de52bf5fe117684ab81bc5679b443c96607630b365d8b09f04cc8d567
|
|
BLAKE2b-256 checksum How to use checksums |
4786a080f9be4e1794b796947a05490af3abc447192d41bdeaecf5e5c658aaa3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 16, 2026.
Transparency logRelease files / csar-0.1.1-cp314-cp314-musllinux_1_2_aarch64.whl
| Download URL | csar-0.1.1-cp314-cp314-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 259.5 kB |
| Tags | CPython 3.14 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
6998d9127a5f748607ef63f2a2673cdc36d8c7367a652cf0cddc2a62b23509d4
|
|
BLAKE2b-256 checksum How to use checksums |
c009c467b79e73cde4cd125480fbe78c60426ae4334be3d01e64d93f78e71a73
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 16, 2026.
Transparency logRelease files / csar-0.1.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | csar-0.1.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 300.3 kB |
| Tags | CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
2868488f1820dfdcfc044109ce4204d94b4d602ca96f2e7743d44f3f22e65272
|
|
BLAKE2b-256 checksum How to use checksums |
9e1cf5aaad93b23f11248ec2ca796bda7ab1831552ad44cea7ec8b620ae84425
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 16, 2026.
Transparency logRelease files / csar-0.1.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | csar-0.1.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 258.5 kB |
| Tags | CPython 3.14 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
d69a04fa290865de0d6409e166e7f34ac19287ca932a64216d567f791980a9a0
|
|
BLAKE2b-256 checksum How to use checksums |
031b7a83ce67ff7b689776ebdd5f123a81db857e828534568fe2fb6afa82acda
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 16, 2026.
Transparency logRelease files / csar-0.1.1-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | csar-0.1.1-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 115.9 kB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
cc0cb5e73ee3ef18c0195da42818502b9701fe6ef35dbfb59ef7ad9d0887274f
|
|
BLAKE2b-256 checksum How to use checksums |
ca80b4d20c5c9abc4e312d02d8bcf7bff810ac6edb0ad4cca2ee3f7a6dd63935
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 16, 2026.
Transparency logRelease files / csar-0.1.1-cp313-cp313-win_amd64.whl
| Download URL | csar-0.1.1-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 174.2 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
c64a170ea30621b44cac38a407c74d68ca1c6611c8d68d65249c327051960ee0
|
|
BLAKE2b-256 checksum How to use checksums |
7298444fd21f37ba7acecd0c48f953484108805857771fdb31c7826d0d56047a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 16, 2026.
Transparency logRelease files / csar-0.1.1-cp313-cp313-musllinux_1_2_x86_64.whl
| Download URL | csar-0.1.1-cp313-cp313-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 301.0 kB |
| Tags | CPython 3.13 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
a1e642378c2994972acaa328752c2cfa810768ccfe88a8a6bd9d5e8675c4d0e3
|
|
BLAKE2b-256 checksum How to use checksums |
af10fcdc97c5c7e0ecec8373afbb5be8ecba04ccda871774bc44bf1066c17b83
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 16, 2026.
Transparency logRelease files / csar-0.1.1-cp313-cp313-musllinux_1_2_aarch64.whl
| Download URL | csar-0.1.1-cp313-cp313-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 258.5 kB |
| Tags | CPython 3.13 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
cb3f2db3c77f5fc20e46bbc633f5bdbb039951df1a84ca4508bbffa9510fdc05
|
|
BLAKE2b-256 checksum How to use checksums |
cd24509da7f4c99905a8b89da52312c45f8dc1a7ee4c6297bcf3b83c0ea85a5b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 16, 2026.
Transparency logRelease files / csar-0.1.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | csar-0.1.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 302.0 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
9933e22e0db134186f7934ac1eabf6d973d428ee7d931b9c10dac6efe376546b
|
|
BLAKE2b-256 checksum How to use checksums |
f61efc308d33349be293277ab7a9e9c2cd770147f067e2f8543ef6a8d178b931
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 16, 2026.
Transparency logRelease files / csar-0.1.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | csar-0.1.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 257.4 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
55feb4ad686796c481bfde58da01a5edeab1547ae9c400efc26e1fd07fb56bbc
|
|
BLAKE2b-256 checksum How to use checksums |
e3b036d9dc6f83d5b80e17e847fd18a9e902e9f09f5b2a4be206f5d712392208
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 16, 2026.
Transparency logRelease files / csar-0.1.1-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | csar-0.1.1-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 115.4 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
54415d6b99fd6e9cfcc75ccc35c90bd1185c7dd5ecabd108b01514fcb66f2244
|
|
BLAKE2b-256 checksum How to use checksums |
0b514a8f6740dcc273f14044685a3879a4342a87ea5e2b6e299f87bf51918871
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 16, 2026.
Transparency logRelease files / csar-0.1.1-cp312-cp312-win_amd64.whl
| Download URL | csar-0.1.1-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 174.4 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
26f8936b9f90991789e289576a9ac24df86e0c2c87681c11f33b18fef7af5ca5
|
|
BLAKE2b-256 checksum How to use checksums |
66ff11958f3bad37b2a01464a0baca088fef57945f9b3eb8f13e6ae08a36863f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 16, 2026.
Transparency logRelease files / csar-0.1.1-cp312-cp312-musllinux_1_2_x86_64.whl
| Download URL | csar-0.1.1-cp312-cp312-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 301.1 kB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
84034695b97195c99055e2815032b763aeccc37a8a8b33ccf1e8c49ecaf6d052
|
|
BLAKE2b-256 checksum How to use checksums |
c1af700adc906b9efbf41c6f6f828382f9d0efdfe420577406c936cfe2360cec
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 16, 2026.
Transparency logRelease files / csar-0.1.1-cp312-cp312-musllinux_1_2_aarch64.whl
| Download URL | csar-0.1.1-cp312-cp312-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 258.6 kB |
| Tags | CPython 3.12 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
d3e60ec5bf6727996f9e780a37e34e21d5503a627a65fc5f26c9d4f0fc4d4757
|
|
BLAKE2b-256 checksum How to use checksums |
fafc57dde050509f5720a463f92b5a5f7047872054bcce92ad09a0c0c4d0f3fb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 16, 2026.
Transparency logRelease files / csar-0.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | csar-0.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 300.0 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
f1a523d73f5575b016907b908e75194f54abed20bd2e2d711783740f98281aea
|
|
BLAKE2b-256 checksum How to use checksums |
07bc2a80cd2b78b8c2bc30c14b214895866c9a92253e7a5c9a0e97c1a5f117ab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 16, 2026.
Transparency logRelease files / csar-0.1.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | csar-0.1.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 257.8 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
85bc17a56cfa43c0d1b1465e48a7eab2a2b9490ca50e3cccea5e8d60b90086c4
|
|
BLAKE2b-256 checksum How to use checksums |
703fcf85f84619b61d55f83499b12d86855af24ad8bd23bbb3f0a31169d7d966
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 16, 2026.
Transparency logRelease files / csar-0.1.1-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | csar-0.1.1-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 115.9 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
1935179c19185da24639c623ba24af4d7d0eb5edc78c96f2292674a786f3a4e5
|
|
BLAKE2b-256 checksum How to use checksums |
59e026e90f9ef2ff685eefe872a97dd5433a5f68ba8d5e7e2db5e980215bb762
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 16, 2026.
Transparency logRelease files / csar-0.1.1-cp311-cp311-win_amd64.whl
| Download URL | csar-0.1.1-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 176.4 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
b20633206c545f154eb1ba19e6014cb3dc48eb4b386788ef57bfcc9fab1659eb
|
|
BLAKE2b-256 checksum How to use checksums |
6ddd884cf9d1b339b79c0fff4206652fc5d3b0531cf5fbe0804c614702e927e5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 16, 2026.
Transparency logRelease files / csar-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl
| Download URL | csar-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 305.1 kB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
bb0e7dc6a937be644b6f06686837590726a1e6e692f73bc63471943bddb66e39
|
|
BLAKE2b-256 checksum How to use checksums |
8c77e145d49ba6d5aa24542dced0aa78969c8a6f74eecf2018d1cb93d946b0a2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 16, 2026.
Transparency logRelease files / csar-0.1.1-cp311-cp311-musllinux_1_2_aarch64.whl
| Download URL | csar-0.1.1-cp311-cp311-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 261.4 kB |
| Tags | CPython 3.11 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
a91f1661c8001f3483fc0425c9bf7e311bddf1b31413ac9fed9cce4e2b8279cc
|
|
BLAKE2b-256 checksum How to use checksums |
9b7f6a82a9270006081b7939078698822d0874e51d0b624374bc363f20c6f258
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 16, 2026.
Transparency logRelease files / csar-0.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | csar-0.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 303.7 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
2548f09097df9f9a9bfe2c573b536095398e38fa2374a7132a2c44cd1322b1a8
|
|
BLAKE2b-256 checksum How to use checksums |
07503a04187f3a409be556a8c4aa1d3443f680509a5dbbc9dab19ca74b059e9b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 16, 2026.
Transparency logRelease files / csar-0.1.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | csar-0.1.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 260.6 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
6392c940f0a10f208a1dabd1bb675de73021bccc038b060df673806ba61e5bdf
|
|
BLAKE2b-256 checksum How to use checksums |
ca34f17950779c7c748330cb6b64ab7235b61c90531da11c584a20888db636cb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 16, 2026.
Transparency logRelease files / csar-0.1.1-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | csar-0.1.1-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 115.4 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
15899986ed598f12d925ac282ec6d81bbb1e03a58803e9b2fed3c5d24d21efa4
|
|
BLAKE2b-256 checksum How to use checksums |
451c4cfd33c0edb6b7b6b719415bd2aad9a37492b7a032e9f9f8fa167ce32ddc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 16, 2026.
Transparency log