Tony Garnock-Jones
c7687772b0
Update compare.py docs
2023-03-16 21:57:21 +01:00
Tony Garnock-Jones
e3e1dd4944
Better __init__.py docs
2023-03-16 21:04:37 +01:00
Tony Garnock-Jones
7cbd1a2813
Docs for preserves.binary; better encoding annotations with canonicalization
2023-03-16 20:55:49 +01:00
Tony Garnock-Jones
031575ad82
Python preserves doctest runner, and mkdocs documentation stubs
2023-03-16 17:53:02 +01:00
Andrew Elgert
b1f9eb45d2
Compiler can load from file-like objects
2023-03-14 11:45:30 -04:00
Tony Garnock-Jones
d73118fc77
Update implementations
2023-02-07 10:42:30 +01:00
Tony Garnock-Jones
269ed2391a
Repair text syntax for numbers and symbols. Closes #19/#36/#37/#38.
...
Numbers and (bare) Symbols are now disambiguated after reading, which
permits leading `+`, leading `0`, and a wider range of acceptable
Symbols.
Updates spec text, test cases, and implementations. Some ancillary fixes
to Python's comparison routines are also included.
2022-11-08 19:56:24 +01:00
Tony Garnock-Jones
3544bf18fa
Ugh, python 3.7 doesn't have the PEP 570 "/" positional-only syntax.
2022-07-22 10:23:54 +02:00
Tony Garnock-Jones
c49b8673f7
READMEs for Schema implementations
2022-06-09 13:49:59 +02:00
Tony Garnock-Jones
8b8da80f61
Explain why parsing failed
2022-06-08 16:22:10 +02:00
Tony Garnock-Jones
e019148065
Fix positional initializers for schema values, and allow keyword initializers
2022-06-07 21:45:56 +02:00
Tony Garnock-Jones
c9c973ce9c
Preserves-order for Python
2022-06-07 21:45:12 +02:00
Tony Garnock-Jones
00eb9e97b6
Implement count function
2022-06-06 15:28:11 +02:00
Tony Garnock-Jones
c0d3f37905
python: merge(), and support for and-pattern unparsing
2022-06-03 21:13:59 +02:00
Tony Garnock-Jones
597e993c05
Support and-schemas in python
2022-06-03 16:50:03 +02:00
Tony Garnock-Jones
7f65f9ecb1
Add _ALL superclass for Enumeration subclasses, for @extend purposes
2022-02-11 11:56:08 +01:00
Tony Garnock-Jones
32544c544a
Optional commas in pretty-printer
2022-02-11 11:38:29 +01:00
Tony Garnock-Jones
21de8b799a
Canonicalizing binary encoder
2022-02-09 14:59:50 +01:00
Tony Garnock-Jones
61ef91a958
Allow schema encoding (auto-)escapes
2022-01-12 14:07:32 +01:00
Tony Garnock-Jones
f348701169
Avoid x.__preserve__(), preferring preserve(x)
2022-01-12 11:40:05 +01:00
Tony Garnock-Jones
ddfd2e24a6
Indented text printing
2022-01-12 02:02:36 +01:00
Tony Garnock-Jones
8c4fedac0a
Split out encoding/formatting unhandler error to method, for overridability
2022-01-11 06:29:18 +01:00
Tony Garnock-Jones
602dea1ac6
Rearrange tests to include test data. As part of this, remove tests for python2; from here out, python2 compatibility will likely rot.
2022-01-07 21:14:21 +01:00
Tony Garnock-Jones
39f9a2e5ef
Include path.prb in the package, like schema.prb
2022-01-07 20:48:24 +01:00
Tony Garnock-Jones
6c0ef47e03
Be more liberal about accepting either lists or tuples when parsing using a schema instance
2021-12-17 23:25:03 +01:00
Tony Garnock-Jones
aadd83d715
Use bundled metaschema copy
2021-11-30 18:35:16 +01:00
Tony Garnock-Jones
d408070fde
Better debug printing
2021-08-18 22:57:06 -04:00
Tony Garnock-Jones
0f30522f19
Repair typo
2021-08-18 22:56:59 -04:00
Tony Garnock-Jones
e0bc1b31b8
Better error reporting
2021-08-18 22:56:50 -04:00
Tony Garnock-Jones
6bb99b45c3
fold.py
2021-08-18 14:04:00 -04:00
Tony Garnock-Jones
0c693d8ece
Python preserves-path implementation
2021-08-17 14:07:12 -04:00
Tony Garnock-Jones
82c66ec1c4
Embedded wrapper; preserve() function
2021-08-17 14:06:52 -04:00
Tony Garnock-Jones
a5065955ca
loads/dumps aliases
2021-08-17 08:05:38 -04:00
Tony Garnock-Jones
8afc8f1eae
Python text codec
2021-08-17 08:04:38 -04:00
Tony Garnock-Jones
123b6222ca
Split out modules
2021-08-16 19:24:50 -04:00
Tony Garnock-Jones
cf192b634c
SchemaEntity -> SchemaObject
2021-08-16 14:06:41 -04:00
Tony Garnock-Jones
fff34b8d45
Simplify Namespace
2021-08-16 12:37:31 -04:00
Tony Garnock-Jones
e2b27b619f
Schema encode
2021-08-16 11:38:44 -04:00
Tony Garnock-Jones
a2ca133983
load_schema_file, load metaschema
2021-08-16 11:18:54 -04:00
Tony Garnock-Jones
e056394ca6
Tighten exceptions
2021-08-16 11:18:34 -04:00
Tony Garnock-Jones
fc1d6afc28
Handle empty patterns specially
2021-08-15 23:51:07 -04:00
Tony Garnock-Jones
59bcced776
@extend decorator
2021-08-15 23:40:28 -04:00
Tony Garnock-Jones
e45ff6b020
Small improvements
2021-08-15 23:30:46 -04:00
Tony Garnock-Jones
abe60b3506
First steps to schema support for python
2021-08-15 22:57:09 -04:00
Tony Garnock-Jones
e4a2503899
The Great Renaming: Pointer -> Embedded
2021-05-17 14:54:06 +02:00
Tony Garnock-Jones
532e811894
Introduce pointers
2021-01-29 12:03:28 +01:00
Tony Garnock-Jones
ca2276d268
Update python implementation
2021-01-23 22:54:27 +01:00
Tony Garnock-Jones
83dce41092
Remove placeholders from spec and implementations 4/5
...
Update Python implementation: remove placeholders; reject zero-length
streamed binary chunks.
2020-05-28 23:23:19 +02:00
Tony Garnock-Jones
8e0ab95d82
Autodetectability of binary vs text; documented test case schema a little
2020-05-13 12:56:13 +02:00
Tony Garnock-Jones
02e0eae396
New test
2019-09-09 21:08:31 +01:00