csonpath 0.11.0__tar.gz → 0.12.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- csonpath-0.12.0/MANIFEST.in +4 -0
- csonpath-0.12.0/Makefile +46 -0
- {csonpath-0.11.0/csonpath.egg-info → csonpath-0.12.0}/PKG-INFO +2 -1
- {csonpath-0.11.0 → csonpath-0.12.0}/README.md +1 -0
- csonpath-0.12.0/configure +35 -0
- {csonpath-0.11.0 → csonpath-0.12.0/csonpath.egg-info}/PKG-INFO +2 -1
- csonpath-0.12.0/csonpath.egg-info/SOURCES.txt +38 -0
- {csonpath-0.11.0 → csonpath-0.12.0}/csonpath.h +442 -304
- {csonpath-0.11.0 → csonpath-0.12.0}/csonpath_do.h +103 -75
- csonpath-0.12.0/csonpath_json-c.h +175 -0
- {csonpath-0.11.0 → csonpath-0.12.0}/csonpath_python.c +12 -21
- csonpath-0.12.0/csonpath_yyjson.h +173 -0
- {csonpath-0.11.0 → csonpath-0.12.0}/pyproject.toml +9 -2
- {csonpath-0.11.0 → csonpath-0.12.0}/setup.py +13 -11
- csonpath-0.12.0/tiny-regex-c/.git +1 -0
- csonpath-0.12.0/tiny-regex-c/.github/workflows/c-cpp.yml +24 -0
- csonpath-0.12.0/tiny-regex-c/.gitignore +4 -0
- csonpath-0.12.0/tiny-regex-c/LICENSE +24 -0
- csonpath-0.12.0/tiny-regex-c/Makefile +106 -0
- csonpath-0.12.0/tiny-regex-c/README.md +128 -0
- csonpath-0.12.0/tiny-regex-c/clib.json +12 -0
- csonpath-0.12.0/tiny-regex-c/formal_verification.md +142 -0
- csonpath-0.12.0/tiny-regex-c/re.c +540 -0
- csonpath-0.12.0/tiny-regex-c/re.h +86 -0
- csonpath-0.12.0/tiny-regex-c/scripts/exrex.py +551 -0
- csonpath-0.12.0/tiny-regex-c/scripts/regex_test.py +76 -0
- csonpath-0.12.0/tiny-regex-c/scripts/regex_test_neg.py +82 -0
- csonpath-0.12.0/tiny-regex-c/tests/test1.c +166 -0
- csonpath-0.12.0/tiny-regex-c/tests/test2.c +2098 -0
- csonpath-0.12.0/tiny-regex-c/tests/test3.c +32 -0
- csonpath-0.12.0/tiny-regex-c/tests/test_compile.c +22 -0
- csonpath-0.12.0/tiny-regex-c/tests/test_print.c +21 -0
- csonpath-0.12.0/tiny-regex-c/tests/test_rand.c +29 -0
- csonpath-0.12.0/tiny-regex-c/tests/test_rand_neg.c +30 -0
- csonpath-0.12.0/tiny-regex-c/tests/test_thread.c +447 -0
- csonpath-0.11.0/MANIFEST.in +0 -2
- csonpath-0.11.0/csonpath.egg-info/SOURCES.txt +0 -13
- {csonpath-0.11.0 → csonpath-0.12.0}/LICENSE +0 -0
- {csonpath-0.11.0 → csonpath-0.12.0}/csonpath.egg-info/dependency_links.txt +0 -0
- {csonpath-0.11.0 → csonpath-0.12.0}/csonpath.egg-info/requires.txt +0 -0
- {csonpath-0.11.0 → csonpath-0.12.0}/csonpath.egg-info/top_level.txt +0 -0
- {csonpath-0.11.0 → csonpath-0.12.0}/setup.cfg +0 -0
csonpath-0.12.0/Makefile
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
JSON_C_CFLAGS=$(shell pkg-config --cflags json-c)
|
|
2
|
+
JSON_C_LDFLAGS=$(shell pkg-config --libs json-c)
|
|
3
|
+
|
|
4
|
+
include config.mk
|
|
5
|
+
|
|
6
|
+
all: test-json-c-get-a test-json-update test-json-filter test-json-subpath
|
|
7
|
+
|
|
8
|
+
bench:
|
|
9
|
+
make -C bench
|
|
10
|
+
|
|
11
|
+
bench-clean:
|
|
12
|
+
make -C bench clean
|
|
13
|
+
|
|
14
|
+
.PHONY: all clean tests pip-dev pip-dev bench bench-clean
|
|
15
|
+
|
|
16
|
+
CFLAGS+= -Wall -Wextra -Wno-unused-function -Wno-unused-parameter -O0 -g
|
|
17
|
+
|
|
18
|
+
test-json-c-get-a: tests/json-c/get-a.c $(EXTRA_FILES) csonpath_json-c.h csonpath.h csonpath_do.h
|
|
19
|
+
$(CC) tests/json-c/get-a.c $(EXTRA_FILES) $(JSON_C_CFLAGS) $(CFLAGS) -Wno-format -I./ -o test-json-c-get-a $(JSON_C_LDFLAGS) $(LDFLAGS)
|
|
20
|
+
|
|
21
|
+
test-json-update: tests/json-c/set-a.c csonpath_json-c.h csonpath.h csonpath_do.h
|
|
22
|
+
$(CC) tests/json-c/set-a.c $(EXTRA_FILES) $(JSON_C_CFLAGS) $(CFLAGS) -Wno-format -I./ -o test-json-update $(JSON_C_LDFLAGS) $(LDFLAGS)
|
|
23
|
+
|
|
24
|
+
test-json-filter: tests/json-c/filter.c csonpath_json-c.h csonpath.h csonpath_do.h
|
|
25
|
+
$(CC) tests/json-c/filter.c $(EXTRA_FILES) $(JSON_C_CFLAGS) $(CFLAGS) -Wno-format -I./ -o test-json-filter $(JSON_C_LDFLAGS) $(LDFLAGS)
|
|
26
|
+
|
|
27
|
+
test-json-subpath: tests/json-c/subpath.c csonpath_json-c.h csonpath.h csonpath_do.h
|
|
28
|
+
$(CC) tests/json-c/subpath.c $(EXTRA_FILES) $(JSON_C_CFLAGS) $(CFLAGS) -Wno-format -I./ -o test-json-subpath $(JSON_C_LDFLAGS) $(LDFLAGS)
|
|
29
|
+
|
|
30
|
+
tests-c: test-json-c-get-a test-json-update test-json-filter test-json-subpath
|
|
31
|
+
./test-json-c-get-a
|
|
32
|
+
./test-json-update
|
|
33
|
+
./test-json-filter
|
|
34
|
+
./test-json-subpath
|
|
35
|
+
|
|
36
|
+
pip-dev:
|
|
37
|
+
pip install -e .[dev] --force-reinstall
|
|
38
|
+
|
|
39
|
+
tests-py: pip-dev
|
|
40
|
+
python -m pytest
|
|
41
|
+
|
|
42
|
+
tests: tests-py tests-c
|
|
43
|
+
|
|
44
|
+
clean:
|
|
45
|
+
rm -rvf test-json-c-get-a test-json-update test-json-filter test-json-subpath
|
|
46
|
+
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: csonpath
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.12.0
|
|
4
4
|
Description-Content-Type: text/markdown
|
|
5
5
|
License-File: LICENSE
|
|
6
6
|
Provides-Extra: dev
|
|
@@ -45,6 +45,7 @@ Dynamic: license-file
|
|
|
45
45
|
- with regex, using POSIX regcom: `"$.obj[?.field ~= "123"]"`
|
|
46
46
|
- with `&`: `"$.obj[?field != "123" & second = 1]"`
|
|
47
47
|
- support `|`: `"$.obj | $.otherobj"`
|
|
48
|
+
- support subpath: `$.obj[$.key]`, even in filter `$.obj[?field > $.value]`
|
|
48
49
|
### Functions
|
|
49
50
|
- **Find First**: Retrieve the first value matching a path.
|
|
50
51
|
- **Find All**: Retrieve all values matching a path.
|
|
@@ -36,6 +36,7 @@
|
|
|
36
36
|
- with regex, using POSIX regcom: `"$.obj[?.field ~= "123"]"`
|
|
37
37
|
- with `&`: `"$.obj[?field != "123" & second = 1]"`
|
|
38
38
|
- support `|`: `"$.obj | $.otherobj"`
|
|
39
|
+
- support subpath: `$.obj[$.key]`, even in filter `$.obj[?field > $.value]`
|
|
39
40
|
### Functions
|
|
40
41
|
- **Find First**: Retrieve the first value matching a path.
|
|
41
42
|
- **Find All**: Retrieve all values matching a path.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
CFLAGS=""
|
|
4
|
+
LDFLAGS=""
|
|
5
|
+
EXTRA_FILES=""
|
|
6
|
+
|
|
7
|
+
for arg in $@; do
|
|
8
|
+
echo $( echo "$arg" | cut -d '=' -f 1)
|
|
9
|
+
if [ "--no-regex" = $arg ]; then
|
|
10
|
+
CFLAGS="${CFLAGS} -DCSONPATH_NO_REGEX"
|
|
11
|
+
fi
|
|
12
|
+
if [ "--tiny-regex" = $arg ]; then
|
|
13
|
+
CFLAGS="${CFLAGS} -DCSONPATH_TINY_REGEX"
|
|
14
|
+
EXTRA_FILES="${EXTRA_FILES} tiny-regex-c/re.c"
|
|
15
|
+
fi
|
|
16
|
+
if [ "--pcre2-regex" = $arg ]; then
|
|
17
|
+
CFLAGS="${CFLAGS} -DCSONPATH_PCRE2 $(pkg-config --cflags libpcre2-8)"
|
|
18
|
+
LDFLAGS="${LDFLAGS} $(pkg-config --libs libpcre2-8)"
|
|
19
|
+
fi
|
|
20
|
+
if [ "--pcre2-posix" = $arg ]; then
|
|
21
|
+
CFLAGS="${CFLAGS} -DCSONPATH_PCRE2_POSIX $(pkg-config --cflags libpcre2-posix)"
|
|
22
|
+
LDFLAGS="${LDFLAGS} $(pkg-config --libs libpcre2-posix)"
|
|
23
|
+
fi
|
|
24
|
+
if [ "--help" = $arg ]; then
|
|
25
|
+
echo "help"
|
|
26
|
+
echo " --tiny-regex"
|
|
27
|
+
echo " --pcre2-regex"
|
|
28
|
+
echo " --pcre2-posix"
|
|
29
|
+
echo " --no-regex"
|
|
30
|
+
fi
|
|
31
|
+
done
|
|
32
|
+
|
|
33
|
+
echo CFLAGS=$CFLAGS > config.mk
|
|
34
|
+
echo LDFLAGS=$LDFLAGS >> config.mk
|
|
35
|
+
echo EXTRA_FILES=$EXTRA_FILES >> config.mk
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: csonpath
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.12.0
|
|
4
4
|
Description-Content-Type: text/markdown
|
|
5
5
|
License-File: LICENSE
|
|
6
6
|
Provides-Extra: dev
|
|
@@ -45,6 +45,7 @@ Dynamic: license-file
|
|
|
45
45
|
- with regex, using POSIX regcom: `"$.obj[?.field ~= "123"]"`
|
|
46
46
|
- with `&`: `"$.obj[?field != "123" & second = 1]"`
|
|
47
47
|
- support `|`: `"$.obj | $.otherobj"`
|
|
48
|
+
- support subpath: `$.obj[$.key]`, even in filter `$.obj[?field > $.value]`
|
|
48
49
|
### Functions
|
|
49
50
|
- **Find First**: Retrieve the first value matching a path.
|
|
50
51
|
- **Find All**: Retrieve all values matching a path.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
LICENSE
|
|
2
|
+
MANIFEST.in
|
|
3
|
+
Makefile
|
|
4
|
+
README.md
|
|
5
|
+
configure
|
|
6
|
+
csonpath.h
|
|
7
|
+
csonpath_do.h
|
|
8
|
+
csonpath_json-c.h
|
|
9
|
+
csonpath_python.c
|
|
10
|
+
csonpath_yyjson.h
|
|
11
|
+
pyproject.toml
|
|
12
|
+
setup.py
|
|
13
|
+
csonpath.egg-info/PKG-INFO
|
|
14
|
+
csonpath.egg-info/SOURCES.txt
|
|
15
|
+
csonpath.egg-info/dependency_links.txt
|
|
16
|
+
csonpath.egg-info/requires.txt
|
|
17
|
+
csonpath.egg-info/top_level.txt
|
|
18
|
+
tiny-regex-c/.git
|
|
19
|
+
tiny-regex-c/.gitignore
|
|
20
|
+
tiny-regex-c/LICENSE
|
|
21
|
+
tiny-regex-c/Makefile
|
|
22
|
+
tiny-regex-c/README.md
|
|
23
|
+
tiny-regex-c/clib.json
|
|
24
|
+
tiny-regex-c/formal_verification.md
|
|
25
|
+
tiny-regex-c/re.c
|
|
26
|
+
tiny-regex-c/re.h
|
|
27
|
+
tiny-regex-c/.github/workflows/c-cpp.yml
|
|
28
|
+
tiny-regex-c/scripts/exrex.py
|
|
29
|
+
tiny-regex-c/scripts/regex_test.py
|
|
30
|
+
tiny-regex-c/scripts/regex_test_neg.py
|
|
31
|
+
tiny-regex-c/tests/test1.c
|
|
32
|
+
tiny-regex-c/tests/test2.c
|
|
33
|
+
tiny-regex-c/tests/test3.c
|
|
34
|
+
tiny-regex-c/tests/test_compile.c
|
|
35
|
+
tiny-regex-c/tests/test_print.c
|
|
36
|
+
tiny-regex-c/tests/test_rand.c
|
|
37
|
+
tiny-regex-c/tests/test_rand_neg.c
|
|
38
|
+
tiny-regex-c/tests/test_thread.c
|