Skip to main content

Conic spherical aspect-ratio solver: tightest enclosing cone of a point set on the unit sphere.

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

csar-0.1.1.tar.gz (34.5 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

csar-0.1.1-cp314-cp314t-win_amd64.whl (175.5 kB view details)

Uploaded CPython 3.14tWindows x86-64

csar-0.1.1-cp314-cp314t-musllinux_1_2_x86_64.whl (298.7 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

csar-0.1.1-cp314-cp314t-musllinux_1_2_aarch64.whl (255.1 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

csar-0.1.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (295.4 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

csar-0.1.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (254.0 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

csar-0.1.1-cp314-cp314t-macosx_11_0_arm64.whl (120.3 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

csar-0.1.1-cp314-cp314-win_amd64.whl (179.7 kB view details)

Uploaded CPython 3.14Windows x86-64

csar-0.1.1-cp314-cp314-musllinux_1_2_x86_64.whl (301.3 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

csar-0.1.1-cp314-cp314-musllinux_1_2_aarch64.whl (259.5 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

csar-0.1.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (300.3 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

csar-0.1.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (258.5 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

csar-0.1.1-cp314-cp314-macosx_11_0_arm64.whl (115.9 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

csar-0.1.1-cp313-cp313-win_amd64.whl (174.2 kB view details)

Uploaded CPython 3.13Windows x86-64

csar-0.1.1-cp313-cp313-musllinux_1_2_x86_64.whl (301.0 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

csar-0.1.1-cp313-cp313-musllinux_1_2_aarch64.whl (258.5 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

csar-0.1.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (302.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

csar-0.1.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (257.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

csar-0.1.1-cp313-cp313-macosx_11_0_arm64.whl (115.4 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

csar-0.1.1-cp312-cp312-win_amd64.whl (174.4 kB view details)

Uploaded CPython 3.12Windows x86-64

csar-0.1.1-cp312-cp312-musllinux_1_2_x86_64.whl (301.1 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

csar-0.1.1-cp312-cp312-musllinux_1_2_aarch64.whl (258.6 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

csar-0.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (300.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

csar-0.1.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (257.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

csar-0.1.1-cp312-cp312-macosx_11_0_arm64.whl (115.9 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

csar-0.1.1-cp311-cp311-win_amd64.whl (176.4 kB view details)

Uploaded CPython 3.11Windows x86-64

csar-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl (305.1 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

csar-0.1.1-cp311-cp311-musllinux_1_2_aarch64.whl (261.4 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

csar-0.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (303.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

csar-0.1.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (260.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

csar-0.1.1-cp311-cp311-macosx_11_0_arm64.whl (115.4 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

File details

Details for the file csar-0.1.1.tar.gz.

File metadata

  • Download URL: csar-0.1.1.tar.gz
  • Upload date:
  • Size: 34.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for csar-0.1.1.tar.gz
Algorithm Hash digest
SHA256 7c858fbce13054675c28fe357f7d30a03f5a012ee47e50372a87c120b1d4d34f
MD5 dd5c7c07e7f5bf3f37feb51dcf3b164b
BLAKE2b-256 08df5791f83fa4f518da16a48928dbcbcb504cd7f3bc57625d2eb348bddc13f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for csar-0.1.1.tar.gz:

Publisher: wheels.yml on ajfriend/csar_py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file csar-0.1.1-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: csar-0.1.1-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 175.5 kB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for csar-0.1.1-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 934f3437cc02939249fc0e4c67fe41a6df6abe0c638fa3c23c30fcb06a547351
MD5 b6768e9c8ae317530a4059b5dfbc2eff
BLAKE2b-256 8a5d18ec27f592f6ed831f7b371d175b6e47af5b90f950d8f7f6c85e14aa1dd0

See more details on using hashes here.

Provenance

The following attestation bundles were made for csar-0.1.1-cp314-cp314t-win_amd64.whl:

Publisher: wheels.yml on ajfriend/csar_py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file csar-0.1.1-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for csar-0.1.1-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 78ea521809809a543cc32da3923e392c75048f292dcb40372d2dbe1540a9f1d3
MD5 c872d463f96a1051acd6d6b3f135c5c5
BLAKE2b-256 a2864f817f88ac79b75b1edfc61554d0d2cf4e544eeb495a7d6ba25ea45edebb

See more details on using hashes here.

Provenance

The following attestation bundles were made for csar-0.1.1-cp314-cp314t-musllinux_1_2_x86_64.whl:

Publisher: wheels.yml on ajfriend/csar_py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file csar-0.1.1-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for csar-0.1.1-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e1a2ca5905379bf779ff95ffeaa3e53c0eae65ea6ed63a2264e78ae835fa16d5
MD5 344ae201c7e311eaab7e3fd3a2f016b6
BLAKE2b-256 66df70ad9247eba27d2815cffa5366d488723bbb8b027bbb75cf8c740eceb58c

See more details on using hashes here.

Provenance

The following attestation bundles were made for csar-0.1.1-cp314-cp314t-musllinux_1_2_aarch64.whl:

Publisher: wheels.yml on ajfriend/csar_py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file csar-0.1.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for csar-0.1.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 581e5ad85fba122a41ba03c7f0e8c007a14c60e65e0144c920068a11402b3c23
MD5 aea2dd39691f6e39a680eb554c133fc5
BLAKE2b-256 63d08bf0d2dd2bca41d2360c1121a717492ca7925dd5c788822992b5063ffdaa

See more details on using hashes here.

Provenance

The following attestation bundles were made for csar-0.1.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on ajfriend/csar_py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file csar-0.1.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for csar-0.1.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3085e4b4951f77bc59871c3b2a950afc03e19efde13b43988ee06c00da7c8a92
MD5 6015a910df4e1f750d356096c84937a6
BLAKE2b-256 1e02f1655d3022dc22f2c9a7d14959f73d6ac46aea891bfccef49024244c79a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for csar-0.1.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: wheels.yml on ajfriend/csar_py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file csar-0.1.1-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for csar-0.1.1-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ecf1dadeedcee69cdbc329842fa60c745190db6c65d33461cf31d9c7f37eb353
MD5 ebde31b0ca22c4524332a0fc060268ab
BLAKE2b-256 aad841e24d6b916ee30e698c5f1e9aef8fd1e041e21fed12ab5c023adbdcb016

See more details on using hashes here.

Provenance

The following attestation bundles were made for csar-0.1.1-cp314-cp314t-macosx_11_0_arm64.whl:

Publisher: wheels.yml on ajfriend/csar_py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file csar-0.1.1-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: csar-0.1.1-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 179.7 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for csar-0.1.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 cb043ae0090a3149d1c30fb75de9115ee17d7a198830f30118b6e965ac24e13c
MD5 8f10b8c074e36c082989f1b92c781bba
BLAKE2b-256 3ba41dc493f906b8a81804224ce7d5ba05274bb5508ee6a0bc3e0467a44eeb35

See more details on using hashes here.

Provenance

The following attestation bundles were made for csar-0.1.1-cp314-cp314-win_amd64.whl:

Publisher: wheels.yml on ajfriend/csar_py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file csar-0.1.1-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for csar-0.1.1-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ab9a805de52bf5fe117684ab81bc5679b443c96607630b365d8b09f04cc8d567
MD5 83e68310d7b5cdb2cdf4fb58ecdf514e
BLAKE2b-256 4786a080f9be4e1794b796947a05490af3abc447192d41bdeaecf5e5c658aaa3

See more details on using hashes here.

Provenance

The following attestation bundles were made for csar-0.1.1-cp314-cp314-musllinux_1_2_x86_64.whl:

Publisher: wheels.yml on ajfriend/csar_py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file csar-0.1.1-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for csar-0.1.1-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6998d9127a5f748607ef63f2a2673cdc36d8c7367a652cf0cddc2a62b23509d4
MD5 0fc59b74693db32f3fa42ac420786565
BLAKE2b-256 c009c467b79e73cde4cd125480fbe78c60426ae4334be3d01e64d93f78e71a73

See more details on using hashes here.

Provenance

The following attestation bundles were made for csar-0.1.1-cp314-cp314-musllinux_1_2_aarch64.whl:

Publisher: wheels.yml on ajfriend/csar_py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file csar-0.1.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for csar-0.1.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2868488f1820dfdcfc044109ce4204d94b4d602ca96f2e7743d44f3f22e65272
MD5 46acdffc493c145da6d9cae176d76931
BLAKE2b-256 9e1cf5aaad93b23f11248ec2ca796bda7ab1831552ad44cea7ec8b620ae84425

See more details on using hashes here.

Provenance

The following attestation bundles were made for csar-0.1.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on ajfriend/csar_py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file csar-0.1.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for csar-0.1.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d69a04fa290865de0d6409e166e7f34ac19287ca932a64216d567f791980a9a0
MD5 7316f76b99a6651a92ba9b1a941e75fa
BLAKE2b-256 031b7a83ce67ff7b689776ebdd5f123a81db857e828534568fe2fb6afa82acda

See more details on using hashes here.

Provenance

The following attestation bundles were made for csar-0.1.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: wheels.yml on ajfriend/csar_py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file csar-0.1.1-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

  • Download URL: csar-0.1.1-cp314-cp314-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 115.9 kB
  • Tags: CPython 3.14, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for csar-0.1.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cc0cb5e73ee3ef18c0195da42818502b9701fe6ef35dbfb59ef7ad9d0887274f
MD5 15d6d60a71ec625d780c2490f2525359
BLAKE2b-256 ca80b4d20c5c9abc4e312d02d8bcf7bff810ac6edb0ad4cca2ee3f7a6dd63935

See more details on using hashes here.

Provenance

The following attestation bundles were made for csar-0.1.1-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: wheels.yml on ajfriend/csar_py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file csar-0.1.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: csar-0.1.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 174.2 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

Hashes for csar-0.1.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c64a170ea30621b44cac38a407c74d68ca1c6611c8d68d65249c327051960ee0
MD5 a27a4bda7cab15997e3d8c6e6fee4a73
BLAKE2b-256 7298444fd21f37ba7acecd0c48f953484108805857771fdb31c7826d0d56047a

See more details on using hashes here.

Provenance

The following attestation bundles were made for csar-0.1.1-cp313-cp313-win_amd64.whl:

Publisher: wheels.yml on ajfriend/csar_py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file csar-0.1.1-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for csar-0.1.1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a1e642378c2994972acaa328752c2cfa810768ccfe88a8a6bd9d5e8675c4d0e3
MD5 d2523d17cb0376455503f355b095cfc4
BLAKE2b-256 af10fcdc97c5c7e0ecec8373afbb5be8ecba04ccda871774bc44bf1066c17b83

See more details on using hashes here.

Provenance

The following attestation bundles were made for csar-0.1.1-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: wheels.yml on ajfriend/csar_py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file csar-0.1.1-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for csar-0.1.1-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 cb3f2db3c77f5fc20e46bbc633f5bdbb039951df1a84ca4508bbffa9510fdc05
MD5 cef16d378c04ad4de0f2f2f940dcf9dd
BLAKE2b-256 cd24509da7f4c99905a8b89da52312c45f8dc1a7ee4c6297bcf3b83c0ea85a5b

See more details on using hashes here.

Provenance

The following attestation bundles were made for csar-0.1.1-cp313-cp313-musllinux_1_2_aarch64.whl:

Publisher: wheels.yml on ajfriend/csar_py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file csar-0.1.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for csar-0.1.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9933e22e0db134186f7934ac1eabf6d973d428ee7d931b9c10dac6efe376546b
MD5 5fbf980a4ca089bb1daa35c44002e658
BLAKE2b-256 f61efc308d33349be293277ab7a9e9c2cd770147f067e2f8543ef6a8d178b931

See more details on using hashes here.

Provenance

The following attestation bundles were made for csar-0.1.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on ajfriend/csar_py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file csar-0.1.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for csar-0.1.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 55feb4ad686796c481bfde58da01a5edeab1547ae9c400efc26e1fd07fb56bbc
MD5 0126b776e0dfc7f34c2bfde968bfdcf0
BLAKE2b-256 e3b036d9dc6f83d5b80e17e847fd18a9e902e9f09f5b2a4be206f5d712392208

See more details on using hashes here.

Provenance

The following attestation bundles were made for csar-0.1.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: wheels.yml on ajfriend/csar_py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file csar-0.1.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

  • Download URL: csar-0.1.1-cp313-cp313-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 115.4 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

Hashes for csar-0.1.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 54415d6b99fd6e9cfcc75ccc35c90bd1185c7dd5ecabd108b01514fcb66f2244
MD5 ba34d32ba03ef66b10cb3cf04df764e6
BLAKE2b-256 0b514a8f6740dcc273f14044685a3879a4342a87ea5e2b6e299f87bf51918871

See more details on using hashes here.

Provenance

The following attestation bundles were made for csar-0.1.1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: wheels.yml on ajfriend/csar_py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file csar-0.1.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: csar-0.1.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 174.4 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

Hashes for csar-0.1.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 26f8936b9f90991789e289576a9ac24df86e0c2c87681c11f33b18fef7af5ca5
MD5 2283c3b967a19e45b0cce73261280527
BLAKE2b-256 66ff11958f3bad37b2a01464a0baca088fef57945f9b3eb8f13e6ae08a36863f

See more details on using hashes here.

Provenance

The following attestation bundles were made for csar-0.1.1-cp312-cp312-win_amd64.whl:

Publisher: wheels.yml on ajfriend/csar_py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file csar-0.1.1-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for csar-0.1.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 84034695b97195c99055e2815032b763aeccc37a8a8b33ccf1e8c49ecaf6d052
MD5 d0488a717a6acf9e6fe4365276f5b3de
BLAKE2b-256 c1af700adc906b9efbf41c6f6f828382f9d0efdfe420577406c936cfe2360cec

See more details on using hashes here.

Provenance

The following attestation bundles were made for csar-0.1.1-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: wheels.yml on ajfriend/csar_py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file csar-0.1.1-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for csar-0.1.1-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d3e60ec5bf6727996f9e780a37e34e21d5503a627a65fc5f26c9d4f0fc4d4757
MD5 1ec175c3d3941d462ebe085efd2ea263
BLAKE2b-256 fafc57dde050509f5720a463f92b5a5f7047872054bcce92ad09a0c0c4d0f3fb

See more details on using hashes here.

Provenance

The following attestation bundles were made for csar-0.1.1-cp312-cp312-musllinux_1_2_aarch64.whl:

Publisher: wheels.yml on ajfriend/csar_py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file csar-0.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for csar-0.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f1a523d73f5575b016907b908e75194f54abed20bd2e2d711783740f98281aea
MD5 b382cc8126fa844ec6e83ad454b54d0e
BLAKE2b-256 07bc2a80cd2b78b8c2bc30c14b214895866c9a92253e7a5c9a0e97c1a5f117ab

See more details on using hashes here.

Provenance

The following attestation bundles were made for csar-0.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on ajfriend/csar_py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file csar-0.1.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for csar-0.1.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 85bc17a56cfa43c0d1b1465e48a7eab2a2b9490ca50e3cccea5e8d60b90086c4
MD5 3e69d74c6b593a12c945949722645038
BLAKE2b-256 703fcf85f84619b61d55f83499b12d86855af24ad8bd23bbb3f0a31169d7d966

See more details on using hashes here.

Provenance

The following attestation bundles were made for csar-0.1.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: wheels.yml on ajfriend/csar_py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file csar-0.1.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

  • Download URL: csar-0.1.1-cp312-cp312-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 115.9 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

Hashes for csar-0.1.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1935179c19185da24639c623ba24af4d7d0eb5edc78c96f2292674a786f3a4e5
MD5 1fe8abb03a607fbbe3f1f76a6050280f
BLAKE2b-256 59e026e90f9ef2ff685eefe872a97dd5433a5f68ba8d5e7e2db5e980215bb762

See more details on using hashes here.

Provenance

The following attestation bundles were made for csar-0.1.1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: wheels.yml on ajfriend/csar_py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file csar-0.1.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: csar-0.1.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 176.4 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for csar-0.1.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b20633206c545f154eb1ba19e6014cb3dc48eb4b386788ef57bfcc9fab1659eb
MD5 bbafb3090c4336ad1c5494449bc2b567
BLAKE2b-256 6ddd884cf9d1b339b79c0fff4206652fc5d3b0531cf5fbe0804c614702e927e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for csar-0.1.1-cp311-cp311-win_amd64.whl:

Publisher: wheels.yml on ajfriend/csar_py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file csar-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for csar-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bb0e7dc6a937be644b6f06686837590726a1e6e692f73bc63471943bddb66e39
MD5 c15d21839b6ab73a8929ba03b3a5093c
BLAKE2b-256 8c77e145d49ba6d5aa24542dced0aa78969c8a6f74eecf2018d1cb93d946b0a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for csar-0.1.1-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: wheels.yml on ajfriend/csar_py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file csar-0.1.1-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for csar-0.1.1-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a91f1661c8001f3483fc0425c9bf7e311bddf1b31413ac9fed9cce4e2b8279cc
MD5 1ef15b555480b4c06218e4888dfdafed
BLAKE2b-256 9b7f6a82a9270006081b7939078698822d0874e51d0b624374bc363f20c6f258

See more details on using hashes here.

Provenance

The following attestation bundles were made for csar-0.1.1-cp311-cp311-musllinux_1_2_aarch64.whl:

Publisher: wheels.yml on ajfriend/csar_py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file csar-0.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for csar-0.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2548f09097df9f9a9bfe2c573b536095398e38fa2374a7132a2c44cd1322b1a8
MD5 a374c8246425f18426024d71d4953781
BLAKE2b-256 07503a04187f3a409be556a8c4aa1d3443f680509a5dbbc9dab19ca74b059e9b

See more details on using hashes here.

Provenance

The following attestation bundles were made for csar-0.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on ajfriend/csar_py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file csar-0.1.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for csar-0.1.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6392c940f0a10f208a1dabd1bb675de73021bccc038b060df673806ba61e5bdf
MD5 2b1b31747836555ac93603f00050ad7d
BLAKE2b-256 ca34f17950779c7c748330cb6b64ab7235b61c90531da11c584a20888db636cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for csar-0.1.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: wheels.yml on ajfriend/csar_py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file csar-0.1.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

  • Download URL: csar-0.1.1-cp311-cp311-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 115.4 kB
  • Tags: CPython 3.11, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for csar-0.1.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 15899986ed598f12d925ac282ec6d81bbb1e03a58803e9b2fed3c5d24d21efa4
MD5 f24a63c0e80cca77770f64b361abeb39
BLAKE2b-256 451c4cfd33c0edb6b7b6b719415bd2aad9a37492b7a032e9f9f8fa167ce32ddc

See more details on using hashes here.

Provenance

The following attestation bundles were made for csar-0.1.1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: wheels.yml on ajfriend/csar_py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page