csonpath
That's not my path, that's not your path, but csonpath.
csonpath is a partial JSONPath implementation in C. It is backend-agnostic: the same core engine can query, update, and remove data from any value representation that supports array, object, and scalar semantics—not just JSON.
Out of the box it ships with C backends for json-c and yyjson, plus language bindings for Python and Rust.
🚀 Features
JSONPath Syntax
| Feature | Example | Description |
|---|---|---|
| Dot notation | $.a.b |
Access nested object fields |
| Bracket notation | $['a']['b'] |
Alternative object/array access |
| Array index | $.array[0] |
Access by zero-based index |
Wildcard [*] |
$.array[*].field |
Iterate all array elements |
Recursive descent .. |
$..name |
Search recursively for a key |
Recursive descent wildcard ..* |
$..* |
Return all descendants |
Union , (inside brackets) |
$['a','b'], $.array[0,1], $.items[?n==1, ?n==2] |
Match all listed selectors at once |
OR fallback | |
$.a | $.b |
Try the left path first; fall back to the right one if it does not match. Only the first successful path is used. |
| Filters | $.items[?price > 10] |
Filter array elements |
| Regex filters | $.items[?name =~ "foo"] |
POSIX regex-based filtering |
Multiple filters (&) |
$.items[?a=1 & b=2] |
Combine conditions |
| Subpath expressions | $.obj[$.key] |
Use JSON values as dynamic path keys |
@ current object |
$.items[?@.price > 10] |
Reference the current element in filters |
| Type selectors | $..["@odata.id"]@string(), $.*@integer() |
Filter matches by JSON type (string, integer, null) |
Operations
- Find First — retrieve the first match.
- Find All — retrieve all matches (returns an array).
- Update or Create — modify existing values or create missing ones.
- Remove — delete matching elements.
- Callback — execute a custom callback on each match.
- Update or Create Callback — traverse the path, creating missing intermediate objects and arrays, then invoke the callback on each leaf node.
🌐 Links
- Project website: https://github.com/outscale/csonpath
- Join our community on Discord
📄 Table of Contents
- Features
- Installation
- Usage
- C API Reference
- Python API Reference
- CLI
- Using Multiple Backends
- Custom Backends
- Running Tests
- Directory Structure
- Contributing
- License
📦 Installation
csonpath is a C library at its core. Pick the instructions for the language you want to use it from.
C (json-c)
Prerequisites: C compiler (gcc, clang, or tcc), json-c.
Just include the header in your project. There is no separate install step required:
#include "csonpath_json-c.h"
Make sure to link against json-c when compiling:
gcc myapp.c -o myapp $(pkg-config --cflags --libs json-c)
C (yyjson)
Prerequisites: C compiler (gcc, clang, or tcc), yyjson.
#include "csonpath_yyjson.h"
Link against yyjson when compiling:
gcc myapp.c -o myapp $(pkg-config --cflags --libs yyjson)
Python
Prerequisites: Python 3.x.
Install from PyPI:
pip install csonpath
To install from source (development):
pip install .
# or
make pip-dev
Rust
Prerequisites: Rust toolchain.
The Rust crate is located in rust/. Build and test it with:
cd rust
cargo build
cargo test
To depend on it from another Rust project:
[dependencies]
csonpath = { path = "rust" }
🛠️ Usage
C (json-c)
#include "csonpath_json-c.h"
static void my_cb(json_object *parent, struct csonpath_child_info *info,
json_object *current, void *ud)
{
json_object_set_string(current, "modified");
}
int main(void)
{
struct json_object *jobj = json_tokener_parse(json_str);
struct csonpath *p = csonpath_new("$.a");
/* Find First: return the first match, or NULL */
struct json_object *ret = csonpath_find_first(p, jobj);
/* Find All: return a NEW json_object array. Caller must free it. */
ret = csonpath_find_all(p, jobj);
json_object_put(ret);
/* Remove: delete matching keys (or set array slots to null). Returns count. */
int removed = csonpath_remove(p, jobj);
/* Update or Create: replace matches, or create the full path if missing. */
csonpath_update_or_create(p, jobj, json_object_new_string("new_value"));
/* Callback: call a user function for every match. */
csonpath_callback(p, jobj, my_cb, NULL);
/* Update or Create Callback: like callback, but creates missing parents first,
then invokes the callback on every leaf (existing or newly created). */
csonpath_update_or_create_callback(p, jobj, my_cb, NULL);
csonpath_destroy(p);
json_object_put(jobj);
return 0;
}
Python
import csonpath
data = {"a": "value", "array": [1, 2, 3]}
p = csonpath.CsonPath("$.a")
# Find First / Find All
p.find_first(data) # -> "value"
p.find_all(data) # -> ["value"]
# Remove: returns number of removed items
p.set_path("$.array[*]")
p.remove(data)
# Update or Create: builds missing objects/arrays automatically
p.set_path("$.x.y.z")
p.update_or_create(data, [])
# data is now {"a": "value", "array": [1, 2, 3], "x": {"y": {"z": []}}}
# Callback
p.set_path("$.a")
p.callback(data, lambda parent, idx, cur, _: parent.__setitem__(idx, cur.upper()))
# Update or Create Callback: creates parents, then calls cb on each leaf
p.set_path("$[*].a")
p.update_or_create_callback(dst, my_sync_fn, userdata)
📘 C API Reference
The reference below uses the json-c backend as an example (struct json_object *). All backends expose the same functions with their own value type.
struct csonpath *csonpath_new(const char *path);
Create and initialize a new csonpath object.
int csonpath_set_path(struct csonpath *p, const char *path);
Change the path of an existing object.
int csonpath_compile(struct csonpath *p);
Compile the path expression. This is optional—paths are compiled automatically on first use—but explicit compilation can help catch syntax errors earlier.
void csonpath_print_instruction(struct csonpath *p);
Print the compiled bytecode instructions (useful for debugging).
struct json_object *csonpath_find_first(struct csonpath *p, struct json_object *json);
Return the first matching value, or NULL if none is found.
struct json_object *csonpath_find_all(struct csonpath *p, struct json_object *json);
Return a new json_object array containing all matches. Must be freed with json_object_put().
int csonpath_remove(struct csonpath *p, struct json_object *json);
Remove all matching elements. Returns the number of elements removed.
int csonpath_update_or_create(struct csonpath *p, struct json_object *json, struct json_object *new_val);
Replace matching values with new_val, or create the path if it does not exist.
int csonpath_callback(struct csonpath *p, struct json_object *json,
json_c_callback callback, void *userdata);
Invoke callback for every match.
int csonpath_update_or_create_callback(struct csonpath *p, struct json_object *json,
json_c_callback callback, void *userdata);
Like callback, but traverses the path while updating/creating missing intermediate objects.
void csonpath_destroy(struct csonpath *p);
Free the csonpath object.
📗 Python API Reference
CsonPath(path, return_empty_array=False, jq_like=False)— Create a new csonpath object. Optional flags:return_empty_arrayreturns[]instead ofNonewhenfind_all()finds nothing;jq_likeallows jq-style paths without a leading$.set_path(path)— Change the path expression.find_first(json)— Return the first match, orNone.find_all(json)— Return a list of all matches, orNone(or[]if configured).remove(json)— Remove all matches. Returns the number of removed items.update_or_create(json, value)— Replace matches withvalue, or create the path.callback(json, callback, callback_data=None)— Callcallback(parent, idx, current, callback_data)for every match.update_or_create_callback(json, callback, callback_data=None)— Same ascallback, but creates missing parent objects along the path.
🖥️ CLI
A standalone C CLI is available in cli/csonpath_cli.c. It links directly against json-c and the csonpath C core, so it works without Python.
make csonpath # build ./csonpath
make tests-cli # run shell tests
It reads JSON from stdin, a file (-f), or a string (-s) and exposes the library operations through action flags.
# Get the first match (default)
echo '{"a": "value", "array": [1, 2, 3]}' | ./csonpath '$.a'
# => "value"
# Find all matches
echo '{"items": [{"price": 5}, {"price": 15}]}' | ./csonpath -a '$.items[?price > 10]'
# => [{"price":15}]
# One match per line
echo '{"array": [1, 2, 3]}' | ./csonpath -a -o lines '$.array[*]'
# => 1
# => 2
# => 3
# Set or create a value
echo '{"a": 1}' | ./csonpath --set '42' '$.x.y.z'
# => {"a":1,"x":{"y":{"z":42}}}
# Or with a positional value
echo '{"a": 1}' | ./csonpath '$.x.y.z' '42'
# Remove matches
echo '{"a": 1, "b": 2}' | ./csonpath -d '$.b'
# => {"a":1}
# Edit a file in place
./csonpath -f data.json -p -i --set '"2.0"' '$.version'
Options
| Option | Description |
|---|---|
-a, --all |
Return all matches instead of the first one. |
-d, --delete |
Remove matches and print the modified JSON. |
--set VALUE |
Set PATH to VALUE (JSON). |
VALUE (positional) |
Alternative to --set. |
-r, --raw |
Treat the value as a raw string. |
-i, --in-place |
Edit FILE in place (requires --file). |
--strict |
Exit with an error if --delete removes nothing. |
-f FILE, --file FILE |
Read JSON from FILE instead of stdin. |
-s JSON, --string JSON |
Read JSON from a string. |
-j, --jq-like |
Allow jq-style paths without a leading $. |
-p, --pretty |
Pretty-print JSON output. |
-o {json,pretty,raw,lines} |
Output format (default: json). |
-e, --empty-array |
Return [] instead of nothing when -a matches nothing. |
Exit codes
| Code | Meaning |
|---|---|
0 |
Success. |
1 |
No match found, or --strict delete found nothing. |
EINVAL |
Usage error, JSON parse error, JSONPath compilation error, or invalid JSON value. |
errno |
I/O error (e.g. ENOENT, EACCES). |
🧩 Using Multiple Backends
You can include more than one csonpath backend in the same translation unit, provided you prefix all but one of them to avoid symbol collisions. Define CSONPATH_USE_PREFIX before a backend header to prefix its API with the backend name.
For example, to use both json-c and the immutable yyjson backend in the same file:
#define CSONPATH_USE_PREFIX
#include "csonpath_json-c.h"
#undef CSONPATH_USE_PREFIX
#include "csonpath_yyjson_const.h"
To use both yyjson backends (immutable and mutable) together, include the aggregator header:
#include "csonpath_yyjson.h"
When using the mutable yyjson backend, assign the document pointer to backend_ctx before mutable operations:
struct csonpath *mp = yyjson_mut_csonpath_new("$.a");
mp->backend_ctx = mdoc;
yyjson_mut_csonpath_update_or_create(mp, mroot, new_val);
🔌 Custom Backends
csonpath is designed to be backend-agnostic. The C core manipulates opaque value pointers through a small set of macros, so it can work with any data structure that supports array, object, and scalar semantics.
A backend is an adapter that implements those macros for a concrete value representation. To create a custom backend, define the required macros and types in a header file (similar to csonpath_json-c.h or csonpath_yyjson.h), then include your backend header before csonpath.h.
Existing backend adapters:
csonpath_json-c.h— json-c valuescsonpath_yyjson.h— yyjson valuescsonpath_python.c— Python C API values (used by the Python bindings)rust/csonpath_rust_backend.h— Rustserde_json::Value(used by the Rust crate)
🧪 Running Tests
C Tests
make tests-c
Rust Tests
cd rust
cargo test
Python Tests
make tests-py
All Tests
make tests
📁 Directory Structure
| File / Directory | Description |
|---|---|
csonpath.h, csonpath_do.h |
Core implementation (header-only style) |
csonpath_json-c.h |
json-c backend |
csonpath_yyjson.h |
yyjson backend |
csonpath_python.c |
Python C extension backend |
rust/ |
Rust crate and its C backend adapter |
csonpath_my_fuzzing.h |
Fuzzer helpers (C) |
tests/ |
C and Python test suites |
bench/ |
Performance benchmarks |
🤝 Contributing
We welcome contributions!
Please read our Contributing Guidelines and Code of Conduct before submitting a pull request.
Feel free to open issues or pull requests!
📜 License
BSD 3-Clause. See LICENSE.
Metadata
Release files for csonpath 0.19.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 | |
|---|---|---|---|
| csonpath-0.19.1.tar.gz | 89.8 kB | Details |
Built distributions (wheels)
Total release size: 5.0 MB
Release files / csonpath-0.19.1.tar.gz
| Download URL | csonpath-0.19.1.tar.gz |
|---|---|
| Size | 89.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
791e9ffc974c5a798f9fa5f5860a0cf7b1b303aea3eae79def7082aa646fc944
|
|
BLAKE2b-256 checksum How to use checksums |
51e7a3b0f2e7ccd6183eb1aa84cf232c06926c1c3c24cf34a4cb11ed17684fb8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / csonpath-0.19.1-cp314-cp314t-win_amd64.whl
| Download URL | csonpath-0.19.1-cp314-cp314t-win_amd64.whl |
|---|---|
| Size | 68.4 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Windows x86-64 |
|
SHA-256 checksum How to use checksums |
ffb10e86b15f6b1a33347e17022390460743f9a70bfe37b3e134eda86b7fc3f1
|
|
BLAKE2b-256 checksum How to use checksums |
65e8e6ca8fc3b4ce6e183ecda815b69f0bbbf48a68cf07863f3496d2c42102a2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / csonpath-0.19.1-cp314-cp314t-musllinux_1_2_x86_64.whl
| Download URL | csonpath-0.19.1-cp314-cp314t-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 321.9 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
ff708e9e1d796f3bd1380955b57a9b0cd78af74b774b3f222ca4219a5bd39004
|
|
BLAKE2b-256 checksum How to use checksums |
15ea79ecbffbe14ededf6bcdfd67edcf85d132a09dff9afc2d3d9bdc30ab55e1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / csonpath-0.19.1-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | csonpath-0.19.1-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 324.5 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
de25d2b1ccc533606a80161738270ea3e2a58bd7f52f3f75009f46f2f9aab683
|
|
BLAKE2b-256 checksum How to use checksums |
05b5c92834fdc610e0cc94e4e3c526e0c724528cd237c1bbbd281ab2c155589b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / csonpath-0.19.1-cp314-cp314t-macosx_11_0_arm64.whl
| Download URL | csonpath-0.19.1-cp314-cp314t-macosx_11_0_arm64.whl |
|---|---|
| Size | 51.6 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
9e6615864fec28a7469d211d1812ff2e83b3b49fc85644c6f2eae358f52c829e
|
|
BLAKE2b-256 checksum How to use checksums |
4af75db6b115d17e3694d0a1795f165b26dd359bb6cb09824c3bb9d6bdd4dc59
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / csonpath-0.19.1-cp314-cp314-win_amd64.whl
| Download URL | csonpath-0.19.1-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 67.2 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
bbd47c7cabd8198cb151e69dd794300f7e1900f7b2b57519232aa7f4eb04d69c
|
|
BLAKE2b-256 checksum How to use checksums |
a513a677f3c3211176994e3a681b7002223ae4f671df09493326ac5631869f91
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / csonpath-0.19.1-cp314-cp314-musllinux_1_2_x86_64.whl
| Download URL | csonpath-0.19.1-cp314-cp314-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 297.8 kB |
| Tags | CPython 3.14 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
df87ac5be17f140bc32aa1ff9504adb5f789e2ed03631429223ac168c99c5a8c
|
|
BLAKE2b-256 checksum How to use checksums |
7bfa794f889585dbfab6df1175096bfc05b22f476dfe6f7609e8f8af392d23ae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / csonpath-0.19.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | csonpath-0.19.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 295.8 kB |
| Tags | CPython 3.14 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
319a1813ef319fcd693f047bdd04c599bf8bbfc8925fd9e55df84acb6728a687
|
|
BLAKE2b-256 checksum How to use checksums |
9259a565799f1e24677a00bd0e981964001a48eea1ff0cf9cb05a501adecd94a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / csonpath-0.19.1-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | csonpath-0.19.1-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 50.6 kB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
fc28d7f7d70aa2aae4a91d630dc37ad275f889264704f819592ec2001a910911
|
|
BLAKE2b-256 checksum How to use checksums |
2f4bccc5cc864cd224f81b166607f477aa8dfdc5fa3813897b0478c612f5e666
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / csonpath-0.19.1-cp313-cp313-win_amd64.whl
| Download URL | csonpath-0.19.1-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 65.6 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f20ab2181fece078c836342901a5cb3d9ed6f834da98ef7335df2075cd046ce0
|
|
BLAKE2b-256 checksum How to use checksums |
bb5b3759ad65714f9cf4004b78a1badc1d28184bde45c3e2127364674f385554
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / csonpath-0.19.1-cp313-cp313-musllinux_1_2_x86_64.whl
| Download URL | csonpath-0.19.1-cp313-cp313-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 298.0 kB |
| Tags | CPython 3.13 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
8327ac3dcd196c4c0e4b591b496e0979efbf55f97dc25816e0e7405276dae14e
|
|
BLAKE2b-256 checksum How to use checksums |
1451b1459a7e6c1f3ebc5fa1cbd12d6548729a7d021636f0d996c020b007818f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / csonpath-0.19.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | csonpath-0.19.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 295.9 kB |
| Tags | CPython 3.13 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
2ca03fb3035947a36e914c2ee9e47bad81a2c4efb4d9dcc4b8c76bb504b1e91b
|
|
BLAKE2b-256 checksum How to use checksums |
e01b5e0d8583c143888435107fd950f4ad5218ce1dccaf39995bedc726940e83
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / csonpath-0.19.1-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | csonpath-0.19.1-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 50.6 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
ce5e32b03833ac88c183d5a7f968a12f88a7e05d778019c5e62d1007ea61087f
|
|
BLAKE2b-256 checksum How to use checksums |
28f5f2c0cd0ff997219d72d0a2b338ac21ca8faf01cce23aa2b635cf17959f4e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / csonpath-0.19.1-cp312-cp312-win_amd64.whl
| Download URL | csonpath-0.19.1-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 65.7 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
90a4e05b10865f31777e395caea10c473e583a752870747d6bbb6c0a0bd995c2
|
|
BLAKE2b-256 checksum How to use checksums |
df3658c2a913d2064b817099b45d8c59ea7487462d9f36f43be8d99d34baaff3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / csonpath-0.19.1-cp312-cp312-musllinux_1_2_x86_64.whl
| Download URL | csonpath-0.19.1-cp312-cp312-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 297.9 kB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
5c34ec32fddea644f1be538a599cb1286013b30d378e206113b77ba36f1db55e
|
|
BLAKE2b-256 checksum How to use checksums |
6e9598f24646bfade5f08218dff8f81a0a6da49d8543fa39359697a3b8e2c7ad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / csonpath-0.19.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | csonpath-0.19.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 295.7 kB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
f99d32bf840b376ad2d117350690a535a742249210c3837c9e6788cc45a7a521
|
|
BLAKE2b-256 checksum How to use checksums |
0804464ebb39a33087879adb6e1be3a7d4716526998c22a4545c80f6f9b6fccd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / csonpath-0.19.1-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | csonpath-0.19.1-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 50.6 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
cc3bd4b2ccb92632ae52bdf222efc24c4c49a81bd9d5e8620953ffbced3d71ec
|
|
BLAKE2b-256 checksum How to use checksums |
9645380924605d4efb888db262fbf4447448f3ada79f822fd89e9f197364929f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / csonpath-0.19.1-cp311-cp311-win_amd64.whl
| Download URL | csonpath-0.19.1-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 65.7 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
699f1dd5f4d4ad42ffd6596beac531a5b254763f405792af4919e523551f63cc
|
|
BLAKE2b-256 checksum How to use checksums |
d8b11dec653443b34fd6048ce87b764f168eca012953325a0418b2e72b8f0726
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / csonpath-0.19.1-cp311-cp311-musllinux_1_2_x86_64.whl
| Download URL | csonpath-0.19.1-cp311-cp311-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 282.6 kB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
d43a4d7bec89c747429b66b6f85d59a1d4cd2d0d84479b77ebefcc68a054b3b3
|
|
BLAKE2b-256 checksum How to use checksums |
d1201ef631b82010f1dc6b17653861bd991b58d726f75ef875d1f9eb77145a59
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / csonpath-0.19.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | csonpath-0.19.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 281.0 kB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
db7ca2bd2f6119cda5e40bfd9b09fc732d07702ce709fbdc7bc17fba0f993048
|
|
BLAKE2b-256 checksum How to use checksums |
027c2e240aac7ea41ebbcca505b804b55fbec9904db7bb093bbcd870ef7ba240
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / csonpath-0.19.1-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | csonpath-0.19.1-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 50.5 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
60ff55357a1266edf65fd07b98c95a9a02a993d551aa22435db27f93a2733ee8
|
|
BLAKE2b-256 checksum How to use checksums |
83fb8c20e5fd73d66375cad62f2c93bc7a09cbb6d40d20f128f6f97b5b6035ee
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / csonpath-0.19.1-cp310-cp310-win_amd64.whl
| Download URL | csonpath-0.19.1-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 65.6 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
27653e576b16f35c58c43f3c8322ec6423b2106ba56d879dcfb7e6292bbe7b4c
|
|
BLAKE2b-256 checksum How to use checksums |
b920de9041ffface2e2b3bb5f795933adf36e32e8b3c0540bf19a89915a9b2f8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / csonpath-0.19.1-cp310-cp310-musllinux_1_2_x86_64.whl
| Download URL | csonpath-0.19.1-cp310-cp310-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 273.6 kB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
e4449001235c1cce54150e8bf3162f300bcabf78644ec68cb54728ca05757651
|
|
BLAKE2b-256 checksum How to use checksums |
5bd21bdfeab1c8c62f4bcdc48c713a90dcce93678212ab16cf846149bf2f9dc1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / csonpath-0.19.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | csonpath-0.19.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 271.3 kB |
| Tags | CPython 3.10 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
63abccbaf1e5d5302d4a2aa8a6bf024555fcd582bd97d78b7b3a9036f5ed8dfe
|
|
BLAKE2b-256 checksum How to use checksums |
1b8f223c6c6a99286d0604fb5d2c00f20d0bd64de26c81f3248f911b91387ca7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / csonpath-0.19.1-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | csonpath-0.19.1-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 50.5 kB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
cc35b5ea1b84e6d8fb6c7ec5a86f9f6b086d36597aeda0b76192f10b16bae1b5
|
|
BLAKE2b-256 checksum How to use checksums |
a05fd8915d5c29f6f7fa7727c8818262eec5f63e222bcb6766d1e62bf1e863cb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / csonpath-0.19.1-cp39-cp39-win_amd64.whl
| Download URL | csonpath-0.19.1-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 65.6 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
08f0daf230ff0fb6004b999369ef994204320fcdc092e95f0ff752993ea9fd42
|
|
BLAKE2b-256 checksum How to use checksums |
7fd100935c0b4f42e74725079730e612a5ef676957bdec4bda2e6e58c6b50ee7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / csonpath-0.19.1-cp39-cp39-musllinux_1_2_x86_64.whl
| Download URL | csonpath-0.19.1-cp39-cp39-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 273.3 kB |
| Tags | CPython 3.9 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
6fb37b3c9910544f64137ac85f56c0d19c76c2ed06d6e24ae082443b63e170ad
|
|
BLAKE2b-256 checksum How to use checksums |
4c6ee4f9ba855af0b39ac739de66442a22b155474bcb57a4f4cd19425e40fa50
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / csonpath-0.19.1-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | csonpath-0.19.1-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 271.2 kB |
| Tags | CPython 3.9 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
175c5b2fe63d302d8b96d236a5a478b799f52fa2e276ba5be89fad200e05cdb7
|
|
BLAKE2b-256 checksum How to use checksums |
25a0d918c67ac1f78bd427a97a576c2ad4c2ddae1cd4ed0376d2afaeb4848122
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / csonpath-0.19.1-cp39-cp39-macosx_11_0_arm64.whl
| Download URL | csonpath-0.19.1-cp39-cp39-macosx_11_0_arm64.whl |
|---|---|
| Size | 50.5 kB |
| Tags | CPython 3.9 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
ecf4a577ce66352297d7917ba00e1423c49030d4badf6d385a3cb3a1b8440ebc
|
|
BLAKE2b-256 checksum How to use checksums |
2beda83c68bfba10cbeb8a06464ce3aa25b4901c7346ccd50ce64b46e3671559
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|