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 |
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
- 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.18.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.18.0.tar.gz | 89.2 kB | Details |
Built distributions (wheels)
Total release size: 3.9 MB
Release files / csonpath-0.18.0.tar.gz
| Download URL | csonpath-0.18.0.tar.gz |
|---|---|
| Size | 89.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
806ea61519eea953f6eb4da9ea2fc2329d02083929639d788fba09022e7f704b
|
|
BLAKE2b-256 checksum How to use checksums |
52a642b6ddab9eeaa24c09417214fe285b2ef41774024cb4ec5338f983e7d8bd
|
| 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.18.0-cp314-cp314t-win_amd64.whl
| Download URL | csonpath-0.18.0-cp314-cp314t-win_amd64.whl |
|---|---|
| Size | 57.4 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Windows x86-64 |
|
SHA-256 checksum How to use checksums |
6b0a4e9384b4cf97404b1752cd4afba1a90ff2a167f31f0df51fa7c7b0837d17
|
|
BLAKE2b-256 checksum How to use checksums |
c015029e8e31bc90714191c760f92b89257b0e5198980ae0f16844f7b61d4b5f
|
| 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.18.0-cp314-cp314t-musllinux_1_2_x86_64.whl
| Download URL | csonpath-0.18.0-cp314-cp314t-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 244.7 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
0af5dc3b361fc65a62c5491ee34f21c59539ca0190df2e1657ec0a9c065339dd
|
|
BLAKE2b-256 checksum How to use checksums |
986372b01e981e6b58fff4e2e3305b56747edb7b04d8e81b0b6dcd5152fdb87c
|
| 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.18.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | csonpath-0.18.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 248.2 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 |
60d73431201dff8d54d643a1ddd01f2cbc66b7b7eb4a17b65c6966be3ed43c69
|
|
BLAKE2b-256 checksum How to use checksums |
dd7a73f02fc4bd269749ebaa704edecd45f41807d25b51b66cbb01d137655b32
|
| 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.18.0-cp314-cp314t-macosx_11_0_arm64.whl
| Download URL | csonpath-0.18.0-cp314-cp314t-macosx_11_0_arm64.whl |
|---|---|
| Size | 46.6 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
162cba5a1b757e6346fd72fe4f724bc3e95ecbf1e2a45093c2ca83557e4422bb
|
|
BLAKE2b-256 checksum How to use checksums |
0933338f29d8659170eccf2e9056466d5e8f53b52a9f9a147e26eaa487a15970
|
| 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.18.0-cp314-cp314-win_amd64.whl
| Download URL | csonpath-0.18.0-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 56.4 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
e861b0654b70c891bb7984bc3b3507175f63a435f989047ea76b29cb96a402b8
|
|
BLAKE2b-256 checksum How to use checksums |
9233a63266eecb2ffad956c729c1a1b4ddf575210e02992e5093c6e3125a29db
|
| 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.18.0-cp314-cp314-musllinux_1_2_x86_64.whl
| Download URL | csonpath-0.18.0-cp314-cp314-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 221.9 kB |
| Tags | CPython 3.14 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
d1ed9626554f62306c0805bbe9ccd90798cb1baa4b96b4ad2199b8c136db8f1f
|
|
BLAKE2b-256 checksum How to use checksums |
537874985d5c4d9cdb8abdef6b2a3b6b93a6e09d5d18a5f9fef2a86fc38014c6
|
| 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.18.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | csonpath-0.18.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 223.3 kB |
| Tags | CPython 3.14 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
380853c45b67d4082942c9366acdf0415b6c3b1e55f55b658312c2a1af55e3be
|
|
BLAKE2b-256 checksum How to use checksums |
1cc931490eb4f5320b407bd6c8671deabdffd738187eb2ef831f8dc56065c886
|
| 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.18.0-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | csonpath-0.18.0-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 46.2 kB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
9823030bd996aca660a4801a966b65607806f22b6f6da4021de8e3140e9c2cdc
|
|
BLAKE2b-256 checksum How to use checksums |
be064a1853fa51e03add2e037c3c94c26b714a803f6331fd4f6a60a311780ee8
|
| 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.18.0-cp313-cp313-win_amd64.whl
| Download URL | csonpath-0.18.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 55.4 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
7b9fc49356138608598818e665874775ca866e275325562468e588343156167c
|
|
BLAKE2b-256 checksum How to use checksums |
4c1225752393cee089e533500337d9260a2b7ddce5059dfc37cac5ed664d77b1
|
| 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.18.0-cp313-cp313-musllinux_1_2_x86_64.whl
| Download URL | csonpath-0.18.0-cp313-cp313-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 222.1 kB |
| Tags | CPython 3.13 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
06b98cf6066d1b6b7cc39039fee89ddbdc24f3270d9966292f51884b53720c62
|
|
BLAKE2b-256 checksum How to use checksums |
73af28b049b9ea5ae2d3e07b95560b4961dff799996acf3f0cd1514bf6f890a5
|
| 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.18.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | csonpath-0.18.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 223.5 kB |
| Tags | CPython 3.13 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
9f9e117ac4fb08cac94405cf7723619f4dffcaa1e7b221903c4f895077e16a7f
|
|
BLAKE2b-256 checksum How to use checksums |
bcd3e6e21c49dfc6072886c9955568dae2a00afac0e5cd109d70a4e90e952de1
|
| 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.18.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | csonpath-0.18.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 46.1 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
f35ef5912a8c50ac14b92548f72a5ea8b1f8ad79313d1c8667310e3990eff46e
|
|
BLAKE2b-256 checksum How to use checksums |
24befcb6a9c16752aa5b3e4ffb4010594f9a9e26dd8144ae9ae4666da5ba4d6a
|
| 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.18.0-cp312-cp312-win_amd64.whl
| Download URL | csonpath-0.18.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 55.4 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
49af1860a384a83d5d354ae9fbf7b36cf6a8b03e1ed74a9c66bf2d7263ad3a39
|
|
BLAKE2b-256 checksum How to use checksums |
4b86b5e41ac7ca80ef85aa11a89544c5640f8da0d6c5e78207a1cb6112f334fb
|
| 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.18.0-cp312-cp312-musllinux_1_2_x86_64.whl
| Download URL | csonpath-0.18.0-cp312-cp312-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 221.8 kB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
68911d968d004dda2d80338f44d6c2d4ab8d2aafec97ce68b53f6c7c11356930
|
|
BLAKE2b-256 checksum How to use checksums |
e8eae538411c581381989a4eddbc0c38ec019c839e4aa47cd48d58549491ad9c
|
| 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.18.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | csonpath-0.18.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 223.3 kB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
eb545c4a805e5fa004f06df645c6653d05046f93e0b36e1d69a2685bd2d65e4d
|
|
BLAKE2b-256 checksum How to use checksums |
8851aa6fa012e2c298c93732c0f0862f68bee537b502db5a981be6a2bab515c7
|
| 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.18.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | csonpath-0.18.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 46.2 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
c54144917680a40470dad9d2abeaf0d040e54ea4a04b00fe1060fa6e8298f595
|
|
BLAKE2b-256 checksum How to use checksums |
70f9bce4b350a786e339b847701a0f9260650a8d45bf97a0315bcd367531af75
|
| 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.18.0-cp311-cp311-win_amd64.whl
| Download URL | csonpath-0.18.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 55.3 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
9208560de7c8de49c0c15b1c9b2248100429157a2ce62e238ed7261b3af8a0ca
|
|
BLAKE2b-256 checksum How to use checksums |
6ec2befae25fabdc4304cc59b66cf3a2e6d834a50a35c20aa21eff3cb8f4a3d0
|
| 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.18.0-cp311-cp311-musllinux_1_2_x86_64.whl
| Download URL | csonpath-0.18.0-cp311-cp311-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 219.7 kB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
de4ad239b7fb9f571e379ecdd7bb50fdb32f24a4bfb92da2cdc4cacae9e67c73
|
|
BLAKE2b-256 checksum How to use checksums |
f18b11fe7c39dbea917130b7c831fc86714d9a733bbc9d0d4e4fac42b9cd2e78
|
| 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.18.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | csonpath-0.18.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 220.5 kB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
ddef1d395c90c674b1cc77b9e457c42e6a7f41dd56c2aa511f3e90733ae60981
|
|
BLAKE2b-256 checksum How to use checksums |
0aa1a0bd980accb0fd477d92f7422c5b45d649115595c0b5b76a6158edea7bd6
|
| 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.18.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | csonpath-0.18.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 46.1 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
d6a7c50afe9f2911fbd9f4001b48506872fc737277bd80526c9353968211dfe3
|
|
BLAKE2b-256 checksum How to use checksums |
e23a6e323bb326c59dbc47c6ef5fb843fede6ed14654451dda836cc6e74015e5
|
| 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.18.0-cp310-cp310-win_amd64.whl
| Download URL | csonpath-0.18.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 55.2 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
51f7a73a584de2bd19677c85027ec1b25e42ed787ec2c3f4944e7d3d635f5332
|
|
BLAKE2b-256 checksum How to use checksums |
84cc00313a5c9c7fee4089e5db1cf7ed95ddd8accabf9b8b32cfde96b66fe764
|
| 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.18.0-cp310-cp310-musllinux_1_2_x86_64.whl
| Download URL | csonpath-0.18.0-cp310-cp310-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 212.0 kB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
d3ae09f9c6f29e9180208576c23dfaefe1e4faf27bd838006715dcc34b0223eb
|
|
BLAKE2b-256 checksum How to use checksums |
7ee49b5af19831efd58fa35314164c6342c990a50641421cd13c81b931b304a0
|
| 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.18.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | csonpath-0.18.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 212.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 |
f0c3f6d3f8117e7631f832b0b7b496272e1532d12a5523dece7a55ef1009f004
|
|
BLAKE2b-256 checksum How to use checksums |
433a0f36a093d6a8f5c3beaefe7b793e337b2ffd92ca26568b50212b97819142
|
| 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.18.0-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | csonpath-0.18.0-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 46.1 kB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
2d5d3ecc2b47ee63c8d1248272867e358a4a92dca7783c1aaadd4f8997a36d96
|
|
BLAKE2b-256 checksum How to use checksums |
49e43634b87d4a9c360f7a2f3ec2c8f8d9773ff7de3e9d46f2e720ba3a1da086
|
| 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.18.0-cp39-cp39-win_amd64.whl
| Download URL | csonpath-0.18.0-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 55.2 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
a21dbe83c273699888abac6a37cd1725ff86d715757a3e5892c5a1cc3be8ffed
|
|
BLAKE2b-256 checksum How to use checksums |
c6d28ce8b4f0d6df884c2e589d02ba61b515d364306a561437fd93f3a8c33be1
|
| 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.18.0-cp39-cp39-musllinux_1_2_x86_64.whl
| Download URL | csonpath-0.18.0-cp39-cp39-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 211.8 kB |
| Tags | CPython 3.9 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
fb77f9259cf8f199bde0bc46081a63d57677adf4b0484e0132153b6dcdc4444d
|
|
BLAKE2b-256 checksum How to use checksums |
415f3dff67e0ad9e37006c4868c49294cef24c291aba2f9d449dca9c7f26c7f5
|
| 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.18.0-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | csonpath-0.18.0-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 212.1 kB |
| Tags | CPython 3.9 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
657a8e75b49f2207ac9eefdeba35b8ad449814839fec1c1e01c1f922252b0329
|
|
BLAKE2b-256 checksum How to use checksums |
4cb707c4fa946e38f0b983f06d45baaefe31f14ed0e9b470f110f67953f8b7df
|
| 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.18.0-cp39-cp39-macosx_11_0_arm64.whl
| Download URL | csonpath-0.18.0-cp39-cp39-macosx_11_0_arm64.whl |
|---|---|
| Size | 46.1 kB |
| Tags | CPython 3.9 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
beb98cb409c57d3c78a4e7d6b8137d0c6b730cec8a6e0dfb34848dcab2cd4c41
|
|
BLAKE2b-256 checksum How to use checksums |
53c141ff030e990b36a73863faa15ba0753e4c4bdde943ff1115f79017025f33
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|