int-interval-set 0.2.0

Integer half-open interval set structures built on top of int-interval.
Documentation
�

	Fj
���dZddlmZddlZddlZddlZddlmZdd	�Zdd�Z	dd
�Z
dd�Zdd�Zdd�Z
dd�Zedkre��dSdS)z?Detect package version change and write GitHub Actions outputs.�)�annotationsN)�Path�args�	list[str]�return� subprocess.CompletedProcess[str]c�2�tj|ddd���S)NT)�check�text�capture_output)�
subprocess�run)rs �).github/scripts/release/detect_version.pyrrs���>�$�d��d�K�K�K�K�r�strc�F�tj|��}|ddS)N�package�version)�tomllib�loads)r�datas  r�package_version_from_textrs ���=����D��	�?�9�%�%rc��td���d��5}tj|��}ddd��n#1swxYwY|ddS)Nz
Cargo.toml�rbrr)r�openr�load)�frs  r�current_versionrs���	
�l�	�	�	 �	 ��	&�	&��!��|�A�����������������������	�?�9�%�%s�A�A�A�boolc�n�tjgd�tjtj���jdkS)N)�gitz	rev-parsez-qz--verifyzHEAD^1)�stdout�stderrr)r
r�DEVNULL�
returncode�rr�has_parent_commitr's=����<�<�<��%��%�	
�	
�	
���	
�rc��t��sdS	tgd���j}n#tj$rYdSwxYwt|��S)N�)r!�showzHEAD^1:Cargo.toml)r'rr"r
�CalledProcessErrorr)�prev_cargo_tomls r�previous_versionr-&sh�������r���B�B�B�C�C�J�����(�����r�r�����%�_�5�5�5s�)�<�<�name�value�Nonec�$�tj�d��}|rZt|���dd���5}|�|�d|�d���ddd��dS#1swxYwYdSt
|�d|����dS)N�
GITHUB_OUTPUT�azutf-8)�encoding�=�
)�os�environ�getrr�write�print)r.r/�outputrs    r�write_outputr=2s���
�Z�^�^�O�
,�
,�F�
�!�
�&�\�\�
�
�s�W�
�
5�
5�	)��
�G�G�t�'�'�e�'�'�'�(�(�(�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)�	)�	)�	������� � � � � s�A/�/A3�6A3c�&�t��}t��}|r||krdnd}td|��td|��td|��td|����td|pd����td	|����dS)
N�true�falser�prev_version�changedzcurrent version: zprevious version: z<none>z	changed: )rr-r=r;)�cur�prevrBs   r�mainrE<s���
�
�
�C����D��9�����f�f�'�G���C� � � ����&�&�&���G�$�$�$�	�
#�c�
#�
#�$�$�$�	�
1�t�/�x�
1�
1�2�2�2�	�
�g�
�
� � � � � r�__main__)rrrr)rrrr)rr)rr)r.rr/rrr0)rr0)�__doc__�
__future__rr7r
r�pathlibrrrrr'r-r=rE�__name__r&rr�<module>rKs��E�E�"�"�"�"�"�"�	�	�	�	���������������L�L�L�L�&�&�&�&�
&�&�&�&�����	6�	6�	6�	6�!�!�!�!�!�!�!�!��z����D�F�F�F�F�F��r