Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-cyclopts for openSUSE:Factory
checked in at 2026-08-01 18:32:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-cyclopts (Old)
and /work/SRC/openSUSE:Factory/.python-cyclopts.new.16738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-cyclopts"
Sat Aug 1 18:32:21 2026 rev:8 rq:1368760 version:4.22.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-cyclopts/python-cyclopts.changes
2026-07-26 11:32:40.171384865 +0200
+++
/work/SRC/openSUSE:Factory/.python-cyclopts.new.16738/python-cyclopts.changes
2026-08-01 18:35:36.708805166 +0200
@@ -1,0 +2,6 @@
+Fri Jul 31 06:49:13 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to version 4.22.3:
+ * Fix parsing of Enum types that define their own __init__
+
+-------------------------------------------------------------------
Old:
----
cyclopts-4.22.2.tar.gz
New:
----
cyclopts-4.22.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-cyclopts.spec ++++++
--- /var/tmp/diff_new_pack.nYddpJ/_old 2026-08-01 18:35:37.520833128 +0200
+++ /var/tmp/diff_new_pack.nYddpJ/_new 2026-08-01 18:35:37.520833128 +0200
@@ -17,7 +17,7 @@
Name: python-cyclopts
-Version: 4.22.2
+Version: 4.22.3
Release: 0
Summary: Intuitive, easy CLIs based on python type hints
License: Apache-2.0
++++++ cyclopts-4.22.2.tar.gz -> cyclopts-4.22.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/cyclopts-4.22.2/PKG-INFO new/cyclopts-4.22.3/PKG-INFO
--- old/cyclopts-4.22.2/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
+++ new/cyclopts-4.22.3/PKG-INFO 2020-02-02 01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.4
Name: cyclopts
-Version: 4.22.2
+Version: 4.22.3
Summary: Intuitive, easy CLIs based on type hints.
Project-URL: Homepage, https://github.com/BrianPugh/cyclopts
Project-URL: Repository, https://github.com/BrianPugh/cyclopts
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/cyclopts-4.22.2/cyclopts/_version.py
new/cyclopts-4.22.3/cyclopts/_version.py
--- old/cyclopts-4.22.2/cyclopts/_version.py 2020-02-02 01:00:00.000000000
+0100
+++ new/cyclopts-4.22.3/cyclopts/_version.py 2020-02-02 01:00:00.000000000
+0100
@@ -18,7 +18,7 @@
commit_id: str | None
__commit_id__: str | None
-__version__ = version = '4.22.2'
-__version_tuple__ = version_tuple = (4, 22, 2)
+__version__ = version = '4.22.3'
+__version_tuple__ = version_tuple = (4, 22, 3)
__commit_id__ = commit_id = None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/cyclopts-4.22.2/cyclopts/annotations.py
new/cyclopts-4.22.3/cyclopts/annotations.py
--- old/cyclopts-4.22.2/cyclopts/annotations.py 2020-02-02 01:00:00.000000000
+0100
+++ new/cyclopts-4.22.3/cyclopts/annotations.py 2020-02-02 01:00:00.000000000
+0100
@@ -2,7 +2,7 @@
import sys
import typing
from collections.abc import Iterable, Sequence
-from enum import Flag
+from enum import Enum, Flag
from types import UnionType
from typing import Annotated, Any, Union, get_args, get_origin
@@ -79,6 +79,11 @@
return attrs.has(hint)
+def is_enum(hint) -> bool:
+ """Check if a type hint is an enum.Enum subclass."""
+ return is_class_and_subclass(hint, Enum)
+
+
def is_enum_flag(hint) -> bool:
"""Check if a type hint is an enum.Flag subclass."""
return is_class_and_subclass(hint, Flag)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/cyclopts-4.22.2/cyclopts/field_info.py
new/cyclopts-4.22.3/cyclopts/field_info.py
--- old/cyclopts-4.22.2/cyclopts/field_info.py 2020-02-02 01:00:00.000000000
+0100
+++ new/cyclopts-4.22.3/cyclopts/field_info.py 2020-02-02 01:00:00.000000000
+0100
@@ -24,6 +24,7 @@
is_annotated,
is_attrs,
is_dataclass,
+ is_enum,
is_enum_flag,
is_namedtuple,
is_pydantic,
@@ -356,6 +357,10 @@
return _attrs_field_infos(hint)
elif is_enum_flag(hint):
return _enum_flag_field_infos(hint)
+ elif is_enum(hint):
+ # Plain (non-Flag) Enums are leaf choice-sets converted by member name;
+ # a user-defined ``__init__`` must not cause decomposition into
children.
+ return {}
else:
return _generic_class_field_infos(hint)