csonpath
That's not my path, that's not your path, but csonpath.
csonpath is a partial JSONPath implementation in C, with Python bindings. It allows you to query, update, and remove data from JSON objects using path expressions.
Unlike many JSONPath libraries, csonpath is backend-agnostic: it can work with any C library or environment that manipulates array, object, and scalar types—not just JSON. Out of the box, backends for json-c, yyjson, Python and Rust (via serde_json) are provided.
🚀 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 |
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 |
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
- Custom Backends
- Running Tests
- Directory Structure
- Contributing
- License
📦 Installation
Prerequisites
- C compiler (
gccorclang) - json-c library (for C usage)
- Python 3.x (for Python bindings)
C (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 (Rust backend)
The Rust backend is located in rust/. It builds both a safe Rust API and the C glue required by the csonpath core.
cd rust
cargo build
cargo test
To use it from C, include the backend header and link against the produced static library:
#include "rust/csonpath_rust_backend.h"
Python
Install from PyPI:
pip install csonpath
To install from source (development):
pip install .
# or
make pip-dev
🛠️ 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
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). |
🔌 Custom Backends
csonpath is designed to be backend-agnostic. It can work with any data structure that supports array, object, and scalar semantics.
To create a custom backend, define the required macros and types in a header file (similar to csonpath_json-c.h or csonpath_python.c), then include your backend header before csonpath.h. This allows you to adapt csonpath for manipulating data in any format that supports array/object semantics, giving you full flexibility beyond just JSON.
For more details, see the existing backend implementations:
csonpath_json-c.h— json-c backendcsonpath_yyjson.h— yyjson backendcsonpath_python.c— Python backendrust/csonpath_rust_backend.h— Rust / serde_json backend
🧪 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 backend (safe API, FFI, C glue) |
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.17.0
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.17.0.tar.gz | 86.2 kB | Details |
Built distributions (wheels)
Total release size: 3.2 MB
Release files / csonpath-0.17.0.tar.gz
| Download URL | csonpath-0.17.0.tar.gz |
|---|---|
| Size | 86.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
68dd9f51553857ccea661b791b134ba03654d055bfbc2baf033e17aa310f7641
|
|
BLAKE2b-256 checksum How to use checksums |
f2b3374e63941b86fc9c7d852cfb7593dbd00011d353ebf57b42e7d6cb13c58e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / csonpath-0.17.0-cp314-cp314t-win_amd64.whl
| Download URL | csonpath-0.17.0-cp314-cp314t-win_amd64.whl |
|---|---|
| Size | 49.3 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Windows x86-64 |
|
SHA-256 checksum How to use checksums |
222cb436ae1000a98daac3f5ffedff5386ad7841e5226ac4ce1d92383541b0a8
|
|
BLAKE2b-256 checksum How to use checksums |
b0f19e9036ddfa076afd50bd9d4850f5fdb237e3b867232b98c73dd1144bfa71
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / csonpath-0.17.0-cp314-cp314t-musllinux_1_2_x86_64.whl
| Download URL | csonpath-0.17.0-cp314-cp314t-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 199.4 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
9dfa5a50afc8e764db347c717a78dddef5d1720a59f88c99f866159a2c8778dd
|
|
BLAKE2b-256 checksum How to use checksums |
8a569e6dbd03d8121da136dc053039ae7bb7d110c5824d31836c1d9c223b36a6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / csonpath-0.17.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | csonpath-0.17.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 202.9 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 |
8c083cb40a38ab9056b96f84531390e20793fd6df1f0f8940a192c4edaa45285
|
|
BLAKE2b-256 checksum How to use checksums |
5acd0229ae58f4214840551fb7d858f7b90143baefdeef8899e48d32b5d024d8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / csonpath-0.17.0-cp314-cp314t-macosx_11_0_arm64.whl
| Download URL | csonpath-0.17.0-cp314-cp314t-macosx_11_0_arm64.whl |
|---|---|
| Size | 42.5 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
76070028c6c23be4b91a65c79c7e9dffedc57b6ad2ece428b2fd7a1dd2c2822a
|
|
BLAKE2b-256 checksum How to use checksums |
d3143b816dde736e194114ae69428327a492a474e0da0bb83bcd7131f331c396
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / csonpath-0.17.0-cp314-cp314-win_amd64.whl
| Download URL | csonpath-0.17.0-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 48.3 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
b7d3713d569eb6b925ba250f2bfbe19e48032485f8ce0be43e405cfed420b315
|
|
BLAKE2b-256 checksum How to use checksums |
813b7c926a80f98ef7e6dd57691b8cfa98ffdbf35205cc676a03382a85562bdb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / csonpath-0.17.0-cp314-cp314-musllinux_1_2_x86_64.whl
| Download URL | csonpath-0.17.0-cp314-cp314-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 177.2 kB |
| Tags | CPython 3.14 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
0bddea44716ba9930140fa8f928a5cb2517ecf62941439e06e11faf46598192b
|
|
BLAKE2b-256 checksum How to use checksums |
57ba59e42b4ec55f104a6f1956ade628d318349b970c03229b497c9dc59bf7f2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / csonpath-0.17.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | csonpath-0.17.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 179.1 kB |
| Tags | CPython 3.14 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
bedcd5541819314019d1b3e3e2bfc6f2cac69c8f079ce78c623a688ae480abb4
|
|
BLAKE2b-256 checksum How to use checksums |
4b777c6f519148138d1625814c4bbe54f856f3e53fa41baaba4785097f070727
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / csonpath-0.17.0-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | csonpath-0.17.0-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 42.0 kB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
5c86271e4fc00adb2ec145c39a9ae92e4d90d5a374f4eff3177294310b7a7bef
|
|
BLAKE2b-256 checksum How to use checksums |
40a7aad4c2b59e82b7bfaf50d7d5c5bd7721c535594162870ff68b8c52f17cb8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / csonpath-0.17.0-cp313-cp313-win_amd64.whl
| Download URL | csonpath-0.17.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 47.1 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
79ae558d5df6fa857424ff48cc064971c7b505e5478ba6198a44b021d1d800b9
|
|
BLAKE2b-256 checksum How to use checksums |
26b894e138dc56a1ac8d30a3f1b5d7d2d5b4064866ed10792d6d251db7abc577
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / csonpath-0.17.0-cp313-cp313-musllinux_1_2_x86_64.whl
| Download URL | csonpath-0.17.0-cp313-cp313-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 177.3 kB |
| Tags | CPython 3.13 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
fcfac39fc1379ee7c1276cb90d3d638b298284417d640eaf8ced69bd5cb11cbc
|
|
BLAKE2b-256 checksum How to use checksums |
219f11b5890aec22a27332fb8dc007cae89d47150e57c1c4e19be41609597cf0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / csonpath-0.17.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | csonpath-0.17.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 179.1 kB |
| Tags | CPython 3.13 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
1ce0922f269b9884320888b45d2a96ddb86449b475b16065fb7246a76221ed84
|
|
BLAKE2b-256 checksum How to use checksums |
5cd74783e861bbdfba8b4a21ddddc8f20bc4439c0e19b90479f0e1cad783b83c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / csonpath-0.17.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | csonpath-0.17.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 41.9 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
07adc0ac58f7feb9e3e582a333f8c092297de448afe9cf2b610d12c67a7768a6
|
|
BLAKE2b-256 checksum How to use checksums |
30ccd503fb959c4f74f1f570cf5f244a5eaffc9a0d5fe13f15bb2b1d380341a3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / csonpath-0.17.0-cp312-cp312-win_amd64.whl
| Download URL | csonpath-0.17.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 47.1 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f499c9d102213764bba049e145a219ab9c26e354de04a64552cfe95de6aa4812
|
|
BLAKE2b-256 checksum How to use checksums |
64f7ebd6092750a741fcb6702678d8bd5c4c07b79c6a4a5882d9b44422d93e03
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / csonpath-0.17.0-cp312-cp312-musllinux_1_2_x86_64.whl
| Download URL | csonpath-0.17.0-cp312-cp312-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 177.2 kB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
421c5e0656d9efcefcafb716e63695852c8c9cfc816efbef75de857c37a5376c
|
|
BLAKE2b-256 checksum How to use checksums |
9a994aba82e49fe013fad10d68080fa7e007c79ee175767a93e717aa6c6c7ed8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / csonpath-0.17.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | csonpath-0.17.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 179.0 kB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
447b209ed68e77dfdbf37ec3bf09d243f05d94bf180959deb9d35791c1df824f
|
|
BLAKE2b-256 checksum How to use checksums |
1a57b586cf51ce59d18b21343273a622a06c5322ac87007df3e633447b9b31d9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / csonpath-0.17.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | csonpath-0.17.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 42.0 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
eeb659a18ff235338dbfc0063b955aa33c3d07720fa117312cbe23bcb820b077
|
|
BLAKE2b-256 checksum How to use checksums |
020b41d230b9671c0e9e8aa54f0bc2564d9abeed18842761bf2e1d661aa8ffd3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / csonpath-0.17.0-cp311-cp311-win_amd64.whl
| Download URL | csonpath-0.17.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 47.0 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
ddbc9fd97180866dfc774583f3e8d0bd6b1305cbfb4a321bed5c4b85e154ef6d
|
|
BLAKE2b-256 checksum How to use checksums |
dcbf9d75c8630b55966e573c9c340174234fbf6305646506fad3f8fd076570e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / csonpath-0.17.0-cp311-cp311-musllinux_1_2_x86_64.whl
| Download URL | csonpath-0.17.0-cp311-cp311-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 175.6 kB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
8fe06d92ca538484a0cfe5bdc4cac034a67c84c351f0b9c4344e0c384672f057
|
|
BLAKE2b-256 checksum How to use checksums |
6905c33da15daea2d60d189caf5b4683eb95eec261fd789c38e62bb4f2d635ed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / csonpath-0.17.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | csonpath-0.17.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 177.1 kB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
8d2e07e8462188dbcb3e002e01d636694c0108cf71349da1df2caafb11f38785
|
|
BLAKE2b-256 checksum How to use checksums |
fd7b37452f3e50d942184a56ea63100d20c270effabc5569556cc4968460b48f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / csonpath-0.17.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | csonpath-0.17.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 41.7 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
eae16a6143d32703e9e36f0b26cb24c49b721550926929eaf78d1dd8f795b9fc
|
|
BLAKE2b-256 checksum How to use checksums |
0cff27326444a2d3ee4a25e2f486d213d5238cc00f6eb171bdb68808f3c802cc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / csonpath-0.17.0-cp310-cp310-win_amd64.whl
| Download URL | csonpath-0.17.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 46.9 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
77004fb46b4344aaa07b591bc7c5c163749d33fd318c5e00627b41af96824764
|
|
BLAKE2b-256 checksum How to use checksums |
7ef36a9266f57056a75f218c07bc588e64e06e63550ae9025b15713b9d0ef5da
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / csonpath-0.17.0-cp310-cp310-musllinux_1_2_x86_64.whl
| Download URL | csonpath-0.17.0-cp310-cp310-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 170.3 kB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
7cb0a36a6c510ff3afd0a77a395fe41d4f9f66e32a2a556bab7b1d4de48e5c76
|
|
BLAKE2b-256 checksum How to use checksums |
10b271041da5192e4279f44b7fa3350145e37ae2e84e6e9663ae70182e36aa51
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / csonpath-0.17.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | csonpath-0.17.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 171.2 kB |
| Tags | CPython 3.10 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
82704ffde882686e68ce6bcff31e27a9d9e230508e32aa43b7b6ac4885b22b94
|
|
BLAKE2b-256 checksum How to use checksums |
16d3d91ee2897052e1fbb989f8b31b904f8613f9221003c728fdd2106e73e3f5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / csonpath-0.17.0-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | csonpath-0.17.0-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 41.7 kB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
4e181ac3ae31d7ee4115c30c7e36b770611677bc07853788927caa4487e8fa86
|
|
BLAKE2b-256 checksum How to use checksums |
2575b1eef4397b59524c8d041dd1bcf9acb978d3c67dbafc177e7962b3632b2d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / csonpath-0.17.0-cp39-cp39-win_amd64.whl
| Download URL | csonpath-0.17.0-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 46.9 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
ade073cb1b508f53c29b02bf5d4d63e1e88646f3166dae4c8fd535e0dce8158e
|
|
BLAKE2b-256 checksum How to use checksums |
3ad81183c00e3e16a4d12c71923e2ff6b548d07a7e8464bc5b182a0607650883
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / csonpath-0.17.0-cp39-cp39-musllinux_1_2_x86_64.whl
| Download URL | csonpath-0.17.0-cp39-cp39-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 170.1 kB |
| Tags | CPython 3.9 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
15646c1fa139e47d5b0b752f6872340660790f7166e3b02e417d8f5682739bf7
|
|
BLAKE2b-256 checksum How to use checksums |
034739ba798188f82d86c743c79be8653dbaaf109e434ea8199e913dc0feb888
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / csonpath-0.17.0-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | csonpath-0.17.0-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 171.0 kB |
| Tags | CPython 3.9 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
4e69ea6e4af3938fc05c84188846dcc0d86d2aecd16aaf4848a613b55b95ef51
|
|
BLAKE2b-256 checksum How to use checksums |
ed221e793007b6735789463708eb1633a7985c53440ae2814654cc218ff232f0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / csonpath-0.17.0-cp39-cp39-macosx_11_0_arm64.whl
| Download URL | csonpath-0.17.0-cp39-cp39-macosx_11_0_arm64.whl |
|---|---|
| Size | 41.7 kB |
| Tags | CPython 3.9 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
914102d131ab7d67781be4775a86ade3d84765d0d774db79e9e2f4ee7ac276d4
|
|
BLAKE2b-256 checksum How to use checksums |
27ca891b8ddddfb544bb0bc15ab4de098d6df4abe05bf52f65e32659ee3073fc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|