Index index by Group index by Distribution index by Vendor index by creation date index by Name Mirrors Help Search

python312-spark_parser-1.9.0-1.2 RPM for noarch

From OpenSuSE Ports Tumbleweed for noarch

Name: python312-spark_parser Distribution: openSUSE Tumbleweed
Version: 1.9.0 Vendor: openSUSE
Release: 1.2 Build date: Mon Nov 11 22:08:13 2024
Group: Development/Languages/Python Build host: reproducible
Size: 552184 Source RPM: python-spark_parser-1.9.0-1.2.src.rpm
Packager: http://bugs.opensuse.org
Url: https://github.com/rocky/python-spark/
Summary: An Earley-Algorithm Context-free grammar Parser Toolkit
SPARK stands for Scanning, Parsing, and Rewriting Kit. It uses Jay
Earley's algorithm for parsing context-free grammars, and comes with
some generic Abstract Syntax Tree routines. There is also a prototype
scanner which does its job by combining Python regular expressions.

Please Note: Earley algorithm parsers are almost linear when given an LR
grammar. These are grammars which are left-recursive.

Provides

Requires

License

MIT

Changelog

* Mon Nov 11 2024 Dirk Müller <dmueller@suse.com>
  - update to 1.9.0:
    * Revamp for a more modern Python style in the 3.12 era:
      + start adding type annotations to code.
      + use pyproject.toml
      + remove illegal escape sequences
    * `BuildTree` now builds trees iteratively rather than
      recursively. With this we can handle larger trees which are
      needed in the decompilers.
    * Revise `README.rst` for the above and go over spelling and
      grammar
    * Internally, more git branches have been created to support
      older Python.
* Sun Aug 16 2020 John Vandenberg <jayvdb@gmail.com>
  - Remove unnecessary build dependency nose
* Tue May 19 2020 Petr Gajdos <pgajdos@suse.com>
  - %python3_only -> %python_alternative
* Tue Sep 10 2019 Tomáš Chvátal <tchvatal@suse.com>
  - Update to 1.8.9:
    * bugfixes and test enhancements
* Tue Apr 23 2019 Marketa Calabkova <mcalabkova@suse.com>
  - update to version 1.8.7
    * Mostly bugfixes and new tests.
    * See ChangeLog.
* Tue Dec 04 2018 Matej Cepl <mcepl@suse.com>
  - Remove superfluous devel dependency for noarch package
* Mon Sep 11 2017 jengelh@inai.de
  - Trim history from package description.
* Thu Sep 07 2017 toddrme2178@gmail.com
  - initial version

Files

/etc/alternatives/spark-parser-coverage
/usr/bin/spark-parser-coverage
/usr/bin/spark-parser-coverage-3.12
/usr/lib/python3.12/site-packages/spark_parser
/usr/lib/python3.12/site-packages/spark_parser-1.9.0.dist-info
/usr/lib/python3.12/site-packages/spark_parser-1.9.0.dist-info/INSTALLER
/usr/lib/python3.12/site-packages/spark_parser-1.9.0.dist-info/LICENSE
/usr/lib/python3.12/site-packages/spark_parser-1.9.0.dist-info/METADATA
/usr/lib/python3.12/site-packages/spark_parser-1.9.0.dist-info/RECORD
/usr/lib/python3.12/site-packages/spark_parser-1.9.0.dist-info/REQUESTED
/usr/lib/python3.12/site-packages/spark_parser-1.9.0.dist-info/WHEEL
/usr/lib/python3.12/site-packages/spark_parser-1.9.0.dist-info/entry_points.txt
/usr/lib/python3.12/site-packages/spark_parser-1.9.0.dist-info/top_level.txt
/usr/lib/python3.12/site-packages/spark_parser/__init__.py
/usr/lib/python3.12/site-packages/spark_parser/__pycache__
/usr/lib/python3.12/site-packages/spark_parser/__pycache__/__init__.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/__pycache__/__init__.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/__pycache__/ast.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/__pycache__/ast.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/__pycache__/scanner.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/__pycache__/scanner.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/__pycache__/spark.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/__pycache__/spark.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/__pycache__/version.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/__pycache__/version.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/ast.py
/usr/lib/python3.12/site-packages/spark_parser/bin
/usr/lib/python3.12/site-packages/spark_parser/bin/__init__.py
/usr/lib/python3.12/site-packages/spark_parser/bin/__pycache__
/usr/lib/python3.12/site-packages/spark_parser/bin/__pycache__/__init__.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/bin/__pycache__/__init__.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/bin/__pycache__/parser_coverage.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/bin/__pycache__/parser_coverage.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/bin/parser_coverage.py
/usr/lib/python3.12/site-packages/spark_parser/example
/usr/lib/python3.12/site-packages/spark_parser/example/__init__.py
/usr/lib/python3.12/site-packages/spark_parser/example/__pycache__
/usr/lib/python3.12/site-packages/spark_parser/example/__pycache__/__init__.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/__pycache__/__init__.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/expr
/usr/lib/python3.12/site-packages/spark_parser/example/expr/__pycache__
/usr/lib/python3.12/site-packages/spark_parser/example/expr/__pycache__/expr.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/expr/__pycache__/expr.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/expr/expr.py
/usr/lib/python3.12/site-packages/spark_parser/example/expr2
/usr/lib/python3.12/site-packages/spark_parser/example/expr2/__init__.py
/usr/lib/python3.12/site-packages/spark_parser/example/expr2/__pycache__
/usr/lib/python3.12/site-packages/spark_parser/example/expr2/__pycache__/__init__.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/expr2/__pycache__/__init__.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/expr2/__pycache__/eval.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/expr2/__pycache__/eval.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/expr2/__pycache__/expr_parser.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/expr2/__pycache__/expr_parser.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/expr2/__pycache__/scanner.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/expr2/__pycache__/scanner.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/expr2/__pycache__/test_grammar.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/expr2/__pycache__/test_grammar.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/expr2/eval.py
/usr/lib/python3.12/site-packages/spark_parser/example/expr2/expr_parser.py
/usr/lib/python3.12/site-packages/spark_parser/example/expr2/scanner.py
/usr/lib/python3.12/site-packages/spark_parser/example/expr2/test_grammar.py
/usr/lib/python3.12/site-packages/spark_parser/example/gdb-loc
/usr/lib/python3.12/site-packages/spark_parser/example/gdb-loc/__pycache__
/usr/lib/python3.12/site-packages/spark_parser/example/gdb-loc/__pycache__/setup.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/gdb-loc/__pycache__/setup.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/gdb-loc/gdbloc
/usr/lib/python3.12/site-packages/spark_parser/example/gdb-loc/gdbloc/__init__.py
/usr/lib/python3.12/site-packages/spark_parser/example/gdb-loc/gdbloc/__pycache__
/usr/lib/python3.12/site-packages/spark_parser/example/gdb-loc/gdbloc/__pycache__/__init__.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/gdb-loc/gdbloc/__pycache__/__init__.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/gdb-loc/gdbloc/__pycache__/parser.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/gdb-loc/gdbloc/__pycache__/parser.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/gdb-loc/gdbloc/__pycache__/scanner.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/gdb-loc/gdbloc/__pycache__/scanner.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/gdb-loc/gdbloc/__pycache__/semantics.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/gdb-loc/gdbloc/__pycache__/semantics.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/gdb-loc/gdbloc/__pycache__/tok.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/gdb-loc/gdbloc/__pycache__/tok.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/gdb-loc/gdbloc/parser.py
/usr/lib/python3.12/site-packages/spark_parser/example/gdb-loc/gdbloc/scanner.py
/usr/lib/python3.12/site-packages/spark_parser/example/gdb-loc/gdbloc/semantics.py
/usr/lib/python3.12/site-packages/spark_parser/example/gdb-loc/gdbloc/tok.py
/usr/lib/python3.12/site-packages/spark_parser/example/gdb-loc/pytest
/usr/lib/python3.12/site-packages/spark_parser/example/gdb-loc/pytest/__pycache__
/usr/lib/python3.12/site-packages/spark_parser/example/gdb-loc/pytest/__pycache__/test_parser.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/gdb-loc/pytest/__pycache__/test_parser.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/gdb-loc/pytest/__pycache__/test_scanner.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/gdb-loc/pytest/__pycache__/test_scanner.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/gdb-loc/pytest/__pycache__/test_semantics.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/gdb-loc/pytest/__pycache__/test_semantics.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/gdb-loc/pytest/test_parser.py
/usr/lib/python3.12/site-packages/spark_parser/example/gdb-loc/pytest/test_scanner.py
/usr/lib/python3.12/site-packages/spark_parser/example/gdb-loc/pytest/test_semantics.py
/usr/lib/python3.12/site-packages/spark_parser/example/gdb-loc/setup.py
/usr/lib/python3.12/site-packages/spark_parser/example/python2
/usr/lib/python3.12/site-packages/spark_parser/example/python2/__init__.py
/usr/lib/python3.12/site-packages/spark_parser/example/python2/__pycache__
/usr/lib/python3.12/site-packages/spark_parser/example/python2/__pycache__/__init__.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/__pycache__/__init__.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/__pycache__/format-python.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/__pycache__/format-python.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/__pycache__/py2_format.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/__pycache__/py2_format.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/__pycache__/py2_parser.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/__pycache__/py2_parser.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/__pycache__/py2_scan.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/__pycache__/py2_scan.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/__pycache__/py2_token.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/__pycache__/py2_token.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/__pycache__/reflow.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/__pycache__/reflow.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/format-python.py
/usr/lib/python3.12/site-packages/spark_parser/example/python2/py2_format.py
/usr/lib/python3.12/site-packages/spark_parser/example/python2/py2_parser.py
/usr/lib/python3.12/site-packages/spark_parser/example/python2/py2_scan.py
/usr/lib/python3.12/site-packages/spark_parser/example/python2/py2_token.py
/usr/lib/python3.12/site-packages/spark_parser/example/python2/reflow.py
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/__pycache__
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/__pycache__/helper.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/__pycache__/helper.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/__pycache__/test_class.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/__pycache__/test_class.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/__pycache__/test_format.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/__pycache__/test_format.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/__pycache__/test_format_inline.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/__pycache__/test_format_inline.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/__pycache__/test_parse.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/__pycache__/test_parse.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/__pycache__/test_parse_inline.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/__pycache__/test_parse_inline.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/__pycache__/test_scan.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/__pycache__/test_scan.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/__pycache__/test_scan_inline.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/__pycache__/test_scan_inline.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/format
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/format/__pycache__
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/format/__pycache__/assert.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/format/__pycache__/assert.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/format/__pycache__/def.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/format/__pycache__/def.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/format/__pycache__/expr.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/format/__pycache__/expr.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/format/__pycache__/global.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/format/__pycache__/global.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/format/__pycache__/if.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/format/__pycache__/if.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/format/__pycache__/imports.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/format/__pycache__/imports.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/format/__pycache__/while.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/format/__pycache__/while.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/format/__pycache__/with.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/format/__pycache__/with.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/format/assert.py
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/format/def.py
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/format/exec.py
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/format/expr.py
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/format/global.py
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/format/if.py
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/format/imports.py
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/format/while.py
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/format/with.py
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/helper.py
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/parse
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/parse/__pycache__
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/parse/__pycache__/assert.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/parse/__pycache__/assert.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/parse/__pycache__/def.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/parse/__pycache__/def.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/parse/__pycache__/global.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/parse/__pycache__/global.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/parse/__pycache__/if.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/parse/__pycache__/if.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/parse/__pycache__/imports.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/parse/__pycache__/imports.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/parse/__pycache__/while.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/parse/__pycache__/while.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/parse/assert.py
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/parse/def.py
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/parse/exec.py
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/parse/global.py
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/parse/if.py
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/parse/imports.py
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/parse/while.py
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/scan
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/scan/__pycache__
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/scan/__pycache__/expr1.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/scan/__pycache__/expr1.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/scan/__pycache__/indent1.cpython-312.opt-1.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/scan/__pycache__/indent1.cpython-312.pyc
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/scan/expr1.py
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/scan/indent1.py
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/scan/syms.py
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/test_class.py
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/test_format.py
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/test_format_inline.py
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/test_parse.py
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/test_parse_inline.py
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/test_scan.py
/usr/lib/python3.12/site-packages/spark_parser/example/python2/test/test_scan_inline.py
/usr/lib/python3.12/site-packages/spark_parser/scanner.py
/usr/lib/python3.12/site-packages/spark_parser/spark.py
/usr/lib/python3.12/site-packages/spark_parser/version.py
/usr/share/doc/packages/python312-spark_parser
/usr/share/doc/packages/python312-spark_parser/ChangeLog
/usr/share/doc/packages/python312-spark_parser/README.rst
/usr/share/licenses/python312-spark_parser
/usr/share/licenses/python312-spark_parser/LICENSE


Generated by rpm2html 1.8.1

Fabrice Bellet, Sat Jan 11 00:49:50 2025