forked from pool/python-libcst
Accepting request 1189034 from devel:languages:python
- Upgrade to 1.4.0:
- Fix Literal parse error in RemoveImportsVisitor
- Don't reset context.scratch between files
- Various documentation fixes
Typo fix FullRepoManager
✏️ Fix tiny typo in docs/source/metadata.rst
✏️ Fix typo in docs/source/scope_tutorial.ipynb
Update CONTRIBUTING.md
- Add helper functions for common ways of filtering nodes
- Dump CST to .dot (graphviz) files
- Implement PEP-696
- Upgrade to 1.3.1:
- ImportError due to missing mypy_extensions dependency
- Upgrade to 1.3.0:
- Removed dependencies on typing_extensions and typing_inspect
- Temporarily switch off running of the test suite (gh#Instagram/LibCST#1176)
- Update to version 1.2.0
* Upgrade pyo3 to 0.20
* Remove reference to distutil
* Add roundtrip tests from Python
* Fix parsing list matchers without explicit brackets
* Make readme example use python syntax highlighting
* Upgrade rust to version 1.70 in readthedocs config
* Update maturin requirement from <0.16,>=0.8.3 to >=0.8.3,<1.5
* Allow `Element::codegen` to be used by external users
* installing rustc/cargo for mybinder demo
* Update test_fix_pyre_directives.py
* remove 3.8 support
* Update syn to v2
OBS-URL: https://build.opensuse.org/request/show/1189034
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-libcst?expand=0&rev=9
This commit is contained in:
@@ -1,3 +0,0 @@
|
|||||||
<multibuild>
|
|
||||||
<package>test</package>
|
|
||||||
</multibuild>
|
|
||||||
10
_service
10
_service
@@ -1,10 +1,8 @@
|
|||||||
<services>
|
<services>
|
||||||
<service name="cargo_vendor" mode="disabled">
|
<service name="cargo_vendor" mode="manual">
|
||||||
<param name="srcdir">libcst-0.4.9/native</param>
|
<param name="srcdir">libcst-*.tar.gz</param>
|
||||||
<param name="compression">xz</param>
|
<param name="cargotoml">native/Cargo.toml</param>
|
||||||
<param name="update">true</param>
|
<param name="update">true</param>
|
||||||
</service>
|
</service>
|
||||||
<service name="cargo_audit" mode="disabled">
|
<service name="cargo_audit" mode="manual" />
|
||||||
<param name="srcdir">libcst-0.4.9/native</param>
|
|
||||||
</service>
|
|
||||||
</services>
|
</services>
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
[source.crates-io]
|
|
||||||
replace-with = "vendored-sources"
|
|
||||||
|
|
||||||
[source.vendored-sources]
|
|
||||||
directory = "vendor"
|
|
||||||
BIN
libcst-0.4.9.tar.gz
(Stored with Git LFS)
BIN
libcst-0.4.9.tar.gz
(Stored with Git LFS)
Binary file not shown.
BIN
libcst-1.4.0.tar.gz
(Stored with Git LFS)
Normal file
BIN
libcst-1.4.0.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -1,3 +1,106 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Jul 22 10:24:31 UTC 2024 - Matej Cepl <mcepl@cepl.eu>
|
||||||
|
|
||||||
|
- Upgrade to 1.4.0:
|
||||||
|
- Fix Literal parse error in RemoveImportsVisitor
|
||||||
|
- Don't reset context.scratch between files
|
||||||
|
- Various documentation fixes
|
||||||
|
Typo fix FullRepoManager
|
||||||
|
✏️ Fix tiny typo in docs/source/metadata.rst
|
||||||
|
✏️ Fix typo in docs/source/scope_tutorial.ipynb
|
||||||
|
Update CONTRIBUTING.md
|
||||||
|
- Add helper functions for common ways of filtering nodes
|
||||||
|
- Dump CST to .dot (graphviz) files
|
||||||
|
- Implement PEP-696
|
||||||
|
- Upgrade to 1.3.1:
|
||||||
|
- ImportError due to missing mypy_extensions dependency
|
||||||
|
- Upgrade to 1.3.0:
|
||||||
|
- Removed dependencies on typing_extensions and typing_inspect
|
||||||
|
- Temporarily switch off running of the test suite (gh#Instagram/LibCST#1176)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Mar 1 00:29:21 UTC 2024 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
|
||||||
|
|
||||||
|
- Update to version 1.2.0
|
||||||
|
* Upgrade pyo3 to 0.20
|
||||||
|
* Remove reference to distutil
|
||||||
|
* Add roundtrip tests from Python
|
||||||
|
* Fix parsing list matchers without explicit brackets
|
||||||
|
* Make readme example use python syntax highlighting
|
||||||
|
* Upgrade rust to version 1.70 in readthedocs config
|
||||||
|
* Update maturin requirement from <0.16,>=0.8.3 to >=0.8.3,<1.5
|
||||||
|
* Allow `Element::codegen` to be used by external users
|
||||||
|
* installing rustc/cargo for mybinder demo
|
||||||
|
* Update test_fix_pyre_directives.py
|
||||||
|
* remove 3.8 support
|
||||||
|
* Update syn to v2
|
||||||
|
* Set repository metadata entry for Rust crates
|
||||||
|
* upgrade flake8
|
||||||
|
* Update pyproject.toml for Python 3.12 support
|
||||||
|
* fix filepathprovider generic type
|
||||||
|
* Update README.rst
|
||||||
|
* Fix link in type_inference_provider.py
|
||||||
|
* Parse multiline expressions in f-strings
|
||||||
|
* Upgrade pyre
|
||||||
|
* eliminate relative paths from Cargo.toml
|
||||||
|
* Parse arbitrarily nested f-strings
|
||||||
|
* ScopeProvider: Record Access for Attributes and Decorators
|
||||||
|
* AddImportsVisitor: add imports before the first non-import statement
|
||||||
|
* Scope provider changes for type annotations
|
||||||
|
* add upper bound to pyo3 dependency
|
||||||
|
* scope_provider: Simplify parent resolution
|
||||||
|
* parser: remove Regexes from whitespace parser
|
||||||
|
* Add crate metadata
|
||||||
|
* Support files with mixed newlines
|
||||||
|
* PEP 695 - Type Parameter Syntax
|
||||||
|
* Remove need for regex in TextPosition::matches
|
||||||
|
* Fix readme's Python version requirement
|
||||||
|
* Switch to using thread_local regular expressions to avoid regex mutex contention
|
||||||
|
* Remove criterion-cycles-per-byte dependency and related benchmark measurement
|
||||||
|
* drop support for Python 3.7
|
||||||
|
* Don't gather dirs ending .py
|
||||||
|
* Don't insert duplicate imports
|
||||||
|
* Don't swallow trailing whitespace
|
||||||
|
* Allow pyo3 >=0.17
|
||||||
|
* Do not annotate the same variable multiple times in ApplyTypeAnnotationsVisitor
|
||||||
|
* Update changelog to 1.0.1
|
||||||
|
* Codemod CLI: Print diff only when there is a change
|
||||||
|
* Fix parsing of code without trailing newlines
|
||||||
|
* Fix whitespace, fstring, walrus related parse errors
|
||||||
|
* Fix Sentinal typo
|
||||||
|
* remove quotes around charset in .editorconfig
|
||||||
|
* Update maturin requirement from <0.14,>=0.8.3 to >=0.8.3,<0.16
|
||||||
|
* Fix type of `evaluated_value` on string to allow bytes
|
||||||
|
* Switch default parser implementation to native
|
||||||
|
* exclude native/target directory from sdist
|
||||||
|
* update changelog
|
||||||
|
* relax validation rules on decorators
|
||||||
|
* Fix crash on escaped backslashes in rf-string
|
||||||
|
* Fix pyre setup link in metadata.rst
|
||||||
|
* Support PEP 604 in ApplyTypeAnnotationsVisitor
|
||||||
|
* Fix spelling and grammar in some comments
|
||||||
|
* Fix ApplyTypeAnnotationsVisitor behavior on attribute assignments.
|
||||||
|
* Allow running codemods without configuring in YAML
|
||||||
|
* Ensure current Python interpreter is used for subprocesses
|
||||||
|
* Use subprocess.DEVNULL instead of opening os.devnull by hand
|
||||||
|
* PEP 621 + hatch to run tests/lint/etc
|
||||||
|
* Fix: relative imports from '' package are not allowed
|
||||||
|
* Add new FilePathProvider
|
||||||
|
* Use new setup-python caching actions
|
||||||
|
* Pass root path to FullyQualifiedNameProvider
|
||||||
|
* Script to regenerate test fixtures
|
||||||
|
* Add setuptools-rust to build requirements in setup.py
|
||||||
|
* Ignore common virtualenv names
|
||||||
|
* Fix Github issue 855 - fail to parse with statement
|
||||||
|
* fix PEP 604 union annotations in decorators
|
||||||
|
* Add py3.11 classifier
|
||||||
|
- Update _service file
|
||||||
|
* remove obsoleted mode "disabled" to "manual"
|
||||||
|
* adopt new obs-service-cargo packaging method
|
||||||
|
- Remove patches
|
||||||
|
* remove-ufmt-dep.patch
|
||||||
|
* replace-python-call.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Apr 21 12:27:55 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
Fri Apr 21 12:27:55 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file
|
# spec file for package python-libcst
|
||||||
#
|
#
|
||||||
# Copyright (c) 2023 SUSE LLC
|
# Copyright (c) 2024 SUSE LLC
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -16,32 +16,25 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
%define skip_python2 1
|
|
||||||
%define rustflags '-Clink-arg=-Wl,-z,relro,-z,now'
|
|
||||||
%global flavor @BUILD_FLAVOR@%{nil}
|
%global flavor @BUILD_FLAVOR@%{nil}
|
||||||
%if "%{flavor}" == "test"
|
# %%if "%%{flavor}" == "test"
|
||||||
%define psuffix -test
|
# %%define psuffix -test
|
||||||
%bcond_without test
|
# %%bcond_without test
|
||||||
%else
|
# %%else
|
||||||
%define psuffix %{nil}
|
%define psuffix %{nil}
|
||||||
%bcond_with test
|
%bcond_with test
|
||||||
%endif
|
# %%endif
|
||||||
%define modname libcst
|
%define modname libcst
|
||||||
%{?sle15_python_module_pythons}
|
%{?sle15_python_module_pythons}
|
||||||
Name: python-libcst%{psuffix}
|
Name: python-libcst%{psuffix}
|
||||||
Version: 0.4.9
|
Version: 1.4.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Python 3.5+ concrete syntax tree with AST-like properties
|
Summary: Python 3.5+ concrete syntax tree with AST-like properties
|
||||||
License: MIT
|
License: MIT
|
||||||
URL: https://github.com/Instagram/LibCST
|
URL: https://github.com/Instagram/LibCST
|
||||||
Source0: https://files.pythonhosted.org/packages/source/l/%{modname}/%{modname}-%{version}.tar.gz
|
Source0: https://files.pythonhosted.org/packages/source/l/libcst/%{modname}-%{version}.tar.gz
|
||||||
Source1: vendor.tar.xz
|
Source1: vendor.tar.zst
|
||||||
Source2: cargo_config
|
BuildRequires: %{python_module pip}
|
||||||
# PATCH-FIX-OPENSUSE remove-ufmt-dep.patch python-ufmt package doesn't exists in Tumbleweed
|
|
||||||
Patch0: remove-ufmt-dep.patch
|
|
||||||
# PATCH-FIX-OPENSUSE replace-python-call.patch
|
|
||||||
# wrong executable call when outside of venv (gh#Instagram/LibCST#468)
|
|
||||||
Patch1: replace-python-call.patch
|
|
||||||
BuildRequires: %{python_module setuptools-rust}
|
BuildRequires: %{python_module setuptools-rust}
|
||||||
BuildRequires: %{python_module setuptools_scm}
|
BuildRequires: %{python_module setuptools_scm}
|
||||||
BuildRequires: %{python_module setuptools}
|
BuildRequires: %{python_module setuptools}
|
||||||
@@ -50,7 +43,7 @@ BuildRequires: cargo
|
|||||||
BuildRequires: cargo-packaging
|
BuildRequires: cargo-packaging
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
BuildRequires: python-rpm-macros
|
BuildRequires: python-rpm-macros
|
||||||
BuildRequires: rust
|
BuildRequires: zstd
|
||||||
Requires: python-PyYAML >= 5.2
|
Requires: python-PyYAML >= 5.2
|
||||||
Requires: python-typing-inspect >= 0.4.0
|
Requires: python-typing-inspect >= 0.4.0
|
||||||
Requires: python-typing_extensions >= 3.7.4.2
|
Requires: python-typing_extensions >= 3.7.4.2
|
||||||
@@ -71,52 +64,43 @@ BuildRequires: %{python_module typing_extensions >= 3.7.4.2}
|
|||||||
A concrete syntax tree with AST-like properties for Python 3.5+ programs.
|
A concrete syntax tree with AST-like properties for Python 3.5+ programs.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n libcst-%{version}
|
%autosetup -a1 -n libcst-%{version} -p1
|
||||||
tar x -C native/ -f %{SOURCE1}
|
|
||||||
cp -rf native/vendor vendor
|
|
||||||
mkdir -p .cargo && echo "" >> .cargo/config.toml && cat %{SOURCE2} >>.cargo/config.toml
|
|
||||||
|
|
||||||
pushd native
|
# # Depends on optional pyre
|
||||||
mkdir -p .cargo
|
# rm \
|
||||||
cat %{SOURCE2} >>.cargo/config.toml
|
# libcst/metadata/tests/test_type_inference_provider.py \
|
||||||
popd
|
# libcst/metadata/tests/test_full_repo_manager.py \
|
||||||
|
# libcst/tests/test_pyre_integration.py
|
||||||
|
|
||||||
%autopatch -p1
|
%if %{without test}
|
||||||
|
|
||||||
# Depends on optional pyre
|
|
||||||
rm \
|
|
||||||
libcst/metadata/tests/test_type_inference_provider.py \
|
|
||||||
libcst/metadata/tests/test_full_repo_manager.py \
|
|
||||||
libcst/tests/test_pyre_integration.py
|
|
||||||
|
|
||||||
# gh#Instagram/LibCST#467
|
|
||||||
sed -i -e 's/import AbstractBaseMatcherNodeMeta/import Optional, AbstractBaseMatcherNodeMeta/' libcst/codegen/gen_matcher_classes.py
|
|
||||||
|
|
||||||
%if !%{with test}
|
|
||||||
%build
|
%build
|
||||||
export CARGO_NET_OFFLINE=true PROFILE=release
|
export CARGO_NET_OFFLINE=true PROFILE=release
|
||||||
%python_build
|
%pyproject_wheel
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%if !%{with test}
|
%if %{without test}
|
||||||
export CARGO_NET_OFFLINE=true PROFILE=release
|
export CARGO_NET_OFFLINE=true PROFILE=release
|
||||||
%python_install
|
%pyproject_install
|
||||||
%python_expand %fdupes %{buildroot}%{$python_sitearch}
|
# gh#Instagram/LibCST#818
|
||||||
|
%{python_expand rm -rf %{buildroot}%{$python_sitearch}/libcst/tests
|
||||||
|
%fdupes %{buildroot}%{$python_sitearch}
|
||||||
|
}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%clean
|
||||||
|
|
||||||
%if %{with test}
|
%if %{with test}
|
||||||
%check
|
%check
|
||||||
%python_exec -m libcst.codegen.generate all
|
%pyunittest_arch discover -v libcst/tests
|
||||||
%pyunittest -v
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if !%{with test}
|
%if %{without test}
|
||||||
%files %{python_files}
|
%files %{python_files}
|
||||||
%doc README.rst
|
%doc README.rst
|
||||||
%license LICENSE
|
%license LICENSE
|
||||||
%{python_sitearch}/libcst
|
%{python_sitearch}/libcst
|
||||||
%{python_sitearch}/libcst-%{version}-py*.egg-info
|
%{python_sitearch}/libcst-%{version}*-info
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
|||||||
@@ -1,17 +0,0 @@
|
|||||||
Index: libcst-0.4.9/libcst/codegen/generate.py
|
|
||||||
===================================================================
|
|
||||||
--- libcst-0.4.9.orig/libcst/codegen/generate.py
|
|
||||||
+++ libcst-0.4.9/libcst/codegen/generate.py
|
|
||||||
@@ -25,8 +25,10 @@ from libcst.codegen.transforms import (
|
|
||||||
|
|
||||||
|
|
||||||
def format_file(fname: str) -> None:
|
|
||||||
- with open(os.devnull, "w") as devnull:
|
|
||||||
- subprocess.check_call(["ufmt", "format", fname], stdout=devnull, stderr=devnull)
|
|
||||||
+ # Do not format to avoid ufmt dependency that's not yet in opensuse
|
|
||||||
+ pass
|
|
||||||
+ # with open(os.devnull, "w") as devnull:
|
|
||||||
+ # subprocess.check_call(["ufmt", "format", fname], stdout=devnull, stderr=devnull)
|
|
||||||
|
|
||||||
|
|
||||||
def clean_generated_code(code: str) -> str:
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
---
|
|
||||||
libcst/codegen/generate.py | 2 +-
|
|
||||||
libcst/codemod/tests/test_codemod_cli.py | 4 ++--
|
|
||||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
--- a/libcst/codegen/generate.py
|
|
||||||
+++ b/libcst/codegen/generate.py
|
|
||||||
@@ -69,7 +69,7 @@ def codegen_visitors() -> None:
|
|
||||||
# by attempting to run codegen again in a new process.
|
|
||||||
with open(os.devnull, "w") as devnull:
|
|
||||||
subprocess.check_call(
|
|
||||||
- ["python3", "-m", "libcst.codegen.gen_visitor_functions"],
|
|
||||||
+ [sys.executable, "-m", "libcst.codegen.gen_visitor_functions"],
|
|
||||||
cwd=base,
|
|
||||||
stdout=devnull,
|
|
||||||
)
|
|
||||||
--- a/libcst/codemod/tests/test_codemod_cli.py
|
|
||||||
+++ b/libcst/codemod/tests/test_codemod_cli.py
|
|
||||||
@@ -4,7 +4,7 @@
|
|
||||||
# LICENSE file in the root directory of this source tree.
|
|
||||||
#
|
|
||||||
|
|
||||||
-
|
|
||||||
+import sys
|
|
||||||
import subprocess
|
|
||||||
from pathlib import Path
|
|
||||||
|
|
||||||
@@ -16,7 +16,7 @@ class TestCodemodCLI(UnitTest):
|
|
||||||
def test_codemod_formatter_error_input(self) -> None:
|
|
||||||
rlt = subprocess.run(
|
|
||||||
[
|
|
||||||
- "python",
|
|
||||||
+ sys.executable,
|
|
||||||
"-m",
|
|
||||||
"libcst.tool",
|
|
||||||
"codemod",
|
|
||||||
BIN
vendor.tar.xz
(Stored with Git LFS)
BIN
vendor.tar.xz
(Stored with Git LFS)
Binary file not shown.
3
vendor.tar.zst
Normal file
3
vendor.tar.zst
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:b7d89b1c34b8bc302ff105323671d9089a58e8a59c0d1579bc42379c4f197a28
|
||||||
|
size 10695352
|
||||||
Reference in New Issue
Block a user