- No changes to library code
- Migrated from Travis to GitHub Actions, to enable running tests on creating pull request + easy publishing to PyPI.
Char
subclassesunicode
instead ofstr
in Python 2 in order to support unicode characters
- Add a
Char
class to deal with EDN characters. It subclassesstr
so it’s backward compatible.
- Fix an issue on how we read the requirements when installing the package
- Add support for map namespace syntax
- Add
Keyword.namespace
andKeyword#with_namespace
- Add pretty-printing with
indent
parameter added todumps
- Update float regex to handle
M
suffix - Contributor setup : Migrate from Vagrant to Docker
- Update Development Status to "5 - Production/Stable"
- Run Travis tests on Python 3.8
- Parse integers in hexadecimal notation
- Disallow
0
-prefixed integers other than zero itself
- Add an
edn_parse.tag
decorator
- Add support for Unicode char literals
- Parse
nil
and booleans as symbols
- Use mutable data structures to improve parsing time
- Run Travis tests on Python 3.7
- Fix vector parser to use
ImmutableList
- Fix parsing of exact-precision floats with a negative exposant
- Support all ASCII characters
- Add a
sort_sets
optional argument todumps
- Raise custom exceptions on syntax errors
- Support fractions
- Support
#_
- Convert requirements from exact to minimum
- Unbreak tests on Python 2.x
- PEP8 style fixes
- Add a
sort_keys
optional keyword argument todumps
- Correctly parse floats with an exponent
- Support string->keyword keys in
dumps
- Add Travis config
- Bump dependencies
- Add support to dump
#inst
with microseconds
- Fix Python 2/3 support
- Fix Python 3
unichr
/chr
incompatibility - Changed Python version detection from exactly equal to 3 to greater than or equal to 3
- Make UTF-8 the default expectation of text type
- Fixed string parsing and escaping
- Unicode now consistently used internally
- New method
dumpu
added that returns unicode dumps
method now takes optional encoding arguments:output_encoding
(specifies encoding of output string) andstring_encoding
(specifies encoding of non-unicode strings in object to be serialized), both default to'utf-8'
loads
now takes optional argumentinput_encoding
, defaults to'utf-8'
- New method
loadu
added that assumes unicode input - Bump dependencies
- Fix parsing of booleans before comma
- Fix
BaseEdnType.__hash__
- Fix equality
- Handle escape sequences in strings
- Allow backslashed double-quotes in strings
- Add
<
,>
,@
- Parse empty collections
- Raise an exception on syntax error
- Improves patterns for
SYMBOL
,TAG
, andKEYWORD
to more closely match the EDN specifications - Improve Python 3 support
First published release.