- Update to 0.16.1
* Minor fixes following linter recommendations by @MatthieuDartiailh in #154 * build(deps): bump codecov/codecov-action from 4 to 5 by @dependabot in #153 * Fix flag inference by @MatthieuDartiailh in #157 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-bytecode?expand=0&rev=23
This commit is contained in:
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
||||
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
.osc
|
||||
3
bytecode-0.15.1.tar.gz
Normal file
3
bytecode-0.15.1.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7263239a8d3f70fc7c303862b20cd2c6788052e37ce0a26e67309d280e985984
|
||||
size 97976
|
||||
3
bytecode-0.16.0.tar.gz
Normal file
3
bytecode-0.16.0.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:06676a3c3bccc9d3dc73ee625650ea57df2bc117358826f4f290f0e1faa42292
|
||||
size 102126
|
||||
3
bytecode-0.16.1.tar.gz
Normal file
3
bytecode-0.16.1.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8fbbb637c880f339e564858bc6c7984ede67ae97bc71343379a535a9a4baf398
|
||||
size 102863
|
||||
141
python-bytecode.changes
Normal file
141
python-bytecode.changes
Normal file
@@ -0,0 +1,141 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 3 13:33:39 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
|
||||
|
||||
- Update to 0.16.1
|
||||
* Minor fixes following linter recommendations by @MatthieuDartiailh in #154
|
||||
* build(deps): bump codecov/codecov-action from 4 to 5 by @dependabot in #153
|
||||
* Fix flag inference by @MatthieuDartiailh in #157
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 1 08:33:19 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
|
||||
|
||||
- Update to 0.16.0:
|
||||
* Fix the document for python3.12 by @colinxu2020 in #142
|
||||
* fix: handle small try blocks by @P403n1x87 in #145
|
||||
* Add support for Python 3.13 by @MatthieuDartiailh in #146
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 14 15:03:42 UTC 2024 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- use modern python on sle15
|
||||
- switch to PEP517 build
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 14 15:47:28 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- update to 0.15.1:
|
||||
* Disallow creating an instruction targeting a
|
||||
pseudo/instrumented opcode PR #133
|
||||
* Fixes encoding of 0 as a varint PR #132
|
||||
* Correct spelling of "INTRINSIC" in several places; this
|
||||
affected some ops in Python 3.12. PR #131
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 18 10:14:40 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- update to 0.15.0:
|
||||
* Add support for Python 3.12 PR #122
|
||||
* Support for Python 3.12, comes with a number of changes
|
||||
reflecting changes in CPython bytecode itself:
|
||||
* handle the ability of ``LOAD_ATTR`` to replace
|
||||
``LOAD_METHOD``
|
||||
As a consequence the argument is now a ``tuple[bool, str]``
|
||||
similarly ``LOAD_SUPER_ATTR`` which uses the 2 lowest bits as
|
||||
flag takes a ``tuple[bool, bool, str]`` as argument
|
||||
* ``POP_JUMP_IF_*`` instructions are undirected in Python 3.12
|
||||
* ``YIELD_VALUE`` now takes an argument
|
||||
* Support for ``CALL_INSTRINSIC_1/2`` led to the addition of 2
|
||||
new enums to represent the argument
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat May 27 21:36:54 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- update to 0.14.2:
|
||||
* allow to convert a CFG, for which stack sizes have not been
|
||||
computed, to Bytecode even in the presence of mergeable
|
||||
TryBegin/TryEnd
|
||||
* remove spurious TryEnd leftover when going from CFG to
|
||||
Bytecode
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Apr 19 09:32:16 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- update to 0.14.1:
|
||||
* allow to disassemble code containing ``EXTENDED_ARG``
|
||||
targeting a ``NOP`` PR #117
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Dec 15 22:44:00 UTC 2022 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
- Fix dependencies
|
||||
- Fix python-sitelib-glob-in-files and 0.0.0 version egg-info by
|
||||
not forgetting setuptools_scm
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Dec 9 17:16:11 UTC 2022 - Yogalakshmi Arunachalam <yarunachalam@suse.com>
|
||||
|
||||
- Update to 0.14.0
|
||||
* New features:
|
||||
Removed the peephole optimizer PR #107
|
||||
Basically changes in Python 3.11 made it hard to port and the maintenance cost exceeded the perceived use. It could be re-added if there is a demand for it.
|
||||
Add support for Python 3.11 PR #107
|
||||
Support for Python 3.11, comes with a number of changes reflecting changes in CPython bytecode itself:
|
||||
support for the exception table in ConcreteBytecode
|
||||
support for pseudo-instruction TryBegin and TryEnd describing the exception table in Bytecode and ControlflowGraph
|
||||
new keyword arguments in conversion method related to computations required for the exception table
|
||||
handling of CACHE opcode at the ConcreteBytecode level
|
||||
handling of the ability of LOAD_GLOBAL to push NULL (the argument is now a tuple[bool, str])
|
||||
support for end_lineno and column offsets in instructions
|
||||
support for co_qualname (as qualname on bytecode objects)
|
||||
and a number of internal changes related to changes in the internal bytecode representation.
|
||||
Add type annotations and make types stricter PR # 105 In particular, ConcreteInstr does not inherit from Instr anymore and one cannot
|
||||
use ConcreteInstr in Bytecode object. This is saner than before.
|
||||
* Bugfixes:
|
||||
Removed EXC_MATCH from the Compare enumeration starting with Python 3.9. The new JUMP_IF_NOT_EXC_MATCH opcode should be used instead.
|
||||
Removed IN, NOT_IN, IS, NOT_IS from the Compare enumeration starting with Python 3.9. The new CONTAINS_OP and IS_OP opcodes should be used instead.
|
||||
Add proper pre and post stack effects to all opcodes (up to Python 3.11) PR #106 #107
|
||||
* Maintenance:
|
||||
Make the install process PEP517 compliant PR #97
|
||||
Drop support for Python 3.6 and 3.7 PR #100
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Nov 18 11:47:11 UTC 2021 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
|
||||
|
||||
- Update to 0.13.0
|
||||
* Add support for Python 3.10 new encoding of line number. This support is
|
||||
minimal in the sense that we still systematically assign a line number
|
||||
while the new format allow bytecode with absolutely no line number. PR #72
|
||||
* Fix handling of RERAISE (introduced in 3.9) when creating a ControlFlowGraph,
|
||||
previously it was not considered final. PR #72
|
||||
* Fix line table assembly in Python 3.10. PR #85
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Aug 31 11:04:29 UTC 2021 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
|
||||
|
||||
- Update to 0.12.0
|
||||
* All calculations of stacksize now check for stack underflow to
|
||||
avoid segfault at runtime PR #69
|
||||
* Fix recursion limitations when compiling bytecode with numerous basic
|
||||
blocks. PR #57
|
||||
* Fix handling of line offsets. Issue #67, PR #71
|
||||
* Forbid an :class:`Instr` to hold an EXTENDED_ARG op_code PR #65
|
||||
* Forbid the use of :class:`ConcreteInstr` in :class:`Bytecode` and
|
||||
:class:`ControlFlowGraph` PR #65
|
||||
This is motivated by the extra complexity that handling possible EXTENDED_ARG
|
||||
instruction in those representation would bring (stack computation, etc)
|
||||
* Always remove EXTENDED_ARG when converting :class:`ConcreteBytecode` to
|
||||
:class:`Bytecode` PR #65
|
||||
* This is equivalent to say that the :class:`ConcreteBytecode` converted to
|
||||
:class:`Bytecode` was generated by :meth:`ConcreteBytecode.from_code`
|
||||
with extended_args=False
|
||||
* :class:`Instr` now has a new method :meth:`Instr.pre_and_post_stack_effect`
|
||||
for checking the prerequisite stack size of an operation PR #69
|
||||
* :meth:`_compute_stack_size` now uses :meth:`Instr.pre_and_post_stack_effect`
|
||||
to compute the stack size to reject code that will lead to runtime segfault
|
||||
caused by stack underflow PR #69
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 9 11:29:55 UTC 2020 - pgajdos@suse.com
|
||||
|
||||
- initial version 0.11.0, required by python-enaml
|
||||
|
||||
62
python-bytecode.spec
Normal file
62
python-bytecode.spec
Normal file
@@ -0,0 +1,62 @@
|
||||
#
|
||||
# spec file for package python-bytecode
|
||||
#
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
%{?sle15_python_module_pythons}
|
||||
Name: python-bytecode
|
||||
Version: 0.16.1
|
||||
Release: 0
|
||||
Summary: Python module to generate and modify bytecode
|
||||
License: MIT
|
||||
URL: https://github.com/vstinner/bytecode
|
||||
Source: https://files.pythonhosted.org/packages/source/b/bytecode/bytecode-%{version}.tar.gz
|
||||
BuildRequires: %{python_module base >= 3.8}
|
||||
BuildRequires: %{python_module pip}
|
||||
BuildRequires: %{python_module setuptools_scm}
|
||||
BuildRequires: %{python_module setuptools}
|
||||
BuildRequires: %{python_module wheel}
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: python-rpm-macros
|
||||
BuildArch: noarch
|
||||
# SECTION test requirements
|
||||
BuildRequires: %{python_module pytest}
|
||||
# /SECTION
|
||||
%python_subpackages
|
||||
|
||||
%description
|
||||
Python module to generate and modify bytecode
|
||||
|
||||
%prep
|
||||
%setup -q -n bytecode-%{version}
|
||||
|
||||
%build
|
||||
%pyproject_wheel
|
||||
|
||||
%install
|
||||
%pyproject_install
|
||||
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||
|
||||
%check
|
||||
%pytest
|
||||
|
||||
%files %{python_files}
|
||||
%doc README.rst
|
||||
%license COPYING
|
||||
%{python_sitelib}/bytecode
|
||||
%{python_sitelib}/bytecode-%{version}.dist-info
|
||||
|
||||
%changelog
|
||||
Reference in New Issue
Block a user