15
0
forked from pool/python-perky

Accepting request 1137435 from devel:languages:python

- update to 0.9.2:
  * Added GitHub Actions integration.  Tests and
    coverage are run in the cloud after every checkin.
    Thanks to [Dan Pope](https://github.com/lordmauve)
    for gently walking me through this!
  * Fixed metadata in the `pyproject.toml` file.
  * Dropped support for Python 3.5.  (I assumed I already
    had, but it was still listed as being supported
    in the project metadata.)
  * Added badges for testing, coverage,
    and supported Python versions.
  * API change: the `Parser` attribute `breadcrumbs` has been
    renamed to `stack`.  It was previously undocumented anyway,
    though as of 0.9.1 it's now documented.  The previous name
    `breadcrumbs` has been kept as an alias for now, but will
    be removed before 1.0.
  * Added the `line_number` and `source` attributes to the
    `Parser` object, for the convenience of pragma handlers.
  * Refactored `parser_include` slightly.  No change to
    functionality or behavior, just a small code cleanup pass.
  * Added a "lines per second" output metric to the
    benchmark program.
  * From this point forward, Perky only supports reading and
    writing files in
    [UTF-8](https://en.wikipedia.org/wiki/UTF-8).
    If you need to work with a different encoding, you'll have
    to handle loading it form and saving it to disk yourself.
    You'll have to use `loads` and `dumps` to handle converting
    between Perky string format and native Python objects.
  * Optimized Perky some more.  It's roughly 11% faster than 0.8.1.

OBS-URL: https://build.opensuse.org/request/show/1137435
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-perky?expand=0&rev=2
This commit is contained in:
2024-01-07 20:42:42 +00:00
committed by Git OBS Bridge
4 changed files with 84 additions and 9 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7998a8131fd2313ce948e27e290e49764837d99dd6133e2ee88f05e12561aaa1
size 18162

3
perky-0.9.2.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:02e5ebe84c5beaff6c8254497c75793b7dbaca903941c82035958ddb1bb66178
size 33843

View File

@@ -1,3 +1,76 @@
-------------------------------------------------------------------
Sun Jan 7 20:10:29 UTC 2024 - Dirk Müller <dmueller@suse.com>
- update to 0.9.2:
* Added GitHub Actions integration. Tests and
coverage are run in the cloud after every checkin.
Thanks to [Dan Pope](https://github.com/lordmauve)
for gently walking me through this!
* Fixed metadata in the `pyproject.toml` file.
* Dropped support for Python 3.5. (I assumed I already
had, but it was still listed as being supported
in the project metadata.)
* Added badges for testing, coverage,
and supported Python versions.
* API change: the `Parser` attribute `breadcrumbs` has been
renamed to `stack`. It was previously undocumented anyway,
though as of 0.9.1 it's now documented. The previous name
`breadcrumbs` has been kept as an alias for now, but will
be removed before 1.0.
* Added the `line_number` and `source` attributes to the
`Parser` object, for the convenience of pragma handlers.
* Refactored `parser_include` slightly. No change to
functionality or behavior, just a small code cleanup pass.
* Added a "lines per second" output metric to the
benchmark program.
* From this point forward, Perky only supports reading and
writing files in
[UTF-8](https://en.wikipedia.org/wiki/UTF-8).
If you need to work with a different encoding, you'll have
to handle loading it form and saving it to disk yourself.
You'll have to use `loads` and `dumps` to handle converting
between Perky string format and native Python objects.
* Optimized Perky some more. It's roughly 11% faster than 0.8.1.
- You can now pass an `encoding` keyword argument
into `pragma_include`. This is now the only way
to specify the encoding used to decode files
loaded from disk by `pragma_include`.
- Removed the (undocumented) `encoding` attribute
of Perky's `Parser` object.
- Removed the `encoding` parameter for `loads`.
- The `encoding` parameter for `load` is now only
used by `load` itself when loading the top-level
Perky file.
* Perky now explicitly performs its `isinstance` checks using
`collections.abc.MutableMapping` and `collections.abc.MutableSequence`
instead of `dict` and `list`. This permits you to use
your own mapping and sequence objects that *don't* inherit from
`dict` and `list`.
* Renamed `PerkyFormatError` to `FormatError`. The old name is
supported for now, but please transition to the new name.
The old name will be removed before 1.0.
* The "transformation" submodule is now deprecated and unsupported.
Please either stop using it or fork and maintain it yourself.
This includes `map`, `transform`, `Required`,
`nullable`, and `const`.
* Perky now has a proper unit test suite, which it passes with 100%
coverage--except for the unsupported `transform` submodule.
* While working towards 100% coverage, also cleaned up the code
a little in spots.
- Retooled `LineTokenizer`:
- Changed its name from `LineParser` is now `LineTokenizer`.
It never parsed anything, it just tokenized.
- Made its API a little more uniform: now, the
only function that will raise `StopIteration` is `__next__`.
- The other functions that used to maybe raise `StopIteration`
now return a tuple of `None` values when the iterator is empty.
This means you can safely write `for a, b, c in line_tokenizer:`.
- `bool(lt)` is now accurate; if it returns `True`,
you can call `next(lt)` or `lt.next_line()` or `lt.tokens()`
and be certain you'll get a value back.
- Replaced `RuntimeError` exceptions with more appropriate
exceptions (`ValueError`, `TypeError`).
-------------------------------------------------------------------
Mon Jul 18 19:28:02 UTC 2022 - Matej Cepl <mcepl@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-perky
#
# Copyright (c) 2022 SUSE LLC
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,13 +18,15 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-perky
Version: 0.5.5
Version: 0.9.2
Release: 0
Summary: A parser for the perky text file format
License: MIT
URL: https://github.com/larryhastings/perky/
Source: https://files.pythonhosted.org/packages/source/p/perky/perky-%{version}.tar.gz
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module flit}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
BuildArch: noarch
@@ -39,10 +41,10 @@ problem as "INI" files, "TOML" files, and "JSON" files.
sed -i '1{/\/usr\/bin\/env python*/d;}' perky/utility.py perky/__init__.py
%build
%python_build
%pyproject_wheel
%install
%python_install
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
@@ -53,6 +55,6 @@ sed -i '1{/\/usr\/bin\/env python*/d;}' perky/utility.py perky/__init__.py
%doc README.md
%license LICENSE
%{python_sitelib}/perky/
%{python_sitelib}/perky-%{version}*-info
%{python_sitelib}/perky-%{version}.dist-info
%changelog