<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://linux.duke.edu/metadata/common" xmlns:rpm="http://linux.duke.edu/metadata/rpm" packages="153">
<package type="rpm">
  <name>golang-github-visualfc-atk</name>
  <arch>src</arch>
  <version epoch="0" ver="0.0.0+git20210114.e1a407b" rel="3.28"/>
  <checksum type="sha512" pkgid="YES">2a3cb145b713ee4af6727cd634d8cad928563ba2d45e5066ead4c23c1c94f118f286be931f9fd337e9ef3c2f45fdefed980276a6f2812628a9fac42833edd419</checksum>
  <summary>Another Golang Tcl/Tk binding GUI ToolKit</summary>
  <description>Another Golang Tcl/Tk binding GUI ToolKit.</description>
  <packager></packager>
  <url>https://github.com/visualfc/atk</url>
  <time file="1783205577" build="1610715761"/>
  <size package="66021" installed="57841" archive="58260"/>
  <location href="src/golang-github-visualfc-atk-0.0.0+git20210114.e1a407b-3.28.src.rpm"/>
  <format>
    <rpm:license>GPLv2.1</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Golang</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4504" end="8695"/>
    <rpm:provides>
      <rpm:entry name="golang-github-visualfc-atk" flags="EQ" epoch="0" ver="0.0.0+git20210114.e1a407b" rel="3.28"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="fdupes"/>
      <rpm:entry name="golang-packaging"/>
      <rpm:entry name="tcl-devel"/>
      <rpm:entry name="tk-devel"/>
      <rpm:entry name="xz"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>golang-github-visualfc-atk</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="0.0.0+git20210114.e1a407b" rel="3.28"/>
  <checksum type="sha512" pkgid="YES">3a24227757c229458f934518f345a90572d1bfe2afdd629b6a5455427420afde5da57644d920c2f81966ddac2c4c43f2d32cce131bcce789fbf57f51ccc7801a</checksum>
  <summary>Another Golang Tcl/Tk binding GUI ToolKit</summary>
  <description>Another Golang Tcl/Tk binding GUI ToolKit.</description>
  <packager></packager>
  <url>https://github.com/visualfc/atk</url>
  <time file="1783205577" build="1610715761"/>
  <size package="75643" installed="382445" archive="400584"/>
  <location href="x86_64/golang-github-visualfc-atk-0.0.0+git20210114.e1a407b-3.28.x86_64.rpm"/>
  <format>
    <rpm:license>GPLv2.1</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Golang</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>golang-github-visualfc-atk-0.0.0+git20210114.e1a407b-3.28.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="19397"/>
    <rpm:provides>
      <rpm:entry name="golang-github-visualfc-atk" flags="EQ" epoch="0" ver="0.0.0+git20210114.e1a407b" rel="3.28"/>
      <rpm:entry name="golang-github-visualfc-atk(x86-64)" flags="EQ" epoch="0" ver="0.0.0+git20210114.e1a407b" rel="3.28"/>
    </rpm:provides>
  </format>
</package>
<package type="rpm">
  <name>mkosi</name>
  <arch>noarch</arch>
  <version epoch="0" ver="22+243+g236784d" rel="1.41"/>
  <checksum type="sha512" pkgid="YES">666677418347dd0a5363b5c6d95a1da3a2ee7cb94fb1649d212a318f7849f9555dfe95d587f403af5a24ed50dab47e961b719545b4016a57118e79ad27206ef3</checksum>
  <summary>Build Legacy-Free OS Images</summary>
  <description>A fancy wrapper around dnf --installroot, debootstrap, pacstrap and zypper that
may generate disk images with a number of bells and whistles.

Generated images are "legacy-free". This means only GPT disk labels
(and no MBR disk labels) are supported, and only systemd based images
may be generated. Moreover, for bootable images only EFI systems are
supported (not plain MBR/BIOS).</description>
  <packager></packager>
  <url>https://github.com/systemd/mkosi</url>
  <time file="1783205581" build="1713458944"/>
  <size package="501914" installed="2356541" archive="2397028"/>
  <location href="noarch/mkosi-22+243+g236784d-1.41.noarch.rpm"/>
  <format>
    <rpm:license>LGPL-2.1-or-later</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>mkosi-22+243+g236784d-1.41.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="42801"/>
    <rpm:provides>
      <rpm:entry name="mkosi" flags="EQ" epoch="0" ver="22+243+g236784d" rel="1.41"/>
      <rpm:entry name="python3.13dist(mkosi)" flags="EQ" epoch="0" ver="22"/>
      <rpm:entry name="python3dist(mkosi)" flags="EQ" epoch="0" ver="22"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/bin/sh"/>
      <rpm:entry name="/usr/bin/python3.13"/>
      <rpm:entry name="btrfsprogs"/>
      <rpm:entry name="bubblewrap"/>
      <rpm:entry name="cpio"/>
      <rpm:entry name="cryptsetup"/>
      <rpm:entry name="dosfstools"/>
      <rpm:entry name="e2fsprogs"/>
      <rpm:entry name="gnupg"/>
      <rpm:entry name="kmod"/>
      <rpm:entry name="python(abi)" flags="EQ" epoch="0" ver="3.13"/>
      <rpm:entry name="python3" flags="GE" epoch="0" ver="3.9"/>
      <rpm:entry name="squashfs"/>
      <rpm:entry name="systemd-experimental"/>
      <rpm:entry name="tar"/>
      <rpm:entry name="udev"/>
      <rpm:entry name="veritysetup"/>
      <rpm:entry name="xz"/>
      <rpm:entry name="zstd"/>
    </rpm:requires>
    <rpm:recommends>
      <rpm:entry name="arch-install-scripts"/>
      <rpm:entry name="binutils"/>
      <rpm:entry name="debootstrap" flags="GE" epoch="0" ver="1.0.117"/>
      <rpm:entry name="dnf" flags="GE" epoch="0" ver="4.8.0"/>
      <rpm:entry name="dpkg"/>
      <rpm:entry name="edk2-ovmf"/>
      <rpm:entry name="pacman" flags="GE" epoch="0" ver="6.0.1"/>
    </rpm:recommends>
    <file>/usr/bin/mkosi</file>
  </format>
</package>
<package type="rpm">
  <name>mkosi</name>
  <arch>src</arch>
  <version epoch="0" ver="22+243+g236784d" rel="1.41"/>
  <checksum type="sha512" pkgid="YES">d8f4c8eef450fd089bd4210f2105f0795df9e6720328341a0fbfc7ffc5af075c49e17f2491c7f4f825058970d8480a077b86e97b6a6ba9138203f63e16fc0619</checksum>
  <summary>Build Legacy-Free OS Images</summary>
  <description>A fancy wrapper around dnf --installroot, debootstrap, pacstrap and zypper that
may generate disk images with a number of bells and whistles.

Generated images are "legacy-free". This means only GPT disk labels
(and no MBR disk labels) are supported, and only systemd based images
may be generated. Moreover, for bootable images only EFI systems are
supported (not plain MBR/BIOS).</description>
  <packager></packager>
  <url>https://github.com/systemd/mkosi</url>
  <time file="1783205581" build="1713458944"/>
  <size package="362096" installed="343996" archive="344388"/>
  <location href="src/mkosi-22+243+g236784d-1.41.src.rpm"/>
  <format>
    <rpm:license>LGPL-2.1-or-later</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4504" end="22388"/>
    <rpm:provides>
      <rpm:entry name="mkosi" flags="EQ" epoch="0" ver="22+243+g236784d" rel="1.41"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="fdupes"/>
      <rpm:entry name="pandoc"/>
      <rpm:entry name="python-rpm-macros"/>
      <rpm:entry name="python3"/>
      <rpm:entry name="python3-pip"/>
      <rpm:entry name="python3-pytest"/>
      <rpm:entry name="python3-wheel"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>obs-notify_email</name>
  <arch>noarch</arch>
  <version epoch="0" ver="0.23.5" rel="8.2"/>
  <checksum type="sha512" pkgid="YES">2178f6d567cf704fef4658717a2c5a42ed71f0b2c36a495e578ed8c5c7e5a1be1231ff741da4c1c191304778916c57b6d0f32dd014ee24ff23ae5e50d28f95a9</checksum>
  <summary>Notify email plugin for OBS</summary>
  <description>This package contains the notify email plugin for open build service.</description>
  <packager></packager>
  <url>http://www.b1-systems.de</url>
  <time file="1464868144" build="1464868138"/>
  <size package="9595" installed="7133" archive="8292"/>
  <location href="noarch/obs-notify_email-0.23.5-8.2.noarch.rpm"/>
  <format>
    <rpm:license>GPLv3</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Productivity/Networking/Web/Utilities</rpm:group>
    <rpm:buildhost>lamb14</rpm:buildhost>
    <rpm:sourcerpm>obs-notify_email-0.23.5-8.2.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4552" end="7120"/>
    <rpm:provides>
      <rpm:entry name="obs-notify_email" flags="EQ" epoch="0" ver="0.23.5" rel="8.2"/>
      <rpm:entry name="perl(notify_email)"/>
      <rpm:entry name="perl(notify_email_config)"/>
    </rpm:provides>
  </format>
</package>
<package type="rpm">
  <name>obs-notify_email</name>
  <arch>src</arch>
  <version epoch="0" ver="0.23.5" rel="8.2"/>
  <checksum type="sha512" pkgid="YES">b6613f5c9f9cc827e13adf9e6bb9f89865d982df0a84063fe46b9f60c8bebdf60aaf42513f9eed28bec9974e63ee6c0744c0d15c2b48dc39160c3335275cd971</checksum>
  <summary>Notify email plugin for OBS</summary>
  <description>This package contains the notify email plugin for open build service.</description>
  <packager></packager>
  <url>http://www.b1-systems.de</url>
  <time file="1464868144" build="1464868138"/>
  <size package="9028" installed="7967" archive="8616"/>
  <location href="src/obs-notify_email-0.23.5-8.2.src.rpm"/>
  <format>
    <rpm:license>GPLv3</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Productivity/Networking/Web/Utilities</rpm:group>
    <rpm:buildhost>lamb14</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4552" end="6228"/>
    <rpm:requires>
      <rpm:entry name="perl"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>obs-notify_email</name>
  <arch>noarch</arch>
  <version epoch="0" ver="0.23.5" rel="8.54"/>
  <checksum type="sha512" pkgid="YES">69113dcef6ab5609786fcfd8df2fb6c4d05d723cc3a89a4054f8b29c1ceb5eb5c3403ca763d70905d66eb4eec615ff2b722e356f650b77bba972ea0e2dfdbd24</checksum>
  <summary>Notify email plugin for OBS</summary>
  <description>This package contains the notify email plugin for open build service.</description>
  <packager></packager>
  <url>http://www.b1-systems.de</url>
  <time file="1783205570" build="1783205568"/>
  <size package="9944" installed="7133" archive="8292"/>
  <location href="noarch/obs-notify_email-0.23.5-8.54.noarch.rpm"/>
  <format>
    <rpm:license>GPLv3</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Productivity/Networking/Web/Utilities</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>obs-notify_email-0.23.5-8.54.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="7481"/>
    <rpm:provides>
      <rpm:entry name="obs-notify_email" flags="EQ" epoch="0" ver="0.23.5" rel="8.54"/>
      <rpm:entry name="perl(notify_email)"/>
      <rpm:entry name="perl(notify_email_config)"/>
    </rpm:provides>
  </format>
</package>
<package type="rpm">
  <name>obs-notify_email</name>
  <arch>src</arch>
  <version epoch="0" ver="0.23.5" rel="8.54"/>
  <checksum type="sha512" pkgid="YES">844ef1c02966a9c13bb74f7231f85d7b739adc4bb050cef3d4537ff187919e873aad19e289d2cc3f8c2318f12ef828f681110742c69df001c508531be8241051</checksum>
  <summary>Notify email plugin for OBS</summary>
  <description>This package contains the notify email plugin for open build service.</description>
  <packager></packager>
  <url>http://www.b1-systems.de</url>
  <time file="1783205570" build="1783205568"/>
  <size package="10640" installed="7968" archive="8616"/>
  <location href="src/obs-notify_email-0.23.5-8.54.src.rpm"/>
  <format>
    <rpm:license>GPLv3</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Productivity/Networking/Web/Utilities</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4504" end="7837"/>
    <rpm:provides>
      <rpm:entry name="obs-notify_email" flags="EQ" epoch="0" ver="0.23.5" rel="8.54"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="perl"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>perl-Geo-Gpx</name>
  <arch>noarch</arch>
  <version epoch="0" ver="0.26" rel="5.4"/>
  <checksum type="sha512" pkgid="YES">83b21dd39b9636290712baf12b3f39640ea33bc0dfe3665baa6b3ffd27e2860c3df0c8b3cd98da9dc807b541846b775bdfd846ec7ca8fab3673b8a77b0e480de</checksum>
  <summary>Geo::Gpx Perl module</summary>
  <description>Geo::Gpx Perl module</description>
  <packager></packager>
  <url>http://search.cpan.org/dist/Geo-Gpx/</url>
  <time file="1464870793" build="1464870781"/>
  <size package="21787" installed="34237" archive="34992"/>
  <location href="noarch/perl-Geo-Gpx-0.26-5.4.noarch.rpm"/>
  <format>
    <rpm:license>Artistic-1.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Libraries/Perl</rpm:group>
    <rpm:buildhost>cloud109</rpm:buildhost>
    <rpm:sourcerpm>perl-Geo-Gpx-0.26-5.4.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4552" end="7048"/>
    <rpm:provides>
      <rpm:entry name="perl(Geo::Gpx)" flags="EQ" epoch="0" ver="0.26"/>
      <rpm:entry name="perl-Geo-Gpx" flags="EQ" epoch="0" ver="0.26" rel="5.4"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="perl" flags="EQ" epoch="0" ver="5.24.0"/>
      <rpm:entry name="perl-DateTime-Format-ISO8601"/>
      <rpm:entry name="perl-XML-Descent"/>
      <rpm:entry name="perl-XML-TokeParser"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>perl-Geo-Gpx</name>
  <arch>src</arch>
  <version epoch="0" ver="0.26" rel="5.4"/>
  <checksum type="sha512" pkgid="YES">1d78f1119dd771748117716bfce29e5e9b42d86066b7727c609e04611e9b64928c9013a567bfd72a6f908ac4213e147ec78a3f95c79e81ac80c6396bce2cf7ff</checksum>
  <summary>Geo::Gpx Perl module</summary>
  <description>Geo::Gpx Perl module</description>
  <packager></packager>
  <url>http://search.cpan.org/dist/Geo-Gpx/</url>
  <time file="1464870793" build="1464870781"/>
  <size package="27900" installed="22203" archive="22588"/>
  <location href="src/perl-Geo-Gpx-0.26-5.4.src.rpm"/>
  <format>
    <rpm:license>Artistic-1.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Libraries/Perl</rpm:group>
    <rpm:buildhost>cloud109</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4552" end="6119"/>
    <rpm:requires>
      <rpm:entry name="perl"/>
      <rpm:entry name="perl-macros"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>perl-Geo-Gpx</name>
  <arch>noarch</arch>
  <version epoch="0" ver="0.26" rel="7.53"/>
  <checksum type="sha512" pkgid="YES">92b224ba41a69a3c95cef0d4d2bd84a9b4ce2826dd25e1d3f7b756f15405e20af6777cc3e038246d0bfa1d6fd89e805671f4071ec10ba1b431efc6ff4f2ecc67</checksum>
  <summary>Geo::Gpx Perl module</summary>
  <description>Geo::Gpx Perl module</description>
  <packager></packager>
  <url>http://search.cpan.org/dist/Geo-Gpx/</url>
  <time file="1783205620" build="1409072164"/>
  <size package="22245" installed="34031" archive="34788"/>
  <location href="noarch/perl-Geo-Gpx-0.26-7.53.noarch.rpm"/>
  <format>
    <rpm:license>Artistic-1.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Libraries/Perl</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>perl-Geo-Gpx-0.26-7.53.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="7397"/>
    <rpm:provides>
      <rpm:entry name="perl(Geo::Gpx)" flags="EQ" epoch="0" ver="0.26"/>
      <rpm:entry name="perl-Geo-Gpx" flags="EQ" epoch="0" ver="0.26" rel="7.53"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="perl" flags="EQ" epoch="0" ver="5.42.1"/>
      <rpm:entry name="perl-DateTime-Format-ISO8601"/>
      <rpm:entry name="perl-XML-Descent"/>
      <rpm:entry name="perl-XML-TokeParser"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>perl-Geo-Gpx</name>
  <arch>src</arch>
  <version epoch="0" ver="0.26" rel="7.53"/>
  <checksum type="sha512" pkgid="YES">59cb97ffa64d59faa3768d85dce37c0438d47342801a3d2c01b85218a330fef71c8bfbad95b6ac2f02b12e1a71d19eaa24f9ec573442ccf71e352738d8455498</checksum>
  <summary>Geo::Gpx Perl module</summary>
  <description>Geo::Gpx Perl module</description>
  <packager></packager>
  <url>http://search.cpan.org/dist/Geo-Gpx/</url>
  <time file="1783205620" build="1409072164"/>
  <size package="31994" installed="22204" archive="22588"/>
  <location href="src/perl-Geo-Gpx-0.26-7.53.src.rpm"/>
  <format>
    <rpm:license>Artistic-1.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Libraries/Perl</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4504" end="10212"/>
    <rpm:provides>
      <rpm:entry name="perl-Geo-Gpx" flags="EQ" epoch="0" ver="0.26" rel="7.53"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="perl"/>
      <rpm:entry name="perl-macros"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>perl-Net-DHCPClient</name>
  <arch>noarch</arch>
  <version epoch="0" ver="1.0" rel="4.3"/>
  <checksum type="sha512" pkgid="YES">400d52403bd94fd96a5deaa0994b2c0bbb150837e62d9d52191b05ce184a3e6686ea27b9da479236ad79612272ab75cca62372a00231ccef53fa9ae5c3b0108e</checksum>
  <summary>Net::DHCPClient Perl module</summary>
  <description>Net::DHCPClient Perl module</description>
  <packager></packager>
  <url>http://search.cpan.org/dist/Net-DHCPClient/</url>
  <time file="1464867442" build="1464867435"/>
  <size package="15179" installed="17501" archive="18272"/>
  <location href="noarch/perl-Net-DHCPClient-1.0-4.3.noarch.rpm"/>
  <format>
    <rpm:license>CHECK(GPL-1.0+ or Artistic-1.0)</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Libraries/Perl</rpm:group>
    <rpm:buildhost>cloud118</rpm:buildhost>
    <rpm:sourcerpm>perl-Net-DHCPClient-1.0-4.3.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4552" end="7068"/>
    <rpm:provides>
      <rpm:entry name="perl(Net::DHCPClient)" flags="EQ" epoch="0" ver="1.0"/>
      <rpm:entry name="perl-Net-DHCPClient" flags="EQ" epoch="0" ver="1.0" rel="4.3"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="perl(:MODULE_COMPAT_5.24.0)"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>perl-Net-DHCPClient</name>
  <arch>src</arch>
  <version epoch="0" ver="1.0" rel="4.3"/>
  <checksum type="sha512" pkgid="YES">9936828e01e448abc791c65d48497a0b8e030daef30661c9b57b3e022208c8c1e7b258341e15151219f24d8e9802b984e69e9c2e1ec0e471a5ab2ba7981c492b</checksum>
  <summary>Net::DHCPClient Perl module</summary>
  <description>Net::DHCPClient Perl module</description>
  <packager></packager>
  <url>http://search.cpan.org/dist/Net-DHCPClient/</url>
  <time file="1464867442" build="1464867435"/>
  <size package="12812" installed="7133" archive="7532"/>
  <location href="src/perl-Net-DHCPClient-1.0-4.3.src.rpm"/>
  <format>
    <rpm:license>CHECK(GPL-1.0+ or Artistic-1.0)</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Libraries/Perl</rpm:group>
    <rpm:buildhost>cloud118</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4552" end="6175"/>
    <rpm:requires>
      <rpm:entry name="perl"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>perl-Net-DHCPClient</name>
  <arch>noarch</arch>
  <version epoch="0" ver="1.0" rel="4.70"/>
  <checksum type="sha512" pkgid="YES">8b4e6529f9e0213c9cdce9a1aa353c0df482f20c9468ff0e8e3557a4c5fcc4bdbb61793f4378f512789c90b75fd1f810ae54f398e55d99d4b132f8430d9b8fc3</checksum>
  <summary>Net::DHCPClient Perl module</summary>
  <description>Net::DHCPClient Perl module</description>
  <packager></packager>
  <url>http://search.cpan.org/dist/Net-DHCPClient/</url>
  <time file="1783205569" build="1390474724"/>
  <size package="15361" installed="17256" archive="17852"/>
  <location href="noarch/perl-Net-DHCPClient-1.0-4.70.noarch.rpm"/>
  <format>
    <rpm:license>CHECK(GPL-1.0+ or Artistic-1.0)</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Libraries/Perl</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>perl-Net-DHCPClient-1.0-4.70.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="7345"/>
    <rpm:provides>
      <rpm:entry name="perl(Net::DHCPClient)" flags="EQ" epoch="0" ver="1.0"/>
      <rpm:entry name="perl-Net-DHCPClient" flags="EQ" epoch="0" ver="1.0" rel="4.70"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="perl(:MODULE_COMPAT_5.42.1)"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>perl-Net-DHCPClient</name>
  <arch>src</arch>
  <version epoch="0" ver="1.0" rel="4.70"/>
  <checksum type="sha512" pkgid="YES">4e4f864905e4f0f07dea3780912e8b57bb9951b654bd58422d1eea42f43dc3add8793f5c85f9fd39070886bd899e5e0462fb6fd30bc6551e86d330ad05128f8e</checksum>
  <summary>Net::DHCPClient Perl module</summary>
  <description>Net::DHCPClient Perl module</description>
  <packager></packager>
  <url>http://search.cpan.org/dist/Net-DHCPClient/</url>
  <time file="1783205569" build="1390474724"/>
  <size package="17170" installed="7134" archive="7532"/>
  <location href="src/perl-Net-DHCPClient-1.0-4.70.src.rpm"/>
  <format>
    <rpm:license>CHECK(GPL-1.0+ or Artistic-1.0)</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Libraries/Perl</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4504" end="10542"/>
    <rpm:provides>
      <rpm:entry name="perl-Net-DHCPClient" flags="EQ" epoch="0" ver="1.0" rel="4.70"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="perl"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>perl-Nmap-Parser</name>
  <arch>noarch</arch>
  <version epoch="0" ver="1.21" rel="4.4"/>
  <checksum type="sha512" pkgid="YES">9fae75a17953cfe6aab2e735c4bc7dfccccfaa43e01167cc237aa5f4ab081b871c75802a2acaf43e3b811615d1e39f20181a344adb7dca0611643fd10a6c997a</checksum>
  <summary>Nmap::Parser Perl module</summary>
  <description>Nmap::Parser Perl module supports you parsing nmap's output.</description>
  <packager></packager>
  <url>http://search.cpan.org/dist/Nmap-Parser/</url>
  <time file="1464869169" build="1464869161"/>
  <size package="30754" installed="64418" archive="65180"/>
  <location href="noarch/perl-Nmap-Parser-1.21-4.4.noarch.rpm"/>
  <format>
    <rpm:license>MIT</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Libraries/Perl</rpm:group>
    <rpm:buildhost>build24</rpm:buildhost>
    <rpm:sourcerpm>perl-Nmap-Parser-1.21-4.4.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4552" end="7224"/>
    <rpm:provides>
      <rpm:entry name="perl(Nmap::Parser)" flags="EQ" epoch="0" ver="1.21"/>
      <rpm:entry name="perl(Nmap::Parser::Host)"/>
      <rpm:entry name="perl(Nmap::Parser::Host::OS)"/>
      <rpm:entry name="perl(Nmap::Parser::Host::Service)"/>
      <rpm:entry name="perl(Nmap::Parser::Host::TraceHop)"/>
      <rpm:entry name="perl(Nmap::Parser::Session)"/>
      <rpm:entry name="perl-Nmap-Parser" flags="EQ" epoch="0" ver="1.21" rel="4.4"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="perl" flags="EQ" epoch="0" ver="5.24.0"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>perl-Nmap-Parser</name>
  <arch>src</arch>
  <version epoch="0" ver="1.21" rel="4.4"/>
  <checksum type="sha512" pkgid="YES">b5150a74cd559fc80333c4c3972405cbb1dc4615dd635702721824f31744cf23e7f092d6b1d941a73545589527d5d0f3daa11aebb5e928243efe1e760dfdd6a7</checksum>
  <summary>Nmap::Parser Perl module</summary>
  <description>Nmap::Parser Perl module supports you parsing nmap's output.</description>
  <packager></packager>
  <url>http://search.cpan.org/dist/Nmap-Parser/</url>
  <time file="1464869169" build="1464869161"/>
  <size package="46387" installed="40587" archive="40984"/>
  <location href="src/perl-Nmap-Parser-1.21-4.4.src.rpm"/>
  <format>
    <rpm:license>MIT</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Libraries/Perl</rpm:group>
    <rpm:buildhost>build24</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4552" end="6175"/>
    <rpm:requires>
      <rpm:entry name="perl"/>
      <rpm:entry name="perl-macros"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>perl-Nmap-Parser</name>
  <arch>noarch</arch>
  <version epoch="0" ver="1.21" rel="4.70"/>
  <checksum type="sha512" pkgid="YES">e38d2829a1c483e5e688a3128d5f4c57200d8081ae20a091f871ce70be2571e0cf6327de144c1a5adb0c4b1dfb33ed980a3a079a0398af6b66889ced02e2b05b</checksum>
  <summary>Nmap::Parser Perl module</summary>
  <description>Nmap::Parser Perl module supports you parsing nmap's output.</description>
  <packager></packager>
  <url>http://search.cpan.org/dist/Nmap-Parser/</url>
  <time file="1783205616" build="1349878875"/>
  <size package="31113" installed="64128" archive="64892"/>
  <location href="noarch/perl-Nmap-Parser-1.21-4.70.noarch.rpm"/>
  <format>
    <rpm:license>MIT</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Libraries/Perl</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>perl-Nmap-Parser-1.21-4.70.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="7581"/>
    <rpm:provides>
      <rpm:entry name="perl(Nmap::Parser)" flags="EQ" epoch="0" ver="1.21"/>
      <rpm:entry name="perl(Nmap::Parser::Host)"/>
      <rpm:entry name="perl(Nmap::Parser::Host::OS)"/>
      <rpm:entry name="perl(Nmap::Parser::Host::Service)"/>
      <rpm:entry name="perl(Nmap::Parser::Host::TraceHop)"/>
      <rpm:entry name="perl(Nmap::Parser::Session)"/>
      <rpm:entry name="perl-Nmap-Parser" flags="EQ" epoch="0" ver="1.21" rel="4.70"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="perl" flags="EQ" epoch="0" ver="5.42.1"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>perl-Nmap-Parser</name>
  <arch>src</arch>
  <version epoch="0" ver="1.21" rel="4.70"/>
  <checksum type="sha512" pkgid="YES">30ad1c581bed70593989aaca771c2bf6c4f699d76e95513f39be9eea626d7fe574baf3c30dd4f185d01c51f024642ba021069b89c55b78426d2760acef4f949a</checksum>
  <summary>Nmap::Parser Perl module</summary>
  <description>Nmap::Parser Perl module supports you parsing nmap's output.</description>
  <packager></packager>
  <url>http://search.cpan.org/dist/Nmap-Parser/</url>
  <time file="1783205616" build="1349878875"/>
  <size package="50496" installed="40588" archive="40984"/>
  <location href="src/perl-Nmap-Parser-1.21-4.70.src.rpm"/>
  <format>
    <rpm:license>MIT</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Libraries/Perl</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4504" end="10284"/>
    <rpm:provides>
      <rpm:entry name="perl-Nmap-Parser" flags="EQ" epoch="0" ver="1.21" rel="4.70"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="perl"/>
      <rpm:entry name="perl-macros"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>perl-Perl-OSType</name>
  <arch>noarch</arch>
  <version epoch="0" ver="1.002" rel="1.4"/>
  <checksum type="sha512" pkgid="YES">8bf3ff398cb340d055131a9f92c92a2a2061058a9d470507e2c089f56cf85f477f90658f784d3592df78ade0d2d85aa5b4fea5d47fc55cc874ecd01732a7dfce</checksum>
  <summary>Map Perl operating system names to generic types</summary>
  <description>Modules that provide OS-specific behaviors often need to know if the
current operating system matches a more generic type of operating systems.
For example, 'linux' is a type of 'Unix' operating system and so is
'freebsd'.

This module provides a mapping between an operating system name as given by
'$^O' and a more generic type. The initial version is based on the OS type
mappings provided in the Module::Build manpage and the ExtUtils::CBuilder
manpage. (Thus, Microsoft operating systems are given the type 'Windows'
rather than 'Win32'.)</description>
  <packager></packager>
  <url>http://search.cpan.org/dist/Perl-OSType/</url>
  <time file="1464870471" build="1464870466"/>
  <size package="18574" installed="26733" archive="28132"/>
  <location href="noarch/perl-Perl-OSType-1.002-1.4.noarch.rpm"/>
  <format>
    <rpm:license>Artistic-1.0 or GPL-1.0+</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Libraries/Perl</rpm:group>
    <rpm:buildhost>lamb15</rpm:buildhost>
    <rpm:sourcerpm>perl-Perl-OSType-1.002-1.4.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4552" end="8064"/>
    <rpm:provides>
      <rpm:entry name="perl(Perl::OSType)" flags="EQ" epoch="0" ver="1.002"/>
      <rpm:entry name="perl-Perl-OSType" flags="EQ" epoch="0" ver="1.002" rel="1.4"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="perl" flags="EQ" epoch="0" ver="5.24.0"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>perl-Perl-OSType</name>
  <arch>src</arch>
  <version epoch="0" ver="1.002" rel="1.4"/>
  <checksum type="sha512" pkgid="YES">3cd872151c2282d22e0b1de49c3d9e4c708bcd053b7d511abe4d4605113479f23e8913c4f5c93c2773a7a04d9accb4d754608add42872a92dd1e9f859d67c6a7</checksum>
  <summary>Map Perl operating system names to generic types</summary>
  <description>Modules that provide OS-specific behaviors often need to know if the
current operating system matches a more generic type of operating systems.
For example, 'linux' is a type of 'Unix' operating system and so is
'freebsd'.

This module provides a mapping between an operating system name as given by
'$^O' and a more generic type. The initial version is based on the OS type
mappings provided in the Module::Build manpage and the ExtUtils::CBuilder
manpage. (Thus, Microsoft operating systems are given the type 'Windows'
rather than 'Win32'.)</description>
  <packager></packager>
  <url>http://search.cpan.org/dist/Perl-OSType/</url>
  <time file="1464870471" build="1464870466"/>
  <size package="20564" installed="14486" archive="14880"/>
  <location href="src/perl-Perl-OSType-1.002-1.4.src.rpm"/>
  <format>
    <rpm:license>Artistic-1.0 or GPL-1.0+</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Libraries/Perl</rpm:group>
    <rpm:buildhost>lamb15</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4552" end="6796"/>
    <rpm:requires>
      <rpm:entry name="perl"/>
      <rpm:entry name="perl(Test::More)" flags="GE" epoch="0" ver="0.88"/>
      <rpm:entry name="perl-macros"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>perl-Perl-OSType</name>
  <arch>noarch</arch>
  <version epoch="0" ver="1.002" rel="1.60"/>
  <checksum type="sha512" pkgid="YES">d5a58a892332ad49e18261941659f0007ba8bf1b7d860f4eef29c858a214b3cce6bbc11495866662237caea8eb3a80f8fad22943f8d9ac6326a3654364be0ede</checksum>
  <summary>Map Perl operating system names to generic types</summary>
  <description>Modules that provide OS-specific behaviors often need to know if the
current operating system matches a more generic type of operating systems.
For example, 'linux' is a type of 'Unix' operating system and so is
'freebsd'.

This module provides a mapping between an operating system name as given by
'$^O' and a more generic type. The initial version is based on the OS type
mappings provided in the Module::Build manpage and the ExtUtils::CBuilder
manpage. (Thus, Microsoft operating systems are given the type 'Windows'
rather than 'Win32'.)</description>
  <packager></packager>
  <url>http://search.cpan.org/dist/Perl-OSType/</url>
  <time file="1722887050" build="1330528363"/>
  <size package="19106" installed="26504" archive="27904"/>
  <location href="noarch/perl-Perl-OSType-1.002-1.60.noarch.rpm"/>
  <format>
    <rpm:license>Artistic-1.0 or GPL-1.0+</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Libraries/Perl</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>perl-Perl-OSType-1.002-1.60.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="8481"/>
    <rpm:provides>
      <rpm:entry name="perl(Perl::OSType)" flags="EQ" epoch="0" ver="1.002"/>
      <rpm:entry name="perl-Perl-OSType" flags="EQ" epoch="0" ver="1.002" rel="1.60"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="perl" flags="EQ" epoch="0" ver="5.40.0"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>perl-Perl-OSType</name>
  <arch>src</arch>
  <version epoch="0" ver="1.002" rel="1.60"/>
  <checksum type="sha512" pkgid="YES">96b524a296a694eaea7dc2fa4cc8ddb2808a53679c600b6d3ddc13201556802af3b1ce414c27c59dcb711d0c2b0f6a426bf5ccf1ae41483ee2a99b26244abc20</checksum>
  <summary>Map Perl operating system names to generic types</summary>
  <description>Modules that provide OS-specific behaviors often need to know if the
current operating system matches a more generic type of operating systems.
For example, 'linux' is a type of 'Unix' operating system and so is
'freebsd'.

This module provides a mapping between an operating system name as given by
'$^O' and a more generic type. The initial version is based on the OS type
mappings provided in the Module::Build manpage and the ExtUtils::CBuilder
manpage. (Thus, Microsoft operating systems are given the type 'Windows'
rather than 'Win32'.)</description>
  <packager></packager>
  <url>http://search.cpan.org/dist/Perl-OSType/</url>
  <time file="1722887050" build="1330528363"/>
  <size package="25490" installed="14487" archive="14880"/>
  <location href="src/perl-Perl-OSType-1.002-1.60.src.rpm"/>
  <format>
    <rpm:license>Artistic-1.0 or GPL-1.0+</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Libraries/Perl</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4504" end="11730"/>
    <rpm:provides>
      <rpm:entry name="perl-Perl-OSType" flags="EQ" epoch="0" ver="1.002" rel="1.60"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="perl"/>
      <rpm:entry name="perl(Test::More)" flags="GE" epoch="0" ver="0.88"/>
      <rpm:entry name="perl-macros"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>perl-Test-Simple</name>
  <arch>noarch</arch>
  <version epoch="0" ver="0.98" rel="1.1"/>
  <checksum type="sha512" pkgid="YES">db48e0a9f9997daab54ad15495aaca8b2834ac79b70343c586f540e02c8d3f88e934bafec7b47e0226f16ecc584c5b17ad211239acd151f1efeeb5ce052fc659</checksum>
  <summary>Basic utilities for writing tests</summary>
  <description>This is an extremely simple, extremely basic module for writing tests
suitable for CPAN modules and other pursuits. If you wish to do more
complicated testing, use the Test::More module (a drop-in replacement for
this one).

Authors:
--------
    Michael G Schwern &lt;schwern@pobox.com&gt;</description>
  <packager></packager>
  <url>http://search.cpan.org/dist/Test-Simple/</url>
  <time file="1741919426" build="1321614618"/>
  <size package="115625" installed="245823" archive="250536"/>
  <location href="noarch/perl-Test-Simple-0.98-1.1.noarch.rpm"/>
  <format>
    <rpm:license>GPL-1.0+ or Artistic-1.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Libraries/Perl</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>perl-Test-Simple-0.98-1.1.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="12993"/>
    <rpm:provides>
      <rpm:entry name="perl(Test::Builder)" flags="EQ" epoch="0" ver="0.98"/>
      <rpm:entry name="perl(Test::Builder::IO::Scalar)" flags="EQ" epoch="0" ver="2.110"/>
      <rpm:entry name="perl(Test::Builder::Module)" flags="EQ" epoch="0" ver="0.98"/>
      <rpm:entry name="perl(Test::Builder::Tester)" flags="EQ" epoch="0" ver="1.22"/>
      <rpm:entry name="perl(Test::Builder::Tester::Color)" flags="EQ" epoch="0" ver="1.22"/>
      <rpm:entry name="perl(Test::Builder::Tester::Tie)"/>
      <rpm:entry name="perl(Test::More)" flags="EQ" epoch="0" ver="0.98"/>
      <rpm:entry name="perl(Test::Simple)" flags="EQ" epoch="0" ver="0.98"/>
      <rpm:entry name="perl-Test-Simple" flags="EQ" epoch="0" ver="0.98" rel="1.1"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="perl" flags="EQ" epoch="0" ver="5.40.1"/>
      <rpm:entry name="perl(Test::Harness)" flags="GE" epoch="0" ver="2.03"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>perl-Test-Simple</name>
  <arch>src</arch>
  <version epoch="0" ver="0.98" rel="1.1"/>
  <checksum type="sha512" pkgid="YES">7be0fdba33c2922bb10cc920699e13761896c875723b87dbdfa397c0f23bb1d77f3de8610b27f463f984f7e219e0839e791e683bcb97c4482e4d34b272998a0d</checksum>
  <summary>Basic utilities for writing tests</summary>
  <description>This is an extremely simple, extremely basic module for writing tests
suitable for CPAN modules and other pursuits. If you wish to do more
complicated testing, use the Test::More module (a drop-in replacement for
this one).

Authors:
--------
    Michael G Schwern &lt;schwern@pobox.com&gt;</description>
  <packager></packager>
  <url>http://search.cpan.org/dist/Test-Simple/</url>
  <time file="1741919426" build="1321614618"/>
  <size package="124794" installed="111507" archive="111900"/>
  <location href="src/perl-Test-Simple-0.98-1.1.src.rpm"/>
  <format>
    <rpm:license>GPL-1.0+ or Artistic-1.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Libraries/Perl</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4504" end="14736"/>
    <rpm:provides>
      <rpm:entry name="perl-Test-Simple" flags="EQ" epoch="0" ver="0.98" rel="1.1"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="perl"/>
      <rpm:entry name="perl(Test::Harness)" flags="GE" epoch="0" ver="2.03"/>
      <rpm:entry name="perl-macros"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>perl-XML-Descent</name>
  <arch>noarch</arch>
  <version epoch="0" ver="1.04" rel="1.4"/>
  <checksum type="sha512" pkgid="YES">545e6a68f9b136c433b613e4889fcd25323c258ee3b2dccf53a9b4a31db54aedc102f2567b4b1487b5bae4b89ec67624ff1c3bb60fdd6edf9f11e1ebf33c98ed</checksum>
  <summary>XML::Descent Perl module</summary>
  <description>XML::Descent Perl module</description>
  <packager></packager>
  <url>http://search.cpan.org/dist/XML-Descent/</url>
  <time file="1464870010" build="1464870003"/>
  <size package="18644" installed="22799" archive="23564"/>
  <location href="noarch/perl-XML-Descent-1.04-1.4.noarch.rpm"/>
  <format>
    <rpm:license>Artistic-1.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Libraries/Perl</rpm:group>
    <rpm:buildhost>build27</rpm:buildhost>
    <rpm:sourcerpm>perl-XML-Descent-1.04-1.4.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4552" end="7000"/>
    <rpm:provides>
      <rpm:entry name="perl(XML::Descent)" flags="EQ" epoch="0" ver="1.04"/>
      <rpm:entry name="perl-XML-Descent" flags="EQ" epoch="0" ver="1.04" rel="1.4"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="perl" flags="EQ" epoch="0" ver="5.24.0"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>perl-XML-Descent</name>
  <arch>src</arch>
  <version epoch="0" ver="1.04" rel="1.4"/>
  <checksum type="sha512" pkgid="YES">eaf95c824b644400a4203be419b179914a5a9ff1680845a6fa7b7167016a7b98dc56a70d1904f8d15dd7f8e140c5db6472659afdc01c0ae1931b04ee50ad8e42</checksum>
  <summary>XML::Descent Perl module</summary>
  <description>XML::Descent Perl module</description>
  <packager></packager>
  <url>http://search.cpan.org/dist/XML-Descent/</url>
  <time file="1464870010" build="1464870003"/>
  <size package="22644" installed="16887" archive="17280"/>
  <location href="src/perl-XML-Descent-1.04-1.4.src.rpm"/>
  <format>
    <rpm:license>Artistic-1.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Libraries/Perl</rpm:group>
    <rpm:buildhost>build27</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4552" end="6147"/>
    <rpm:requires>
      <rpm:entry name="perl"/>
      <rpm:entry name="perl-macros"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>perl-XML-Descent</name>
  <arch>noarch</arch>
  <version epoch="0" ver="1.04" rel="1.71"/>
  <checksum type="sha512" pkgid="YES">ad86bbe860d7deb865fc4904d045a575f03a5aaf3b00414b340a45fdb5b8ef980ea58d19c7ff02236a746c37eee8a0869eda4aa1a94aabbcdf78c2b1d6546ad3</checksum>
  <summary>XML::Descent Perl module</summary>
  <description>XML::Descent Perl module</description>
  <packager></packager>
  <url>http://search.cpan.org/dist/XML-Descent/</url>
  <time file="1783205617" build="1409072975"/>
  <size package="18987" installed="22571" archive="23336"/>
  <location href="noarch/perl-XML-Descent-1.04-1.71.noarch.rpm"/>
  <format>
    <rpm:license>Artistic-1.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Libraries/Perl</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>perl-XML-Descent-1.04-1.71.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="7357"/>
    <rpm:provides>
      <rpm:entry name="perl(XML::Descent)" flags="EQ" epoch="0" ver="1.04"/>
      <rpm:entry name="perl-XML-Descent" flags="EQ" epoch="0" ver="1.04" rel="1.71"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="perl" flags="EQ" epoch="0" ver="5.42.1"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>perl-XML-Descent</name>
  <arch>src</arch>
  <version epoch="0" ver="1.04" rel="1.71"/>
  <checksum type="sha512" pkgid="YES">23965ae5f102b660c35af2d84697a854955fbf72062abe0bd741fbc1de2ef333b817f98a9cd44a225112677f6034f0f6e1ef013462017dbe1226e6bbe12dcb63</checksum>
  <summary>XML::Descent Perl module</summary>
  <description>XML::Descent Perl module</description>
  <packager></packager>
  <url>http://search.cpan.org/dist/XML-Descent/</url>
  <time file="1783205617" build="1409072975"/>
  <size package="26697" installed="16888" archive="17280"/>
  <location href="src/perl-XML-Descent-1.04-1.71.src.rpm"/>
  <format>
    <rpm:license>Artistic-1.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Libraries/Perl</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4504" end="10200"/>
    <rpm:provides>
      <rpm:entry name="perl-XML-Descent" flags="EQ" epoch="0" ver="1.04" rel="1.71"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="perl"/>
      <rpm:entry name="perl-macros"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>perl-XML-TokeParser</name>
  <arch>noarch</arch>
  <version epoch="0" ver="0.05" rel="2.4"/>
  <checksum type="sha512" pkgid="YES">21a66a7ed5ac070341dad215fd93a68eeaabe6b9f4fa882db2e32d547a3ea6edc5872cfc47e70a9b63532f0f1346b95196f6dca4ace8ea959bfdc46d72fc1c37</checksum>
  <summary>XML::TokeParser Perl module</summary>
  <description>XML::TokeParser Perl module</description>
  <packager></packager>
  <url>http://search.cpan.org/dist/XML-TokeParser/</url>
  <time file="1464869481" build="1464869473"/>
  <size package="18783" installed="26913" archive="27684"/>
  <location href="noarch/perl-XML-TokeParser-0.05-2.4.noarch.rpm"/>
  <format>
    <rpm:license>Artistic-1.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Libraries/Perl</rpm:group>
    <rpm:buildhost>lamb05</rpm:buildhost>
    <rpm:sourcerpm>perl-XML-TokeParser-0.05-2.4.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4552" end="7052"/>
    <rpm:provides>
      <rpm:entry name="perl(XML::TokeParser)" flags="EQ" epoch="0" ver="0.05"/>
      <rpm:entry name="perl(XML::TokeParser::Token)"/>
      <rpm:entry name="perl-XML-TokeParser" flags="EQ" epoch="0" ver="0.05" rel="2.4"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="perl" flags="EQ" epoch="0" ver="5.24.0"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>perl-XML-TokeParser</name>
  <arch>src</arch>
  <version epoch="0" ver="0.05" rel="2.4"/>
  <checksum type="sha512" pkgid="YES">10c0b417f43d6a8aa70c03c83f73b318f26627d04339b99c7ba92e5b6bc801a43eaf328cd83769d7d85e77ebe98ccd6728ffabdf4f40a50d6da7751e6b02f6c4</checksum>
  <summary>XML::TokeParser Perl module</summary>
  <description>XML::TokeParser Perl module</description>
  <packager></packager>
  <url>http://search.cpan.org/dist/XML-TokeParser/</url>
  <time file="1464869481" build="1464869473"/>
  <size package="18428" installed="12689" archive="13092"/>
  <location href="src/perl-XML-TokeParser-0.05-2.4.src.rpm"/>
  <format>
    <rpm:license>Artistic-1.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Libraries/Perl</rpm:group>
    <rpm:buildhost>lamb05</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4552" end="6172"/>
    <rpm:requires>
      <rpm:entry name="perl"/>
      <rpm:entry name="perl-macros"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>perl-XML-TokeParser</name>
  <arch>noarch</arch>
  <version epoch="0" ver="0.05" rel="2.72"/>
  <checksum type="sha512" pkgid="YES">9fdf2f94f9e590564482a00396243415d68517d13f017b8d7c458b723c70405f77685ba957924475d0b1de381f9d1e8f4442aa15e159937bb5e941a57281c739</checksum>
  <summary>XML::TokeParser Perl module</summary>
  <description>XML::TokeParser Perl module</description>
  <packager></packager>
  <url>http://search.cpan.org/dist/XML-TokeParser/</url>
  <time file="1783205616" build="1409073310"/>
  <size package="19105" installed="26713" archive="27484"/>
  <location href="noarch/perl-XML-TokeParser-0.05-2.72.noarch.rpm"/>
  <format>
    <rpm:license>Artistic-1.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Libraries/Perl</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>perl-XML-TokeParser-0.05-2.72.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="7413"/>
    <rpm:provides>
      <rpm:entry name="perl(XML::TokeParser)" flags="EQ" epoch="0" ver="0.05"/>
      <rpm:entry name="perl(XML::TokeParser::Token)"/>
      <rpm:entry name="perl-XML-TokeParser" flags="EQ" epoch="0" ver="0.05" rel="2.72"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="perl" flags="EQ" epoch="0" ver="5.42.1"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>perl-XML-TokeParser</name>
  <arch>src</arch>
  <version epoch="0" ver="0.05" rel="2.72"/>
  <checksum type="sha512" pkgid="YES">bb3202d356aefaa0c2a34e582c0948dbac5269d53724b49f11b60ea2c6741c41d02b41049b5c8d797d6ca69ed491ff56c039dccb4c96aa504dc539d093b0f22d</checksum>
  <summary>XML::TokeParser Perl module</summary>
  <description>XML::TokeParser Perl module</description>
  <packager></packager>
  <url>http://search.cpan.org/dist/XML-TokeParser/</url>
  <time file="1783205616" build="1409073310"/>
  <size package="22523" installed="12690" archive="13096"/>
  <location href="src/perl-XML-TokeParser-0.05-2.72.src.rpm"/>
  <format>
    <rpm:license>Artistic-1.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Libraries/Perl</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4504" end="10266"/>
    <rpm:provides>
      <rpm:entry name="perl-XML-TokeParser" flags="EQ" epoch="0" ver="0.05" rel="2.72"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="perl"/>
      <rpm:entry name="perl-macros"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>perl-agordamon</name>
  <arch>noarch</arch>
  <version epoch="0" ver="0.23.5" rel="25.3"/>
  <checksum type="sha512" pkgid="YES">d18af2780224adc62f517eba7867a6c5c044d751744728e750d14786b1ac9c56af2684214dfcd09d6971d9fab62da220badc67cb1851dcab7499cef7eff4acb4</checksum>
  <summary>Agordamon Perl module</summary>
  <description>This package contains the agordamon Perl modules.</description>
  <packager></packager>
  <url>http://search.cpan.org/dist/Nmap-Parser/</url>
  <time file="1464868842" build="1464868836"/>
  <size package="15993" installed="35908" archive="39976"/>
  <location href="noarch/perl-agordamon-0.23.5-25.3.noarch.rpm"/>
  <format>
    <rpm:license>GPLv3</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Libraries/Perl</rpm:group>
    <rpm:buildhost>lamb20</rpm:buildhost>
    <rpm:sourcerpm>perl-agordamon-0.23.5-25.3.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4552" end="9604"/>
    <rpm:provides>
      <rpm:entry name="perl(agordamon)" flags="EQ" epoch="0" ver="0.23"/>
      <rpm:entry name="perl(agordamon::backend::Files)" flags="EQ" epoch="0" ver="0.13"/>
      <rpm:entry name="perl(agordamon::backend::mongoDB)" flags="EQ" epoch="0" ver="0.13"/>
      <rpm:entry name="perl(agordamon::command)"/>
      <rpm:entry name="perl(agordamon::contact)"/>
      <rpm:entry name="perl(agordamon::contactgroup)"/>
      <rpm:entry name="perl(agordamon::definition)"/>
      <rpm:entry name="perl(agordamon::host)"/>
      <rpm:entry name="perl(agordamon::hostdependency)"/>
      <rpm:entry name="perl(agordamon::hostescalation)"/>
      <rpm:entry name="perl(agordamon::hostextinfo)"/>
      <rpm:entry name="perl(agordamon::hostgroup)"/>
      <rpm:entry name="perl(agordamon::service)"/>
      <rpm:entry name="perl(agordamon::servicedependency)"/>
      <rpm:entry name="perl(agordamon::serviceescalation)"/>
      <rpm:entry name="perl(agordamon::serviceextinfo)"/>
      <rpm:entry name="perl(agordamon::servicegroup)"/>
      <rpm:entry name="perl(agordamon::single)"/>
      <rpm:entry name="perl(agordamon::timeperiod)"/>
      <rpm:entry name="perl(agordamon:distributed)" flags="EQ" epoch="0" ver="0.12"/>
      <rpm:entry name="perl-agordamon" flags="EQ" epoch="0" ver="0.23.5" rel="25.3"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="perl(:MODULE_COMPAT_5.24.0)"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>perl-agordamon</name>
  <arch>src</arch>
  <version epoch="0" ver="0.23.5" rel="25.3"/>
  <checksum type="sha512" pkgid="YES">3e388e5f8cd8efa19f21fb912d35a7f9fc3956ac2d76da818b1743aa8bcfb348f828a2afe49388b6540e33b38af34c16496bf4d8de02c6472da019cf4f9892a5</checksum>
  <summary>Agordamon Perl module</summary>
  <description>This package contains the agordamon Perl modules.</description>
  <packager></packager>
  <url>http://search.cpan.org/dist/Nmap-Parser/</url>
  <time file="1464868842" build="1464868836"/>
  <size package="28330" installed="22663" archive="23060"/>
  <location href="src/perl-agordamon-0.23.5-25.3.src.rpm"/>
  <format>
    <rpm:license>GPLv3</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Libraries/Perl</rpm:group>
    <rpm:buildhost>lamb20</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4552" end="6103"/>
    <rpm:requires>
      <rpm:entry name="perl"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>perl-agordamon</name>
  <arch>noarch</arch>
  <version epoch="0" ver="0.23.5" rel="26.60"/>
  <checksum type="sha512" pkgid="YES">fce65c6b15a497c6d86ade9532707bf8bf9b31c3d34cddc66e997e84442b1faa05e836e63eff112f06cf1373495539bd2ca961c2a289df10862d49c25ca792ab</checksum>
  <summary>Agordamon Perl module</summary>
  <description>This package contains the agordamon Perl modules.</description>
  <packager></packager>
  <url>http://search.cpan.org/dist/Nmap-Parser/</url>
  <time file="1783205572" build="1349888110"/>
  <size package="16754" installed="35908" archive="39804"/>
  <location href="noarch/perl-agordamon-0.23.5-26.60.noarch.rpm"/>
  <format>
    <rpm:license>GPLv3</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Libraries/Perl</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>perl-agordamon-0.23.5-26.60.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="10421"/>
    <rpm:provides>
      <rpm:entry name="perl(agordamon)" flags="EQ" epoch="0" ver="0.23"/>
      <rpm:entry name="perl(agordamon::backend::Files)" flags="EQ" epoch="0" ver="0.13"/>
      <rpm:entry name="perl(agordamon::backend::mongoDB)" flags="EQ" epoch="0" ver="0.13"/>
      <rpm:entry name="perl(agordamon::command)"/>
      <rpm:entry name="perl(agordamon::contact)"/>
      <rpm:entry name="perl(agordamon::contactgroup)"/>
      <rpm:entry name="perl(agordamon::definition)"/>
      <rpm:entry name="perl(agordamon::host)"/>
      <rpm:entry name="perl(agordamon::hostdependency)"/>
      <rpm:entry name="perl(agordamon::hostescalation)"/>
      <rpm:entry name="perl(agordamon::hostextinfo)"/>
      <rpm:entry name="perl(agordamon::hostgroup)"/>
      <rpm:entry name="perl(agordamon::service)"/>
      <rpm:entry name="perl(agordamon::servicedependency)"/>
      <rpm:entry name="perl(agordamon::serviceescalation)"/>
      <rpm:entry name="perl(agordamon::serviceextinfo)"/>
      <rpm:entry name="perl(agordamon::servicegroup)"/>
      <rpm:entry name="perl(agordamon::single)"/>
      <rpm:entry name="perl(agordamon::timeperiod)"/>
      <rpm:entry name="perl(agordamon:distributed)" flags="EQ" epoch="0" ver="0.12"/>
      <rpm:entry name="perl-agordamon" flags="EQ" epoch="0" ver="0.23.5" rel="26.60"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="perl(:MODULE_COMPAT_5.42.1)"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>perl-agordamon</name>
  <arch>src</arch>
  <version epoch="0" ver="0.23.5" rel="26.60"/>
  <checksum type="sha512" pkgid="YES">18834138c2156ac29d063f0d15422a83062eea6cb4929f360459d21ad4e739c338d9742b36f8d32e7a1dc4cf0d22c69b9aee7e76953551fd7242e28245d8b625</checksum>
  <summary>Agordamon Perl module</summary>
  <description>This package contains the agordamon Perl modules.</description>
  <packager></packager>
  <url>http://search.cpan.org/dist/Nmap-Parser/</url>
  <time file="1783205572" build="1349888110"/>
  <size package="32752" installed="22869" archive="23264"/>
  <location href="src/perl-agordamon-0.23.5-26.60.src.rpm"/>
  <format>
    <rpm:license>GPLv3</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Libraries/Perl</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4504" end="10397"/>
    <rpm:provides>
      <rpm:entry name="perl-agordamon" flags="EQ" epoch="0" ver="0.23.5" rel="26.60"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="perl"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>perl-macros</name>
  <arch>i586</arch>
  <version epoch="0" ver="1.0" rel="2.2"/>
  <checksum type="sha512" pkgid="YES">923e77caf6cbe55e352811b7ca4a618de2c865552c3f26559f4284785983162a998d1a9edf6e31de12097515afead05560868ece1cb700366e9dc5ad476161c0</checksum>
  <summary>Perl macros for rpm build</summary>
  <description>This package provides perl rpm macros.
You need it for building perl modules

  Authors:
                Christian Wittmer &lt;chris@computersalat.de&gt;</description>
  <packager></packager>
  <url></url>
  <time file="1464867417" build="1464867410"/>
  <size package="10079" installed="5411" archive="5984"/>
  <location href="i586/perl-macros-1.0-2.2.i586.rpm"/>
  <format>
    <rpm:license>GPL</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Libraries/Perl</rpm:group>
    <rpm:buildhost>build83</rpm:buildhost>
    <rpm:sourcerpm>perl-macros-1.0-2.2.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4552" end="8180"/>
    <rpm:provides>
      <rpm:entry name="perl-macros" flags="EQ" epoch="0" ver="1.0" rel="2.2"/>
      <rpm:entry name="perl-macros(x86-32)" flags="EQ" epoch="0" ver="1.0" rel="2.2"/>
      <rpm:entry name="perl_gen_filelist"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="perl"/>
    </rpm:requires>
    <file>/etc/rpm/macros.suse-perl</file>
  </format>
</package>
<package type="rpm">
  <name>perl-macros</name>
  <arch>src</arch>
  <version epoch="0" ver="1.0" rel="2.2"/>
  <checksum type="sha512" pkgid="YES">d16bbb06ca139db62d908122c037f695923db635eb0a967cf1bb08d8d7385716e4a5364899d539cc4d6072511bed8457db9ca099e630f266216303b95cce6d50</checksum>
  <summary>Perl macros for rpm build</summary>
  <description>This package provides perl rpm macros.
You need it for building perl modules

  Authors:
                Christian Wittmer &lt;chris@computersalat.de&gt;</description>
  <packager></packager>
  <url></url>
  <time file="1464867417" build="1464867410"/>
  <size package="11440" installed="12179" archive="12820"/>
  <location href="src/perl-macros-1.0-2.2.src.rpm"/>
  <format>
    <rpm:license>GPL</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Libraries/Perl</rpm:group>
    <rpm:buildhost>build83</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4552" end="7691"/>
  </format>
</package>
<package type="rpm">
  <name>perl-macros</name>
  <arch>src</arch>
  <version epoch="0" ver="1.0" rel="2.46"/>
  <checksum type="sha512" pkgid="YES">8a6f459cb1ce42206a95a3f9acda9476d877193810f1e315f0bf68093ed04f275664b37ff5af4b3495a4a4f16ebb1e6d4354b942c5e7d536b1df16eb6dbd36ba</checksum>
  <summary>Perl macros for rpm build</summary>
  <description>This package provides perl rpm macros.
You need it for building perl modules

  Authors:
                Christian Wittmer &lt;chris@computersalat.de&gt;</description>
  <packager></packager>
  <url></url>
  <time file="1722887020" build="1313505900"/>
  <size package="14480" installed="12180" archive="12820"/>
  <location href="src/perl-macros-1.0-2.46.src.rpm"/>
  <format>
    <rpm:license>GPL</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Libraries/Perl</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4504" end="10751"/>
    <rpm:provides>
      <rpm:entry name="perl-macros" flags="EQ" epoch="0" ver="1.0" rel="2.46"/>
    </rpm:provides>
  </format>
</package>
<package type="rpm">
  <name>perl-macros</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="1.0" rel="2.46"/>
  <checksum type="sha512" pkgid="YES">908167341ced2da9aa6e74f4ac358435b7ed80511d1c816b33db75fa1fc642b8aa3ec2fc49aa744b4f3ed095e81e5fab5f1f13cffd02dde643bfd738bc4c8f1b</checksum>
  <summary>Perl macros for rpm build</summary>
  <description>This package provides perl rpm macros.
You need it for building perl modules

  Authors:
                Christian Wittmer &lt;chris@computersalat.de&gt;</description>
  <packager></packager>
  <url></url>
  <time file="1722887020" build="1313505900"/>
  <size package="9812" installed="5411" archive="5984"/>
  <location href="x86_64/perl-macros-1.0-2.46.x86_64.rpm"/>
  <format>
    <rpm:license>GPL</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Libraries/Perl</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>perl-macros-1.0-2.46.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="7941"/>
    <rpm:provides>
      <rpm:entry name="perl-macros" flags="EQ" epoch="0" ver="1.0" rel="2.46"/>
      <rpm:entry name="perl-macros(x86-64)" flags="EQ" epoch="0" ver="1.0" rel="2.46"/>
      <rpm:entry name="perl_gen_filelist"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="perl"/>
    </rpm:requires>
    <file>/etc/rpm/macros.suse-perl</file>
  </format>
</package>
<package type="rpm">
  <name>python-Django</name>
  <arch>noarch</arch>
  <version epoch="0" ver="1.9.9" rel="3.24"/>
  <checksum type="sha512" pkgid="YES">0ec63c0808f8020f957eec5c0e4803aa711c56569d62a3a48205c04593bb5094699d615f8e36d37625c6e0282ab3068f7b3d7fc5af8ba2296fc151fa3179b0c7</checksum>
  <summary>A high-level Python Web framework</summary>
  <description>Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.</description>
  <packager></packager>
  <url>http://www.djangoproject.com</url>
  <time file="1578843884" build="1578843791"/>
  <size package="4072392" installed="22121929" archive="23282724"/>
  <location href="noarch/python-Django-1.9.9-3.24.noarch.rpm"/>
  <format>
    <rpm:license>BSD-3-Clause</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Python</rpm:group>
    <rpm:buildhost>lamb55</rpm:buildhost>
    <rpm:sourcerpm>python-Django-1.9.9-3.24.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4664" end="839484"/>
    <rpm:provides>
      <rpm:entry name="python-Django" flags="EQ" epoch="0" ver="1.9.9" rel="3.24"/>
      <rpm:entry name="python-South" flags="EQ" epoch="0" ver="1.9.9"/>
      <rpm:entry name="python-django" flags="EQ" epoch="0" ver="1.9.9"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/bin/sh" pre="1"/>
      <rpm:entry name="/bin/sh"/>
      <rpm:entry name="/usr/bin/env"/>
      <rpm:entry name="/usr/bin/python"/>
      <rpm:entry name="python(abi)" flags="EQ" epoch="0" ver="2.7"/>
      <rpm:entry name="python-Pillow"/>
      <rpm:entry name="python-setuptools"/>
      <rpm:entry name="python-xml"/>
      <rpm:entry name="update-alternatives" pre="1"/>
      <rpm:entry name="update-alternatives"/>
    </rpm:requires>
    <rpm:obsoletes>
      <rpm:entry name="python-South" flags="LT" epoch="0" ver="1.9.9"/>
      <rpm:entry name="python-django" flags="LT" epoch="0" ver="1.9.9"/>
    </rpm:obsoletes>
    <file type="ghost">/etc/alternatives/django-admin</file>
    <file type="ghost">/etc/alternatives/django-admin.py</file>
    <file type="ghost">/etc/alternatives/django_bash_completion.sh</file>
    <file>/etc/bash_completion.d/django_bash_completion-2.7.sh</file>
    <file>/etc/bash_completion.d/django_bash_completion.sh</file>
    <file>/usr/bin/django-admin</file>
    <file>/usr/bin/django-admin-2.7</file>
    <file>/usr/bin/django-admin.py</file>
    <file>/usr/bin/django-admin.py-2.7</file>
    <file>/usr/lib/python2.7/site-packages/django/bin/django-admin.py-2.7</file>
  </format>
</package>
<package type="rpm">
  <name>python-Django</name>
  <arch>src</arch>
  <version epoch="0" ver="1.9.9" rel="3.24"/>
  <checksum type="sha512" pkgid="YES">7434613f8a79594ac0fc83456ff6369a443e376517917a55f9716a7a03d15d4776f936ce9ff36fcca857c045b9d22c9deb96975ce0ea05ef1b1e1f48ca664e05</checksum>
  <summary>A high-level Python Web framework</summary>
  <description>Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.</description>
  <packager></packager>
  <url>http://www.djangoproject.com</url>
  <time file="1578843884" build="1578843791"/>
  <size package="7547748" installed="7538594" archive="7539392"/>
  <location href="src/python-Django-1.9.9-3.24.src.rpm"/>
  <format>
    <rpm:license>BSD-3-Clause</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Python</rpm:group>
    <rpm:buildhost>lamb55</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4664" end="40852"/>
    <rpm:requires>
      <rpm:entry name="fdupes"/>
      <rpm:entry name="python-devel"/>
      <rpm:entry name="python-setuptools"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>python-Pillow</name>
  <arch>src</arch>
  <version epoch="0" ver="3.1.1" rel="1.66"/>
  <checksum type="sha512" pkgid="YES">7ab91f21435505154c75d6d9aff02e16a6b932da78fcbab97054314834532d30cf0582049707fa9483d5f0f94288a4d719a831b66a565e910ef392718e5c1c78</checksum>
  <summary>Python Imaging Library (Fork)</summary>
  <description>Pillow is the "friendly" PIL fork by Alex Clark and Contributors. PIL is the
Python Imaging Library by Fredrik Lundh and Contributors.</description>
  <packager></packager>
  <url>http://python-imaging.github.io/</url>
  <time file="1586498091" build="1586497958"/>
  <size package="10099662" installed="10160249" archive="10160808"/>
  <location href="src/python-Pillow-3.1.1-1.66.src.rpm"/>
  <format>
    <rpm:license>HPND</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Python</rpm:group>
    <rpm:buildhost>lamb02</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4664" end="25976"/>
    <rpm:requires>
      <rpm:entry name="freetype2-devel"/>
      <rpm:entry name="libjpeg8-devel"/>
      <rpm:entry name="liblcms2-devel"/>
      <rpm:entry name="libtiff-devel"/>
      <rpm:entry name="libwebp-devel"/>
      <rpm:entry name="openjpeg2-devel"/>
      <rpm:entry name="python-devel"/>
      <rpm:entry name="python-nose"/>
      <rpm:entry name="python-setuptools"/>
      <rpm:entry name="python-tk"/>
      <rpm:entry name="tix"/>
      <rpm:entry name="tk-devel"/>
      <rpm:entry name="unzip"/>
      <rpm:entry name="zlib-devel"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>python-Pillow</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="3.1.1" rel="1.66"/>
  <checksum type="sha512" pkgid="YES">d26a997c246d7d59167f48ec0f8dc6d98f097609ad465bb5a4303053b54f8b3621cadc7aa636bff11ae190341b6eb1c4a569e847c359e415739c06e93f61cb88</checksum>
  <summary>Python Imaging Library (Fork)</summary>
  <description>Pillow is the "friendly" PIL fork by Alex Clark and Contributors. PIL is the
Python Imaging Library by Fredrik Lundh and Contributors.</description>
  <packager></packager>
  <url>http://python-imaging.github.io/</url>
  <time file="1586498091" build="1586497958"/>
  <size package="541824" installed="2081531" archive="2117596"/>
  <location href="x86_64/python-Pillow-3.1.1-1.66.x86_64.rpm"/>
  <format>
    <rpm:license>HPND</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Python</rpm:group>
    <rpm:buildhost>lamb02</rpm:buildhost>
    <rpm:sourcerpm>python-Pillow-3.1.1-1.66.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4664" end="49944"/>
    <rpm:provides>
      <rpm:entry name="python-Pillow" flags="EQ" epoch="0" ver="3.1.1" rel="1.66"/>
      <rpm:entry name="python-Pillow(x86-64)" flags="EQ" epoch="0" ver="3.1.1" rel="1.66"/>
      <rpm:entry name="python-imaging" flags="EQ" epoch="0" ver="3.1.1"/>
      <rpm:entry name="python-imaging-sane"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/bin/sh" pre="1"/>
      <rpm:entry name="/bin/sh"/>
      <rpm:entry name="/usr/bin/python"/>
      <rpm:entry name="libfreetype.so.6()(64bit)"/>
      <rpm:entry name="libjpeg.so.8()(64bit)"/>
      <rpm:entry name="libjpeg.so.8(LIBJPEG_8.0)(64bit)"/>
      <rpm:entry name="liblcms2.so.2()(64bit)"/>
      <rpm:entry name="libopenjp2.so.7()(64bit)"/>
      <rpm:entry name="libpthread.so.0()(64bit)"/>
      <rpm:entry name="libpthread.so.0(GLIBC_2.2.5)(64bit)"/>
      <rpm:entry name="libpthread.so.0(GLIBC_2.3.2)(64bit)"/>
      <rpm:entry name="libpython2.7.so.1.0()(64bit)"/>
      <rpm:entry name="libtiff.so.5()(64bit)"/>
      <rpm:entry name="libwebp.so.7()(64bit)"/>
      <rpm:entry name="libwebpmux.so.3()(64bit)"/>
      <rpm:entry name="libz.so.1()(64bit)"/>
      <rpm:entry name="python(abi)" flags="EQ" epoch="0" ver="2.7"/>
      <rpm:entry name="update-alternatives" pre="1"/>
      <rpm:entry name="update-alternatives"/>
      <rpm:entry name="libc.so.6(GLIBC_2.14)(64bit)"/>
    </rpm:requires>
    <rpm:conflicts>
      <rpm:entry name="python-imaging" flags="LT" epoch="0" ver="3.1.1"/>
    </rpm:conflicts>
    <rpm:obsoletes>
      <rpm:entry name="python-imaging-sane"/>
    </rpm:obsoletes>
    <file type="ghost">/etc/alternatives/createfontdatachunk</file>
    <file type="ghost">/etc/alternatives/enhancer</file>
    <file type="ghost">/etc/alternatives/explode</file>
    <file type="ghost">/etc/alternatives/gifmaker</file>
    <file type="ghost">/etc/alternatives/painter</file>
    <file type="ghost">/etc/alternatives/pilconvert</file>
    <file type="ghost">/etc/alternatives/pildriver</file>
    <file type="ghost">/etc/alternatives/pilfile</file>
    <file type="ghost">/etc/alternatives/pilfont</file>
    <file type="ghost">/etc/alternatives/pilprint</file>
    <file type="ghost">/etc/alternatives/player</file>
    <file type="ghost">/etc/alternatives/thresholder</file>
    <file type="ghost">/etc/alternatives/viewer</file>
    <file>/usr/bin/createfontdatachunk</file>
    <file>/usr/bin/createfontdatachunk-2.7</file>
    <file>/usr/bin/enhancer</file>
    <file>/usr/bin/enhancer-2.7</file>
    <file>/usr/bin/explode</file>
    <file>/usr/bin/explode-2.7</file>
    <file>/usr/bin/gifmaker</file>
    <file>/usr/bin/gifmaker-2.7</file>
    <file>/usr/bin/painter</file>
    <file>/usr/bin/painter-2.7</file>
    <file>/usr/bin/pilconvert</file>
    <file>/usr/bin/pilconvert-2.7</file>
    <file>/usr/bin/pildriver</file>
    <file>/usr/bin/pildriver-2.7</file>
    <file>/usr/bin/pilfile</file>
    <file>/usr/bin/pilfile-2.7</file>
    <file>/usr/bin/pilfont</file>
    <file>/usr/bin/pilfont-2.7</file>
    <file>/usr/bin/pilprint</file>
    <file>/usr/bin/pilprint-2.7</file>
    <file>/usr/bin/player</file>
    <file>/usr/bin/player-2.7</file>
    <file>/usr/bin/thresholder</file>
    <file>/usr/bin/thresholder-2.7</file>
    <file>/usr/bin/viewer</file>
    <file>/usr/bin/viewer-2.7</file>
  </format>
</package>
<package type="rpm">
  <name>python-Pillow-tk</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="3.1.1" rel="1.66"/>
  <checksum type="sha512" pkgid="YES">955caa2cc4125ac93e1a779777ff350372ee332494d1bf135941ab3295bc06c920d7c522808ba058b3a071ac3d773127b2264ed829a3e9e3b034ac5ba5144f25</checksum>
  <summary>Python Imaging Library (Fork) - Tcl/Tk Module</summary>
  <description>Pillow is the "friendly" PIL fork by Alex Clark and Contributors. PIL is the
Python Imaging Library by Fredrik Lundh and Contributors.</description>
  <packager></packager>
  <url>http://python-imaging.github.io/</url>
  <time file="1586498091" build="1586497958"/>
  <size package="34460" installed="34565" archive="35184"/>
  <location href="x86_64/python-Pillow-tk-3.1.1-1.66.x86_64.rpm"/>
  <format>
    <rpm:license>HPND</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Python</rpm:group>
    <rpm:buildhost>lamb02</rpm:buildhost>
    <rpm:sourcerpm>python-Pillow-3.1.1-1.66.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4664" end="26800"/>
    <rpm:provides>
      <rpm:entry name="python-Pillow-tk" flags="EQ" epoch="0" ver="3.1.1" rel="1.66"/>
      <rpm:entry name="python-Pillow-tk(x86-64)" flags="EQ" epoch="0" ver="3.1.1" rel="1.66"/>
      <rpm:entry name="python-imaging-tk"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="libpython2.7.so.1.0()(64bit)"/>
      <rpm:entry name="libtcl8.6.so()(64bit)"/>
      <rpm:entry name="libtk8.6.so()(64bit)"/>
      <rpm:entry name="python(abi)" flags="EQ" epoch="0" ver="2.7"/>
      <rpm:entry name="python-Pillow" flags="EQ" epoch="0" ver="3.1.1"/>
      <rpm:entry name="libc.so.6(GLIBC_2.4)(64bit)"/>
    </rpm:requires>
    <rpm:obsoletes>
      <rpm:entry name="python-imaging-tk"/>
    </rpm:obsoletes>
  </format>
</package>
<package type="rpm">
  <name>python-arrow</name>
  <arch>noarch</arch>
  <version epoch="0" ver="0.4.4" rel="1.26"/>
  <checksum type="sha512" pkgid="YES">130ad2362c429c218b791fb3b703b29329be6f024bfa89541f703be201911d200db5278042dae690c89dc158ecee8e85eea7b6c3f94124965bfd0e081ab1c597</checksum>
  <summary>Better dates and times for Python</summary>
  <description>Arrow is a Python library that offers a sensible, human-friendly
approach to creating, manipulating, formatting and converting dates,
times, and timestamps.  It implements and updates the datetime type,
plugging gaps in functionality, and provides an intelligent module
API that supports many common creation scenarios.  Simply put, it
helps you work with dates and times with fewer imports and a lot
less code.

Arrow is heavily inspired by moment.js and requests.</description>
  <packager></packager>
  <url>http://crsmithdev.com/arrow</url>
  <time file="1587427740" build="1587427729"/>
  <size package="48976" installed="192287" archive="197620"/>
  <location href="noarch/python-arrow-0.4.4-1.26.noarch.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Python</rpm:group>
    <rpm:buildhost>cloud130</rpm:buildhost>
    <rpm:sourcerpm>python-arrow-0.4.4-1.26.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4664" end="11436"/>
    <rpm:provides>
      <rpm:entry name="python-arrow" flags="EQ" epoch="0" ver="0.4.4" rel="1.26"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="python(abi)" flags="EQ" epoch="0" ver="2.7"/>
      <rpm:entry name="python-python-dateutil"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>python-arrow</name>
  <arch>src</arch>
  <version epoch="0" ver="0.4.4" rel="1.26"/>
  <checksum type="sha512" pkgid="YES">1ada79c3b0e9a9032b97ea76afd9da406933d90c14c67a8dbea8ad4f55ca9c94cad4f509fabd1add366f743a5f7f40ff4f7b436c4e5b57d6349adc8378c4d67d</checksum>
  <summary>Better dates and times for Python</summary>
  <description>Arrow is a Python library that offers a sensible, human-friendly
approach to creating, manipulating, formatting and converting dates,
times, and timestamps.  It implements and updates the datetime type,
plugging gaps in functionality, and provides an intelligent module
API that supports many common creation scenarios.  Simply put, it
helps you work with dates and times with fewer imports and a lot
less code.

Arrow is heavily inspired by moment.js and requests.</description>
  <packager></packager>
  <url>http://crsmithdev.com/arrow</url>
  <time file="1587427740" build="1587427729"/>
  <size package="72269" installed="65893" archive="66280"/>
  <location href="src/python-arrow-0.4.4-1.26.src.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Python</rpm:group>
    <rpm:buildhost>cloud130</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4664" end="7032"/>
    <rpm:requires>
      <rpm:entry name="python-chai"/>
      <rpm:entry name="python-devel"/>
      <rpm:entry name="python-nose"/>
      <rpm:entry name="python-python-dateutil"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>python-chai</name>
  <arch>noarch</arch>
  <version epoch="0" ver="0.4.8" rel="2.24"/>
  <checksum type="sha512" pkgid="YES">4b725506b03bdeff94e6ec0bb06be66ff29929c6897b7c8ed42c4d3d62e11df0cfd956a4dfb06438e888ea3acb9a1f6b9bd7050ed4179db2a97cf05b37425a91</checksum>
  <summary>Easy to use mocking/stub framework</summary>
  <description>Chai provides a very easy to use api for mocking/stubbing your python
objects, patterned after the Mocha library for Ruby.</description>
  <packager></packager>
  <url>https://github.com/agoragames/chai</url>
  <time file="1587425784" build="1587425774"/>
  <size package="42928" installed="160684" archive="165820"/>
  <location href="noarch/python-chai-0.4.8-2.24.noarch.rpm"/>
  <format>
    <rpm:license>BSD-3-Clause</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Python</rpm:group>
    <rpm:buildhost>cloud104</rpm:buildhost>
    <rpm:sourcerpm>python-chai-0.4.8-2.24.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4664" end="11000"/>
    <rpm:provides>
      <rpm:entry name="python-chai" flags="EQ" epoch="0" ver="0.4.8" rel="2.24"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="python(abi)" flags="EQ" epoch="0" ver="2.7"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>python-chai</name>
  <arch>src</arch>
  <version epoch="0" ver="0.4.8" rel="2.24"/>
  <checksum type="sha512" pkgid="YES">f74351d5fe7a420510f325b2187f5d7eaed7a3e892a000783620bfb5da71dc5fd0bf3fd0716ed770c8552e4068334d7bfa4355447e84020c99d3faeb49ae1b18</checksum>
  <summary>Easy to use mocking/stub framework</summary>
  <description>Chai provides a very easy to use api for mocking/stubbing your python
objects, patterned after the Mocha library for Ruby.</description>
  <packager></packager>
  <url>https://github.com/agoragames/chai</url>
  <time file="1587425785" build="1587425774"/>
  <size package="82644" installed="76644" archive="77028"/>
  <location href="src/python-chai-0.4.8-2.24.src.rpm"/>
  <format>
    <rpm:license>BSD-3-Clause</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Python</rpm:group>
    <rpm:buildhost>cloud104</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4664" end="6572"/>
    <rpm:requires>
      <rpm:entry name="python-devel"/>
      <rpm:entry name="python-nose"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>python-django-bootstrap-breadcrumbs</name>
  <arch>noarch</arch>
  <version epoch="0" ver="0.8" rel="2.1"/>
  <checksum type="sha512" pkgid="YES">89666e849f124b6ee88b4083f518f9a4812e5b7b9dfb0ca8d051bd292747dd1b0f496144a0563657385049990037c6b8df9216ca136477b64846780591573ab5</checksum>
  <summary>Django breadcrumbs using Twitter Bootstrap or custom template</summary>
  <description>Django template tags used to generate breadcrumbs html using bootstrap css classes (V2 and V3) or custom template</description>
  <packager></packager>
  <url>http://django-bootstrap-breadcrumbs.readthedocs.org/</url>
  <time file="1475246622" build="1475246606"/>
  <size package="14320" installed="19171" archive="23420"/>
  <location href="noarch/python-django-bootstrap-breadcrumbs-0.8-2.1.noarch.rpm"/>
  <format>
    <rpm:license>as_is</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Python</rpm:group>
    <rpm:buildhost>cloud108</rpm:buildhost>
    <rpm:sourcerpm>python-django-bootstrap-breadcrumbs-0.8-2.1.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4552" end="9052"/>
    <rpm:provides>
      <rpm:entry name="python-django-bootstrap-breadcrumbs" flags="EQ" epoch="0" ver="0.8" rel="2.1"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="python(abi)" flags="EQ" epoch="0" ver="2.7"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>python-django-bootstrap-breadcrumbs</name>
  <arch>src</arch>
  <version epoch="0" ver="0.8" rel="2.1"/>
  <checksum type="sha512" pkgid="YES">1cb7bfe87c552f4421d85a348b084c51dcdf781715cf21e7295c89fe9d865aac26af31888cf21d00154f317e1182b4be1c53a84db524bca513e694faf1de5136</checksum>
  <summary>Django breadcrumbs using Twitter Bootstrap or custom template</summary>
  <description>Django template tags used to generate breadcrumbs html using bootstrap css classes (V2 and V3) or custom template</description>
  <packager></packager>
  <url>http://django-bootstrap-breadcrumbs.readthedocs.org/</url>
  <time file="1475246622" build="1475246606"/>
  <size package="11119" installed="5433" archive="5864"/>
  <location href="src/python-django-bootstrap-breadcrumbs-0.8-2.1.src.rpm"/>
  <format>
    <rpm:license>as_is</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Python</rpm:group>
    <rpm:buildhost>cloud108</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4552" end="6257"/>
    <rpm:requires>
      <rpm:entry name="python-devel"/>
      <rpm:entry name="python-setuptools"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>python-django-bootstrap-breadcrumbs</name>
  <arch>noarch</arch>
  <version epoch="0" ver="0.8" rel="2.25"/>
  <checksum type="sha512" pkgid="YES">0803a879111fa74438da5454b3024c3163b5a11c536abe50c6045914e6ea7bfc9d43aebfd014bf412dc4d29f602b3538e70a464e6b82014ca0aeba66c02eed23</checksum>
  <summary>Django breadcrumbs using Twitter Bootstrap or custom template</summary>
  <description>Django template tags used to generate breadcrumbs html using bootstrap css classes (V2 and V3) or custom template</description>
  <packager></packager>
  <url>http://django-bootstrap-breadcrumbs.readthedocs.org/</url>
  <time file="1587430540" build="1587430534"/>
  <size package="15496" installed="19171" archive="23932"/>
  <location href="noarch/python-django-bootstrap-breadcrumbs-0.8-2.25.noarch.rpm"/>
  <format>
    <rpm:license>as_is</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Python</rpm:group>
    <rpm:buildhost>sheep87</rpm:buildhost>
    <rpm:sourcerpm>python-django-bootstrap-breadcrumbs-0.8-2.25.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4664" end="10128"/>
    <rpm:provides>
      <rpm:entry name="python-django-bootstrap-breadcrumbs" flags="EQ" epoch="0" ver="0.8" rel="2.25"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="python(abi)" flags="EQ" epoch="0" ver="2.7"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>python-django-bootstrap-breadcrumbs</name>
  <arch>src</arch>
  <version epoch="0" ver="0.8" rel="2.25"/>
  <checksum type="sha512" pkgid="YES">1ad27ed33b6ef711fbbb32d68ab063ee1e29f4806b04973db13f64e363b77fe7e35de99231ce7185ee4d82727b1a4fd0bb7c9744787d2bdf65bf11a3f26c627d</checksum>
  <summary>Django breadcrumbs using Twitter Bootstrap or custom template</summary>
  <description>Django template tags used to generate breadcrumbs html using bootstrap css classes (V2 and V3) or custom template</description>
  <packager></packager>
  <url>http://django-bootstrap-breadcrumbs.readthedocs.org/</url>
  <time file="1587430540" build="1587430534"/>
  <size package="11492" installed="5434" archive="5868"/>
  <location href="src/python-django-bootstrap-breadcrumbs-0.8-2.25.src.rpm"/>
  <format>
    <rpm:license>as_is</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Python</rpm:group>
    <rpm:buildhost>sheep87</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4664" end="6624"/>
    <rpm:requires>
      <rpm:entry name="python-devel"/>
      <rpm:entry name="python-setuptools"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>python-django-graphos</name>
  <arch>noarch</arch>
  <version epoch="0" ver="0.3.2" rel="1.1"/>
  <checksum type="sha512" pkgid="YES">acbc1950d5a4eb3983c5f296d54f2e4ac6721117b59b178e035bb56ed006cd75116d234e615cd9c73a1388005e705122306c52e546174099b1371bb067365ca4</checksum>
  <summary>Django app to provide a JS agnostic way to work with charts</summary>
  <description>Graphos
=======

|Build Status|

Graphos is a Django app to normalize data to create beautiful charts. It
provides a JS agnostic way to work with charts and allows seamless and
quick switching between different chart providers.

-  Demo: http://agiliq.com/demo/graphos/.
-  Docs: http://agiliq.com/docs/django-graphos/.

Supported Backends:
-------------------

-  Python Nested lists
-  Django ORM
-  CSV Files
-  MongoDB

Charting API Supported
----------------------

-  `Flot &lt;http://flotcharts.org&gt;`__
-  `Google Charts API &lt;https://developers.google.com/chart/&gt;`__
-  `YUI Charts &lt;http://yuilibrary.com/yui/docs/charts/&gt;`__
-  `Morris.js &lt;http://morrisjs.github.io/morris.js/&gt;`__
-  `Highcharts &lt;http://www.highcharts.com/&gt;`__
-  `Matplotlib &lt;http://matplotlib.org/api/pyplot_api.html&gt;`__

Chart types supported
---------------------

Flot
~~~~

-  Line chart
-  Bar Chart
-  Column chart
-  Pie chart
-  Point Chart

Google Charts
~~~~~~~~~~~~~

-  Line chart
-  Bar chart
-  Column chart
-  Pie chart
-  Area chart
-  Candlestick chart
-  Treemap chart
-  Gauge chart

YUI
~~~

-  Line chart
-  Bar chart
-  Column chart
-  Pie chart
-  Area chart
-  Spline chart
-  Areaspline chart

Morris.js
~~~~~~~~~

-  Line chart
-  Bar chart
-  Donut chart
-  Area chart

Highcharts
~~~~~~~~~~

(You will need to buy a license if you use highcharts for commerical
use)

-  Line Chart
-  Bar Chart
-  Column Chart
-  Pie Chart
-  Area Chart

C3.js
~~~~~

-  Line chart
-  Column chart (You need to rotate the axis of bar chart to render
   column chart)
-  Bar chart
-  Donut chart
-  Pie chart
-  Spline chart

Matplotlib
~~~~~~~~~~

-  LineChart
-  BarChart

With Graphos, switching from google's LineChart to yui LineChart can be
done within minutes. So would be the case in switching from yui
AreaChart to morris AreaChart.

Running demo project locally
----------------------------

-  Clone the project

   git clone https://github.com/agiliq/django-graphos.git

-  Cd to demo directory

   cd django-graphos/demo\_project/

-  Create local settings.

   cp demo\_project/settings/local.py-dist
   demo\_project/settings/local.py

-  Install requirements

   pip install -r requirements.txt

-  Run migrate

   python manage.py migrate

-  Run server

   python manage.py runserver

The installed demo app shows the various suported chart types.

In case you want to use mongo data while charting, you must have mongodb
properly setup and **pymongo** installed. Make sure mongo server is
running.

::

    mongod --dbpath ~/data/db

Mongo setup is optional and is not needed to get running with demo
project.

Overview of Plot generation
---------------------------

Generating a plot requires two things. A DataSource object and a Chart
object.

In your view, you do something like this:

::

    from graphos.sources.simple import SimpleDataSource
    from graphos.renderers.gchart import LineChart

    data =  [
            ['Year', 'Sales', 'Expenses'],
            [2004, 1000, 400],
            [2005, 1170, 460],
            [2006, 660, 1120],
            [2007, 1030, 540]
        ]
    
    data_source = SimpleDataSource(data=data)
    
    chart = LineChart(data_source)
    context = {'chart': chart}
    return render(request, 'yourtemplate.html', context)

And then in the template:

::

    {{ chart.as_html }}

In this example we are planning to use Google chart, as is evident from
the import statement in the view, we import gchart.LineChart. So we must
also include the google chart javascript in our template.

::

    &lt;script type="text/javascript" src="https://www.google.com/jsapi"&gt;&lt;/script&gt;
    &lt;script type="text/javascript"&gt;
        google.load("visualization", "1", {packages:["corechart"]});
    &lt;/script&gt;

So the template would look like

::

    &lt;script type="text/javascript" src="https://www.google.com/jsapi"&gt;&lt;/script&gt;
    &lt;script type="text/javascript"&gt;
        google.load("visualization", "1", {packages:["corechart"]});
    &lt;/script&gt;

    {{ chart.as_html }}

If we want to use yui LineChart instead of google LineChart, our view
would have:

::

    from graphos.renderers.yui import LineChart
    chart = LineChart(data_source)

And our template would inclue yui javascript and it would look like:

::

    &lt;script src="http://yui.yahooapis.com/3.10.0/build/yui/yui-min.js"&gt;&lt;/script&gt;
    {{ chart.as_html }}

See, how easy it was to switch from gchart to yui. You did not have to
write or change a single line of javascript to switch from gchart to
yui. All that was taken care of by as\_html() of the chart object.

DataSources
-----------

SimpleDataSource
~~~~~~~~~~~~~~~~

This should be used if you want to generate a chart from Python list.

::

    from graphos.sources.simple import SimpleDataSource
    data = SimpleDataSource(data=data)

Data could be:

::

    data = [
           ['Year', 'Sales', 'Expenses', 'Items Sold', 'Net Profit'],
           ['2004', 1000, 400, 100, 600],
           ['2005', 1170, 460, 120, 710],
           ['2006', 660, 1120, 50, -460],
           ['2007', 1030, 540, 100, 490],
           ]

or it could be

::

    data = [
           ['Year', 'Sales', 'Expenses'],
           ['2004', 1000, 400],
           ['2005', 1170, 460],
           ['2006', 660, 1120],
           ['2007', 1030, 540],
           ]

or it could be

::

    data = [
           ['Year', 'Sales', 'Expenses'],
           ['2004', 1000, 400],
           ['2005', 1170, 460],
           ]

You got the idea.

data has to be a list of lists. First row of data tells the headers.
First element of each list elementis the x axis.

This data essentially tells that in year 2004, sales was 1000 units and
expense was 400 units. And in year 2005, sales was 1170 units and
expense was 460 units.

ModelDataSource
~~~~~~~~~~~~~~~

This should be used if you want to generate a chart from a Django
queryset.

::

    from graphos.sources.models import ModelDataSource
    queryset = Account.objects.all()
    data_source = ModelDataSource(queryset,
                                  fields=['year', 'sales'])

This assumes that there is a Django model called Account which has
fields ``year`` and ``sales``. And you plan to plot year on x axis and
sales on y axis.

Or you could say

::

    data_source = ModelDataSource(queryset,
                                  fields=['year', 'sales', 'expenses'])

This would plot the yearly sale and yearly expense

CSVDataSource
~~~~~~~~~~~~~

This should be used if you want to generate a chart from a CSV file.

::

    from graphos.sources.csv_file import CSVDataSource
    csv_file = open("hello.csv")
    data_source = CSVDataSource(csv_file)

MongoDataSource
~~~~~~~~~~~~~~~

TODO

Charts
------

We have following charts

-  Gchart

   -  gchart.LineChart
   -  gchart.BarChart
   -  gchart.ColumnChart
   -  gchart.PieChart
   -  gchart.AreaChart
   -  gchart.TreeMapChart
   -  gchart.CandlestickChart
   -  gchart.GaugeChart

-  Yui

   -  yui.LineChart
   -  yui.BarChart
   -  yui.ColumnChart
   -  yui.PieChart
   -  yui.AreaChart
   -  yui.SplineChart
   -  yui.AreaSplineChart

-  Flot

   -  flot.LineChart
   -  flot.BarChart
   -  flot.ColumnChart
   -  flot.PieChart
   -  flot.PointChart

-  Morris

   -  morris.LineChart
   -  morris.BarChart
   -  morris.AreaChart
   -  morris.DonutChart

-  Highcharts

   -  highcharts.LineChart
   -  highcharts.BarChart
   -  highcharts.ColumnChart
   -  highcharts.PieChart
   -  highcharts.AreaChart

Most of the chart providers support LineChart, BarChart, ColumnChart and
PieChart, and it is very easy to switch from specific chart type of one
provider to other. eg: It is super quick to switch from gchart LineChart
to flot LineChart.

More Examples
-------------

Using SimpleDataSource with gchart LineChart
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View
^^^^

::

    data =  [
            ['Year', 'Sales', 'Expenses'],
            [2004, 1000, 400],
            [2005, 1170, 460],
            [2006, 660, 1120],
            [2007, 1030, 540]
        ]
    from graphos.sources.simple import SimpleDataSource
    from graphos.renderers.gchart import LineChart
    chart = LineChart(SimpleDataSource(data=data))

Template
^^^^^^^^

::

    &lt;script type="text/javascript" src="https://www.google.com/jsapi"&gt;&lt;/script&gt;
    &lt;script type="text/javascript"&gt;
        google.load("visualization", "1", {packages:["corechart"]});
    &lt;/script&gt;

    {{ chart.as_html }}

Using SimpleDataSource with yui LineChart
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View
^^^^

::

    data =  [
            ['Year', 'Sales', 'Expenses'],
            [2004, 1000, 400],
            [2005, 1170, 460],
            [2006, 660, 1120],
            [2007, 1030, 540]
        ]
    from graphos.sources.simple import SimpleDataSource
    from graphos.renderers.yui import LineChart
    chart = LineChart(SimpleDataSource(data=data))

Template
^^^^^^^^

::

    &lt;script src="http://yui.yahooapis.com/3.10.0/build/yui/yui-min.js"&gt;&lt;/script&gt;
    {{ chart.as_html }}

Using SimpleDataSource with yui BarChart
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View
^^^^

::

    data =  [
            ['Year', 'Sales', 'Expenses'],
            [2004, 1000, 400],
            [2005, 1170, 460],
            [2006, 660, 1120],
            [2007, 1030, 540]
        ]
    from graphos.sources.simple import SimpleDataSource
    from graphos.renderers.yui import BarChart
    chart = BarChart(SimpleDataSource(data=data))

Template
^^^^^^^^

::

    &lt;script src="http://yui.yahooapis.com/3.10.0/build/yui/yui-min.js"&gt;&lt;/script&gt;
    {{ chart.as_html }}

Using SimpleDataSource with gchart BarChart
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View
^^^^

::

    data =  [
            ['Year', 'Sales', 'Expenses'],
            [2004, 1000, 400],
            [2005, 1170, 460],
            [2006, 660, 1120],
            [2007, 1030, 540]
        ]
    from graphos.sources.simple import SimpleDataSource
    from graphos.renderers.gchart import BarChart
    chart = BarChart(SimpleDataSource(data=data))

Template
^^^^^^^^

::

    &lt;script type="text/javascript" src="https://www.google.com/jsapi"&gt;&lt;/script&gt;
    &lt;script type="text/javascript"&gt;
        google.load("visualization", "1", {packages:["corechart"]});
    &lt;/script&gt;
    {{ chart.as_html }}

Options
-------

Your rendered chart is contained in a div.

Setting id of chart containing div
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

You might want to do additional jquery or javascript operations with
your chart containing div. In such case you might want to set an id on
the div. You can do this while instantiating the chart element.

::

    chart = gchart.LineChart(html_id='gchart_div')

Setting width and height of chart containing div
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

You can control the width and height of chart containing div while
instantiating the chart element.

::

    chart = gchart.LineChart(simple_data_source, height=100, width=100)

Chart specific options
~~~~~~~~~~~~~~~~~~~~~~

Different chart providers give different options to customise the chart.

Google chart api allows setting title for the rendered chart, see
`Gchart
documentation &lt;https://developers.google.com/chart/interactive/docs/quick_start&gt;`__,
using ``title`` attribute. You can accomplish this by adding a keyword
argument called ``options`` while instantiating the chart element.

::

    chart = gchart.LineChart(simple_data_source, height=100, width=100, options={'title': 'Sales growth'})

Google pie chart allows making the chart as 3 dimensional. You can
accomplish this by using keyword argument ``options``.

::

    pie_chart = gchart.PieChart(simple_data_source, options={'is3D': True})

Morris.js allows options like lineWidth, smooth etc. You can find more
`here &lt;http://morrisjs.github.io/morris.js/lines.html#lines&gt;`__. You can
accomplish this by using ``options``.

::

    chart = morris.LineChart(simple_data_source, options={'lineWidth': 50, 'smooth': False})

Installation
------------

pip install django-graphos

Compatibility
-------------

Graphos is compatible with Python 2.7 and Python 3.3+

`available on pypi &lt;https://pypi.python.org/pypi/django-graphos/&gt;`__

Handling non serializable fields
--------------------------------

You need to override get\_data() of existing DataSource and convert
datetime field into something which could be serialized.

Assuming you are using a Python list as data, then you need to do:

::

    from graphos.sources.simple import SimpleDataSource
    class MySimpleDataSource(SimpleDataSource):
        def get_data(self):
            data = super(MySimpleDataSource, self).get_data()
            header = data[0]
            data_without_header = data[1:]
            for row in data_without_header:
                
                row[0] = row[0].year
            data_without_header.insert(0, header)
            return data_without_header

And data has

::

    d1 = datetime(2015, 7, 8, 1, 1)
    d2 = datetime(2016, 7, 8, 3, 1)

    data1 = [
             ['Year', 'Sales', 'Expenses', 'Items Sold', 'Net Profit'],
             [d1, 1000, 400, 100, 600],
             [d2, 1170, 460, 120, 310],
     ]

    chart = flot.LineChart(MySimpleDataSource(data=data1))

If you are planning to use queryset with ModelDataSource, then you would
create following class

::

    from graphos.sources.model import ModelDataSource
    class MyModelDataSource(ModelDataSource):
        def get_data(self):
            data = super(MyModelDataSource, self).get_data()
            header = data[0]
            data_without_header = data[1:]
            for row in data_without_header:
                
                row[1] = row[1].year
            data_without_header.insert(0, header)
            return data_without_header

And you would use this class like:

::

    queryset = Account.objects.all()
    chart = flot.LineChart(MyModelDataSource(queryset=queryset, fields=['sales', 'datetime_field','expenses']))

Creating new DataSource
-----------------------

A DataSource is a class which has these three methods.

::

    get_data
    get_header
    get_first_column

``get_header`` is used by a ``Renderer`` to create the labels.
``get_first_column`` is used to set the x axis labels ``get_data`` is
used to get the data for display. It should always return a nested list.
Eg:

::

    [
        ['Year', 'Sales', 'Expenses'],
        [2004, 1000, 400],
        [2005, 1170, 460],
        [2006, 660, 1120],
        [2007, 1030, 540]
    ]

If you create a class extending ``SimpleDataSource``, and implement
``get_data``. You get ``get_header`` and ``get_first_column`` for free.

Creating new Renderer
---------------------

A renderer is a class which takes a ``DataSource`` and can convert it to
the html to display.

The only required method on a ``Renderer`` is ``as_html``. This will
convert the data to a format which can display the chart.

Generally you will convert the data to json and pass it to the template
which you return.

License
-------

BSD

.. |Build Status| image:: https://travis-ci.org/agiliq/django-graphos.png
   :target: https://travis-ci.org/agiliq/django-graphos</description>
  <packager></packager>
  <url>http://github.com/agiliq/django-graphos</url>
  <time file="1474563194" build="1474563189"/>
  <size package="96886" installed="925945" archive="947212"/>
  <location href="noarch/python-django-graphos-0.3.2-1.1.noarch.rpm"/>
  <format>
    <rpm:license>as is</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Python</rpm:group>
    <rpm:buildhost>build79</rpm:buildhost>
    <rpm:sourcerpm>python-django-graphos-0.3.2-1.1.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4552" end="34220"/>
    <rpm:provides>
      <rpm:entry name="python-django-graphos" flags="EQ" epoch="0" ver="0.3.2" rel="1.1"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="python(abi)" flags="EQ" epoch="0" ver="2.7"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>python-django-graphos</name>
  <arch>src</arch>
  <version epoch="0" ver="0.3.2" rel="1.1"/>
  <checksum type="sha512" pkgid="YES">8d012f3cc6efb0e4ba6fa4ff639ea6d241dca36013715c715d1caa13e38bd09f85111787fa6087a5b4dc4175b547c83e360cb7db5babf79b9640f02c39b2b2c4</checksum>
  <summary>Django app to provide a JS agnostic way to work with charts</summary>
  <description>Graphos
=======

|Build Status|

Graphos is a Django app to normalize data to create beautiful charts. It
provides a JS agnostic way to work with charts and allows seamless and
quick switching between different chart providers.

-  Demo: http://agiliq.com/demo/graphos/.
-  Docs: http://agiliq.com/docs/django-graphos/.

Supported Backends:
-------------------

-  Python Nested lists
-  Django ORM
-  CSV Files
-  MongoDB

Charting API Supported
----------------------

-  `Flot &lt;http://flotcharts.org&gt;`__
-  `Google Charts API &lt;https://developers.google.com/chart/&gt;`__
-  `YUI Charts &lt;http://yuilibrary.com/yui/docs/charts/&gt;`__
-  `Morris.js &lt;http://morrisjs.github.io/morris.js/&gt;`__
-  `Highcharts &lt;http://www.highcharts.com/&gt;`__
-  `Matplotlib &lt;http://matplotlib.org/api/pyplot_api.html&gt;`__

Chart types supported
---------------------

Flot
~~~~

-  Line chart
-  Bar Chart
-  Column chart
-  Pie chart
-  Point Chart

Google Charts
~~~~~~~~~~~~~

-  Line chart
-  Bar chart
-  Column chart
-  Pie chart
-  Area chart
-  Candlestick chart
-  Treemap chart
-  Gauge chart

YUI
~~~

-  Line chart
-  Bar chart
-  Column chart
-  Pie chart
-  Area chart
-  Spline chart
-  Areaspline chart

Morris.js
~~~~~~~~~

-  Line chart
-  Bar chart
-  Donut chart
-  Area chart

Highcharts
~~~~~~~~~~

(You will need to buy a license if you use highcharts for commerical
use)

-  Line Chart
-  Bar Chart
-  Column Chart
-  Pie Chart
-  Area Chart

C3.js
~~~~~

-  Line chart
-  Column chart (You need to rotate the axis of bar chart to render
   column chart)
-  Bar chart
-  Donut chart
-  Pie chart
-  Spline chart

Matplotlib
~~~~~~~~~~

-  LineChart
-  BarChart

With Graphos, switching from google's LineChart to yui LineChart can be
done within minutes. So would be the case in switching from yui
AreaChart to morris AreaChart.

Running demo project locally
----------------------------

-  Clone the project

   git clone https://github.com/agiliq/django-graphos.git

-  Cd to demo directory

   cd django-graphos/demo\_project/

-  Create local settings.

   cp demo\_project/settings/local.py-dist
   demo\_project/settings/local.py

-  Install requirements

   pip install -r requirements.txt

-  Run migrate

   python manage.py migrate

-  Run server

   python manage.py runserver

The installed demo app shows the various suported chart types.

In case you want to use mongo data while charting, you must have mongodb
properly setup and **pymongo** installed. Make sure mongo server is
running.

::

    mongod --dbpath ~/data/db

Mongo setup is optional and is not needed to get running with demo
project.

Overview of Plot generation
---------------------------

Generating a plot requires two things. A DataSource object and a Chart
object.

In your view, you do something like this:

::

    from graphos.sources.simple import SimpleDataSource
    from graphos.renderers.gchart import LineChart

    data =  [
            ['Year', 'Sales', 'Expenses'],
            [2004, 1000, 400],
            [2005, 1170, 460],
            [2006, 660, 1120],
            [2007, 1030, 540]
        ]
    
    data_source = SimpleDataSource(data=data)
    
    chart = LineChart(data_source)
    context = {'chart': chart}
    return render(request, 'yourtemplate.html', context)

And then in the template:

::

    {{ chart.as_html }}

In this example we are planning to use Google chart, as is evident from
the import statement in the view, we import gchart.LineChart. So we must
also include the google chart javascript in our template.

::

    &lt;script type="text/javascript" src="https://www.google.com/jsapi"&gt;&lt;/script&gt;
    &lt;script type="text/javascript"&gt;
        google.load("visualization", "1", {packages:["corechart"]});
    &lt;/script&gt;

So the template would look like

::

    &lt;script type="text/javascript" src="https://www.google.com/jsapi"&gt;&lt;/script&gt;
    &lt;script type="text/javascript"&gt;
        google.load("visualization", "1", {packages:["corechart"]});
    &lt;/script&gt;

    {{ chart.as_html }}

If we want to use yui LineChart instead of google LineChart, our view
would have:

::

    from graphos.renderers.yui import LineChart
    chart = LineChart(data_source)

And our template would inclue yui javascript and it would look like:

::

    &lt;script src="http://yui.yahooapis.com/3.10.0/build/yui/yui-min.js"&gt;&lt;/script&gt;
    {{ chart.as_html }}

See, how easy it was to switch from gchart to yui. You did not have to
write or change a single line of javascript to switch from gchart to
yui. All that was taken care of by as\_html() of the chart object.

DataSources
-----------

SimpleDataSource
~~~~~~~~~~~~~~~~

This should be used if you want to generate a chart from Python list.

::

    from graphos.sources.simple import SimpleDataSource
    data = SimpleDataSource(data=data)

Data could be:

::

    data = [
           ['Year', 'Sales', 'Expenses', 'Items Sold', 'Net Profit'],
           ['2004', 1000, 400, 100, 600],
           ['2005', 1170, 460, 120, 710],
           ['2006', 660, 1120, 50, -460],
           ['2007', 1030, 540, 100, 490],
           ]

or it could be

::

    data = [
           ['Year', 'Sales', 'Expenses'],
           ['2004', 1000, 400],
           ['2005', 1170, 460],
           ['2006', 660, 1120],
           ['2007', 1030, 540],
           ]

or it could be

::

    data = [
           ['Year', 'Sales', 'Expenses'],
           ['2004', 1000, 400],
           ['2005', 1170, 460],
           ]

You got the idea.

data has to be a list of lists. First row of data tells the headers.
First element of each list elementis the x axis.

This data essentially tells that in year 2004, sales was 1000 units and
expense was 400 units. And in year 2005, sales was 1170 units and
expense was 460 units.

ModelDataSource
~~~~~~~~~~~~~~~

This should be used if you want to generate a chart from a Django
queryset.

::

    from graphos.sources.models import ModelDataSource
    queryset = Account.objects.all()
    data_source = ModelDataSource(queryset,
                                  fields=['year', 'sales'])

This assumes that there is a Django model called Account which has
fields ``year`` and ``sales``. And you plan to plot year on x axis and
sales on y axis.

Or you could say

::

    data_source = ModelDataSource(queryset,
                                  fields=['year', 'sales', 'expenses'])

This would plot the yearly sale and yearly expense

CSVDataSource
~~~~~~~~~~~~~

This should be used if you want to generate a chart from a CSV file.

::

    from graphos.sources.csv_file import CSVDataSource
    csv_file = open("hello.csv")
    data_source = CSVDataSource(csv_file)

MongoDataSource
~~~~~~~~~~~~~~~

TODO

Charts
------

We have following charts

-  Gchart

   -  gchart.LineChart
   -  gchart.BarChart
   -  gchart.ColumnChart
   -  gchart.PieChart
   -  gchart.AreaChart
   -  gchart.TreeMapChart
   -  gchart.CandlestickChart
   -  gchart.GaugeChart

-  Yui

   -  yui.LineChart
   -  yui.BarChart
   -  yui.ColumnChart
   -  yui.PieChart
   -  yui.AreaChart
   -  yui.SplineChart
   -  yui.AreaSplineChart

-  Flot

   -  flot.LineChart
   -  flot.BarChart
   -  flot.ColumnChart
   -  flot.PieChart
   -  flot.PointChart

-  Morris

   -  morris.LineChart
   -  morris.BarChart
   -  morris.AreaChart
   -  morris.DonutChart

-  Highcharts

   -  highcharts.LineChart
   -  highcharts.BarChart
   -  highcharts.ColumnChart
   -  highcharts.PieChart
   -  highcharts.AreaChart

Most of the chart providers support LineChart, BarChart, ColumnChart and
PieChart, and it is very easy to switch from specific chart type of one
provider to other. eg: It is super quick to switch from gchart LineChart
to flot LineChart.

More Examples
-------------

Using SimpleDataSource with gchart LineChart
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View
^^^^

::

    data =  [
            ['Year', 'Sales', 'Expenses'],
            [2004, 1000, 400],
            [2005, 1170, 460],
            [2006, 660, 1120],
            [2007, 1030, 540]
        ]
    from graphos.sources.simple import SimpleDataSource
    from graphos.renderers.gchart import LineChart
    chart = LineChart(SimpleDataSource(data=data))

Template
^^^^^^^^

::

    &lt;script type="text/javascript" src="https://www.google.com/jsapi"&gt;&lt;/script&gt;
    &lt;script type="text/javascript"&gt;
        google.load("visualization", "1", {packages:["corechart"]});
    &lt;/script&gt;

    {{ chart.as_html }}

Using SimpleDataSource with yui LineChart
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View
^^^^

::

    data =  [
            ['Year', 'Sales', 'Expenses'],
            [2004, 1000, 400],
            [2005, 1170, 460],
            [2006, 660, 1120],
            [2007, 1030, 540]
        ]
    from graphos.sources.simple import SimpleDataSource
    from graphos.renderers.yui import LineChart
    chart = LineChart(SimpleDataSource(data=data))

Template
^^^^^^^^

::

    &lt;script src="http://yui.yahooapis.com/3.10.0/build/yui/yui-min.js"&gt;&lt;/script&gt;
    {{ chart.as_html }}

Using SimpleDataSource with yui BarChart
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View
^^^^

::

    data =  [
            ['Year', 'Sales', 'Expenses'],
            [2004, 1000, 400],
            [2005, 1170, 460],
            [2006, 660, 1120],
            [2007, 1030, 540]
        ]
    from graphos.sources.simple import SimpleDataSource
    from graphos.renderers.yui import BarChart
    chart = BarChart(SimpleDataSource(data=data))

Template
^^^^^^^^

::

    &lt;script src="http://yui.yahooapis.com/3.10.0/build/yui/yui-min.js"&gt;&lt;/script&gt;
    {{ chart.as_html }}

Using SimpleDataSource with gchart BarChart
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View
^^^^

::

    data =  [
            ['Year', 'Sales', 'Expenses'],
            [2004, 1000, 400],
            [2005, 1170, 460],
            [2006, 660, 1120],
            [2007, 1030, 540]
        ]
    from graphos.sources.simple import SimpleDataSource
    from graphos.renderers.gchart import BarChart
    chart = BarChart(SimpleDataSource(data=data))

Template
^^^^^^^^

::

    &lt;script type="text/javascript" src="https://www.google.com/jsapi"&gt;&lt;/script&gt;
    &lt;script type="text/javascript"&gt;
        google.load("visualization", "1", {packages:["corechart"]});
    &lt;/script&gt;
    {{ chart.as_html }}

Options
-------

Your rendered chart is contained in a div.

Setting id of chart containing div
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

You might want to do additional jquery or javascript operations with
your chart containing div. In such case you might want to set an id on
the div. You can do this while instantiating the chart element.

::

    chart = gchart.LineChart(html_id='gchart_div')

Setting width and height of chart containing div
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

You can control the width and height of chart containing div while
instantiating the chart element.

::

    chart = gchart.LineChart(simple_data_source, height=100, width=100)

Chart specific options
~~~~~~~~~~~~~~~~~~~~~~

Different chart providers give different options to customise the chart.

Google chart api allows setting title for the rendered chart, see
`Gchart
documentation &lt;https://developers.google.com/chart/interactive/docs/quick_start&gt;`__,
using ``title`` attribute. You can accomplish this by adding a keyword
argument called ``options`` while instantiating the chart element.

::

    chart = gchart.LineChart(simple_data_source, height=100, width=100, options={'title': 'Sales growth'})

Google pie chart allows making the chart as 3 dimensional. You can
accomplish this by using keyword argument ``options``.

::

    pie_chart = gchart.PieChart(simple_data_source, options={'is3D': True})

Morris.js allows options like lineWidth, smooth etc. You can find more
`here &lt;http://morrisjs.github.io/morris.js/lines.html#lines&gt;`__. You can
accomplish this by using ``options``.

::

    chart = morris.LineChart(simple_data_source, options={'lineWidth': 50, 'smooth': False})

Installation
------------

pip install django-graphos

Compatibility
-------------

Graphos is compatible with Python 2.7 and Python 3.3+

`available on pypi &lt;https://pypi.python.org/pypi/django-graphos/&gt;`__

Handling non serializable fields
--------------------------------

You need to override get\_data() of existing DataSource and convert
datetime field into something which could be serialized.

Assuming you are using a Python list as data, then you need to do:

::

    from graphos.sources.simple import SimpleDataSource
    class MySimpleDataSource(SimpleDataSource):
        def get_data(self):
            data = super(MySimpleDataSource, self).get_data()
            header = data[0]
            data_without_header = data[1:]
            for row in data_without_header:
                
                row[0] = row[0].year
            data_without_header.insert(0, header)
            return data_without_header

And data has

::

    d1 = datetime(2015, 7, 8, 1, 1)
    d2 = datetime(2016, 7, 8, 3, 1)

    data1 = [
             ['Year', 'Sales', 'Expenses', 'Items Sold', 'Net Profit'],
             [d1, 1000, 400, 100, 600],
             [d2, 1170, 460, 120, 310],
     ]

    chart = flot.LineChart(MySimpleDataSource(data=data1))

If you are planning to use queryset with ModelDataSource, then you would
create following class

::

    from graphos.sources.model import ModelDataSource
    class MyModelDataSource(ModelDataSource):
        def get_data(self):
            data = super(MyModelDataSource, self).get_data()
            header = data[0]
            data_without_header = data[1:]
            for row in data_without_header:
                
                row[1] = row[1].year
            data_without_header.insert(0, header)
            return data_without_header

And you would use this class like:

::

    queryset = Account.objects.all()
    chart = flot.LineChart(MyModelDataSource(queryset=queryset, fields=['sales', 'datetime_field','expenses']))

Creating new DataSource
-----------------------

A DataSource is a class which has these three methods.

::

    get_data
    get_header
    get_first_column

``get_header`` is used by a ``Renderer`` to create the labels.
``get_first_column`` is used to set the x axis labels ``get_data`` is
used to get the data for display. It should always return a nested list.
Eg:

::

    [
        ['Year', 'Sales', 'Expenses'],
        [2004, 1000, 400],
        [2005, 1170, 460],
        [2006, 660, 1120],
        [2007, 1030, 540]
    ]

If you create a class extending ``SimpleDataSource``, and implement
``get_data``. You get ``get_header`` and ``get_first_column`` for free.

Creating new Renderer
---------------------

A renderer is a class which takes a ``DataSource`` and can convert it to
the html to display.

The only required method on a ``Renderer`` is ``as_html``. This will
convert the data to a format which can display the chart.

Generally you will convert the data to json and pass it to the template
which you return.

License
-------

BSD

.. |Build Status| image:: https://travis-ci.org/agiliq/django-graphos.png
   :target: https://travis-ci.org/agiliq/django-graphos</description>
  <packager></packager>
  <url>http://github.com/agiliq/django-graphos</url>
  <time file="1474563194" build="1474563189"/>
  <size package="94695" installed="85433" archive="85840"/>
  <location href="src/python-django-graphos-0.3.2-1.1.src.rpm"/>
  <format>
    <rpm:license>as is</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Python</rpm:group>
    <rpm:buildhost>build79</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4552" end="21209"/>
    <rpm:requires>
      <rpm:entry name="python-Django"/>
      <rpm:entry name="python-devel"/>
      <rpm:entry name="python-setuptools"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>python-django-graphos</name>
  <arch>noarch</arch>
  <version epoch="0" ver="0.3.2" rel="1.5"/>
  <checksum type="sha512" pkgid="YES">fd93999b32a0c39d605a592fbb06cbcc3a148e3e8f29096ff9420da74c344850453ff9fe537c2c2faa92a743a269d0c2f745f3f754e91aa94a15476ca0f34359</checksum>
  <summary>Django app to provide a JS agnostic way to work with charts</summary>
  <description>Graphos
=======

|Build Status|

Graphos is a Django app to normalize data to create beautiful charts. It
provides a JS agnostic way to work with charts and allows seamless and
quick switching between different chart providers.

-  Demo: http://agiliq.com/demo/graphos/.
-  Docs: http://agiliq.com/docs/django-graphos/.

Supported Backends:
-------------------

-  Python Nested lists
-  Django ORM
-  CSV Files
-  MongoDB

Charting API Supported
----------------------

-  `Flot &lt;http://flotcharts.org&gt;`__
-  `Google Charts API &lt;https://developers.google.com/chart/&gt;`__
-  `YUI Charts &lt;http://yuilibrary.com/yui/docs/charts/&gt;`__
-  `Morris.js &lt;http://morrisjs.github.io/morris.js/&gt;`__
-  `Highcharts &lt;http://www.highcharts.com/&gt;`__
-  `Matplotlib &lt;http://matplotlib.org/api/pyplot_api.html&gt;`__

Chart types supported
---------------------

Flot
~~~~

-  Line chart
-  Bar Chart
-  Column chart
-  Pie chart
-  Point Chart

Google Charts
~~~~~~~~~~~~~

-  Line chart
-  Bar chart
-  Column chart
-  Pie chart
-  Area chart
-  Candlestick chart
-  Treemap chart
-  Gauge chart

YUI
~~~

-  Line chart
-  Bar chart
-  Column chart
-  Pie chart
-  Area chart
-  Spline chart
-  Areaspline chart

Morris.js
~~~~~~~~~

-  Line chart
-  Bar chart
-  Donut chart
-  Area chart

Highcharts
~~~~~~~~~~

(You will need to buy a license if you use highcharts for commerical
use)

-  Line Chart
-  Bar Chart
-  Column Chart
-  Pie Chart
-  Area Chart

C3.js
~~~~~

-  Line chart
-  Column chart (You need to rotate the axis of bar chart to render
   column chart)
-  Bar chart
-  Donut chart
-  Pie chart
-  Spline chart

Matplotlib
~~~~~~~~~~

-  LineChart
-  BarChart

With Graphos, switching from google's LineChart to yui LineChart can be
done within minutes. So would be the case in switching from yui
AreaChart to morris AreaChart.

Running demo project locally
----------------------------

-  Clone the project

   git clone https://github.com/agiliq/django-graphos.git

-  Cd to demo directory

   cd django-graphos/demo\_project/

-  Create local settings.

   cp demo\_project/settings/local.py-dist
   demo\_project/settings/local.py

-  Install requirements

   pip install -r requirements.txt

-  Run migrate

   python manage.py migrate

-  Run server

   python manage.py runserver

The installed demo app shows the various suported chart types.

In case you want to use mongo data while charting, you must have mongodb
properly setup and **pymongo** installed. Make sure mongo server is
running.

::

    mongod --dbpath ~/data/db

Mongo setup is optional and is not needed to get running with demo
project.

Overview of Plot generation
---------------------------

Generating a plot requires two things. A DataSource object and a Chart
object.

In your view, you do something like this:

::

    from graphos.sources.simple import SimpleDataSource
    from graphos.renderers.gchart import LineChart

    data =  [
            ['Year', 'Sales', 'Expenses'],
            [2004, 1000, 400],
            [2005, 1170, 460],
            [2006, 660, 1120],
            [2007, 1030, 540]
        ]
    
    data_source = SimpleDataSource(data=data)
    
    chart = LineChart(data_source)
    context = {'chart': chart}
    return render(request, 'yourtemplate.html', context)

And then in the template:

::

    {{ chart.as_html }}

In this example we are planning to use Google chart, as is evident from
the import statement in the view, we import gchart.LineChart. So we must
also include the google chart javascript in our template.

::

    &lt;script type="text/javascript" src="https://www.google.com/jsapi"&gt;&lt;/script&gt;
    &lt;script type="text/javascript"&gt;
        google.load("visualization", "1", {packages:["corechart"]});
    &lt;/script&gt;

So the template would look like

::

    &lt;script type="text/javascript" src="https://www.google.com/jsapi"&gt;&lt;/script&gt;
    &lt;script type="text/javascript"&gt;
        google.load("visualization", "1", {packages:["corechart"]});
    &lt;/script&gt;

    {{ chart.as_html }}

If we want to use yui LineChart instead of google LineChart, our view
would have:

::

    from graphos.renderers.yui import LineChart
    chart = LineChart(data_source)

And our template would inclue yui javascript and it would look like:

::

    &lt;script src="http://yui.yahooapis.com/3.10.0/build/yui/yui-min.js"&gt;&lt;/script&gt;
    {{ chart.as_html }}

See, how easy it was to switch from gchart to yui. You did not have to
write or change a single line of javascript to switch from gchart to
yui. All that was taken care of by as\_html() of the chart object.

DataSources
-----------

SimpleDataSource
~~~~~~~~~~~~~~~~

This should be used if you want to generate a chart from Python list.

::

    from graphos.sources.simple import SimpleDataSource
    data = SimpleDataSource(data=data)

Data could be:

::

    data = [
           ['Year', 'Sales', 'Expenses', 'Items Sold', 'Net Profit'],
           ['2004', 1000, 400, 100, 600],
           ['2005', 1170, 460, 120, 710],
           ['2006', 660, 1120, 50, -460],
           ['2007', 1030, 540, 100, 490],
           ]

or it could be

::

    data = [
           ['Year', 'Sales', 'Expenses'],
           ['2004', 1000, 400],
           ['2005', 1170, 460],
           ['2006', 660, 1120],
           ['2007', 1030, 540],
           ]

or it could be

::

    data = [
           ['Year', 'Sales', 'Expenses'],
           ['2004', 1000, 400],
           ['2005', 1170, 460],
           ]

You got the idea.

data has to be a list of lists. First row of data tells the headers.
First element of each list elementis the x axis.

This data essentially tells that in year 2004, sales was 1000 units and
expense was 400 units. And in year 2005, sales was 1170 units and
expense was 460 units.

ModelDataSource
~~~~~~~~~~~~~~~

This should be used if you want to generate a chart from a Django
queryset.

::

    from graphos.sources.models import ModelDataSource
    queryset = Account.objects.all()
    data_source = ModelDataSource(queryset,
                                  fields=['year', 'sales'])

This assumes that there is a Django model called Account which has
fields ``year`` and ``sales``. And you plan to plot year on x axis and
sales on y axis.

Or you could say

::

    data_source = ModelDataSource(queryset,
                                  fields=['year', 'sales', 'expenses'])

This would plot the yearly sale and yearly expense

CSVDataSource
~~~~~~~~~~~~~

This should be used if you want to generate a chart from a CSV file.

::

    from graphos.sources.csv_file import CSVDataSource
    csv_file = open("hello.csv")
    data_source = CSVDataSource(csv_file)

MongoDataSource
~~~~~~~~~~~~~~~

TODO

Charts
------

We have following charts

-  Gchart

   -  gchart.LineChart
   -  gchart.BarChart
   -  gchart.ColumnChart
   -  gchart.PieChart
   -  gchart.AreaChart
   -  gchart.TreeMapChart
   -  gchart.CandlestickChart
   -  gchart.GaugeChart

-  Yui

   -  yui.LineChart
   -  yui.BarChart
   -  yui.ColumnChart
   -  yui.PieChart
   -  yui.AreaChart
   -  yui.SplineChart
   -  yui.AreaSplineChart

-  Flot

   -  flot.LineChart
   -  flot.BarChart
   -  flot.ColumnChart
   -  flot.PieChart
   -  flot.PointChart

-  Morris

   -  morris.LineChart
   -  morris.BarChart
   -  morris.AreaChart
   -  morris.DonutChart

-  Highcharts

   -  highcharts.LineChart
   -  highcharts.BarChart
   -  highcharts.ColumnChart
   -  highcharts.PieChart
   -  highcharts.AreaChart

Most of the chart providers support LineChart, BarChart, ColumnChart and
PieChart, and it is very easy to switch from specific chart type of one
provider to other. eg: It is super quick to switch from gchart LineChart
to flot LineChart.

More Examples
-------------

Using SimpleDataSource with gchart LineChart
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View
^^^^

::

    data =  [
            ['Year', 'Sales', 'Expenses'],
            [2004, 1000, 400],
            [2005, 1170, 460],
            [2006, 660, 1120],
            [2007, 1030, 540]
        ]
    from graphos.sources.simple import SimpleDataSource
    from graphos.renderers.gchart import LineChart
    chart = LineChart(SimpleDataSource(data=data))

Template
^^^^^^^^

::

    &lt;script type="text/javascript" src="https://www.google.com/jsapi"&gt;&lt;/script&gt;
    &lt;script type="text/javascript"&gt;
        google.load("visualization", "1", {packages:["corechart"]});
    &lt;/script&gt;

    {{ chart.as_html }}

Using SimpleDataSource with yui LineChart
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View
^^^^

::

    data =  [
            ['Year', 'Sales', 'Expenses'],
            [2004, 1000, 400],
            [2005, 1170, 460],
            [2006, 660, 1120],
            [2007, 1030, 540]
        ]
    from graphos.sources.simple import SimpleDataSource
    from graphos.renderers.yui import LineChart
    chart = LineChart(SimpleDataSource(data=data))

Template
^^^^^^^^

::

    &lt;script src="http://yui.yahooapis.com/3.10.0/build/yui/yui-min.js"&gt;&lt;/script&gt;
    {{ chart.as_html }}

Using SimpleDataSource with yui BarChart
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View
^^^^

::

    data =  [
            ['Year', 'Sales', 'Expenses'],
            [2004, 1000, 400],
            [2005, 1170, 460],
            [2006, 660, 1120],
            [2007, 1030, 540]
        ]
    from graphos.sources.simple import SimpleDataSource
    from graphos.renderers.yui import BarChart
    chart = BarChart(SimpleDataSource(data=data))

Template
^^^^^^^^

::

    &lt;script src="http://yui.yahooapis.com/3.10.0/build/yui/yui-min.js"&gt;&lt;/script&gt;
    {{ chart.as_html }}

Using SimpleDataSource with gchart BarChart
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View
^^^^

::

    data =  [
            ['Year', 'Sales', 'Expenses'],
            [2004, 1000, 400],
            [2005, 1170, 460],
            [2006, 660, 1120],
            [2007, 1030, 540]
        ]
    from graphos.sources.simple import SimpleDataSource
    from graphos.renderers.gchart import BarChart
    chart = BarChart(SimpleDataSource(data=data))

Template
^^^^^^^^

::

    &lt;script type="text/javascript" src="https://www.google.com/jsapi"&gt;&lt;/script&gt;
    &lt;script type="text/javascript"&gt;
        google.load("visualization", "1", {packages:["corechart"]});
    &lt;/script&gt;
    {{ chart.as_html }}

Options
-------

Your rendered chart is contained in a div.

Setting id of chart containing div
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

You might want to do additional jquery or javascript operations with
your chart containing div. In such case you might want to set an id on
the div. You can do this while instantiating the chart element.

::

    chart = gchart.LineChart(html_id='gchart_div')

Setting width and height of chart containing div
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

You can control the width and height of chart containing div while
instantiating the chart element.

::

    chart = gchart.LineChart(simple_data_source, height=100, width=100)

Chart specific options
~~~~~~~~~~~~~~~~~~~~~~

Different chart providers give different options to customise the chart.

Google chart api allows setting title for the rendered chart, see
`Gchart
documentation &lt;https://developers.google.com/chart/interactive/docs/quick_start&gt;`__,
using ``title`` attribute. You can accomplish this by adding a keyword
argument called ``options`` while instantiating the chart element.

::

    chart = gchart.LineChart(simple_data_source, height=100, width=100, options={'title': 'Sales growth'})

Google pie chart allows making the chart as 3 dimensional. You can
accomplish this by using keyword argument ``options``.

::

    pie_chart = gchart.PieChart(simple_data_source, options={'is3D': True})

Morris.js allows options like lineWidth, smooth etc. You can find more
`here &lt;http://morrisjs.github.io/morris.js/lines.html#lines&gt;`__. You can
accomplish this by using ``options``.

::

    chart = morris.LineChart(simple_data_source, options={'lineWidth': 50, 'smooth': False})

Installation
------------

pip install django-graphos

Compatibility
-------------

Graphos is compatible with Python 2.7 and Python 3.3+

`available on pypi &lt;https://pypi.python.org/pypi/django-graphos/&gt;`__

Handling non serializable fields
--------------------------------

You need to override get\_data() of existing DataSource and convert
datetime field into something which could be serialized.

Assuming you are using a Python list as data, then you need to do:

::

    from graphos.sources.simple import SimpleDataSource
    class MySimpleDataSource(SimpleDataSource):
        def get_data(self):
            data = super(MySimpleDataSource, self).get_data()
            header = data[0]
            data_without_header = data[1:]
            for row in data_without_header:
                
                row[0] = row[0].year
            data_without_header.insert(0, header)
            return data_without_header

And data has

::

    d1 = datetime(2015, 7, 8, 1, 1)
    d2 = datetime(2016, 7, 8, 3, 1)

    data1 = [
             ['Year', 'Sales', 'Expenses', 'Items Sold', 'Net Profit'],
             [d1, 1000, 400, 100, 600],
             [d2, 1170, 460, 120, 310],
     ]

    chart = flot.LineChart(MySimpleDataSource(data=data1))

If you are planning to use queryset with ModelDataSource, then you would
create following class

::

    from graphos.sources.model import ModelDataSource
    class MyModelDataSource(ModelDataSource):
        def get_data(self):
            data = super(MyModelDataSource, self).get_data()
            header = data[0]
            data_without_header = data[1:]
            for row in data_without_header:
                
                row[1] = row[1].year
            data_without_header.insert(0, header)
            return data_without_header

And you would use this class like:

::

    queryset = Account.objects.all()
    chart = flot.LineChart(MyModelDataSource(queryset=queryset, fields=['sales', 'datetime_field','expenses']))

Creating new DataSource
-----------------------

A DataSource is a class which has these three methods.

::

    get_data
    get_header
    get_first_column

``get_header`` is used by a ``Renderer`` to create the labels.
``get_first_column`` is used to set the x axis labels ``get_data`` is
used to get the data for display. It should always return a nested list.
Eg:

::

    [
        ['Year', 'Sales', 'Expenses'],
        [2004, 1000, 400],
        [2005, 1170, 460],
        [2006, 660, 1120],
        [2007, 1030, 540]
    ]

If you create a class extending ``SimpleDataSource``, and implement
``get_data``. You get ``get_header`` and ``get_first_column`` for free.

Creating new Renderer
---------------------

A renderer is a class which takes a ``DataSource`` and can convert it to
the html to display.

The only required method on a ``Renderer`` is ``as_html``. This will
convert the data to a format which can display the chart.

Generally you will convert the data to json and pass it to the template
which you return.

License
-------

BSD

.. |Build Status| image:: https://travis-ci.org/agiliq/django-graphos.png
   :target: https://travis-ci.org/agiliq/django-graphos</description>
  <packager></packager>
  <url>http://github.com/agiliq/django-graphos</url>
  <time file="1488635680" build="1488635673"/>
  <size package="96948" installed="925945" archive="947212"/>
  <location href="noarch/python-django-graphos-0.3.2-1.5.noarch.rpm"/>
  <format>
    <rpm:license>as is</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Python</rpm:group>
    <rpm:buildhost>build83</rpm:buildhost>
    <rpm:sourcerpm>python-django-graphos-0.3.2-1.5.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4584" end="34254"/>
    <rpm:provides>
      <rpm:entry name="python-django-graphos" flags="EQ" epoch="0" ver="0.3.2" rel="1.5"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="python(abi)" flags="EQ" epoch="0" ver="2.7"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>python-django-graphos</name>
  <arch>src</arch>
  <version epoch="0" ver="0.3.2" rel="1.5"/>
  <checksum type="sha512" pkgid="YES">b891cadd30d5e3bca8bdc9413be4eef9119bbc765f6e8160f534185d7516f774dce74f179af6033d2faa389f086530776c84efb4224c53a3ab1d978ae6869c96</checksum>
  <summary>Django app to provide a JS agnostic way to work with charts</summary>
  <description>Graphos
=======

|Build Status|

Graphos is a Django app to normalize data to create beautiful charts. It
provides a JS agnostic way to work with charts and allows seamless and
quick switching between different chart providers.

-  Demo: http://agiliq.com/demo/graphos/.
-  Docs: http://agiliq.com/docs/django-graphos/.

Supported Backends:
-------------------

-  Python Nested lists
-  Django ORM
-  CSV Files
-  MongoDB

Charting API Supported
----------------------

-  `Flot &lt;http://flotcharts.org&gt;`__
-  `Google Charts API &lt;https://developers.google.com/chart/&gt;`__
-  `YUI Charts &lt;http://yuilibrary.com/yui/docs/charts/&gt;`__
-  `Morris.js &lt;http://morrisjs.github.io/morris.js/&gt;`__
-  `Highcharts &lt;http://www.highcharts.com/&gt;`__
-  `Matplotlib &lt;http://matplotlib.org/api/pyplot_api.html&gt;`__

Chart types supported
---------------------

Flot
~~~~

-  Line chart
-  Bar Chart
-  Column chart
-  Pie chart
-  Point Chart

Google Charts
~~~~~~~~~~~~~

-  Line chart
-  Bar chart
-  Column chart
-  Pie chart
-  Area chart
-  Candlestick chart
-  Treemap chart
-  Gauge chart

YUI
~~~

-  Line chart
-  Bar chart
-  Column chart
-  Pie chart
-  Area chart
-  Spline chart
-  Areaspline chart

Morris.js
~~~~~~~~~

-  Line chart
-  Bar chart
-  Donut chart
-  Area chart

Highcharts
~~~~~~~~~~

(You will need to buy a license if you use highcharts for commerical
use)

-  Line Chart
-  Bar Chart
-  Column Chart
-  Pie Chart
-  Area Chart

C3.js
~~~~~

-  Line chart
-  Column chart (You need to rotate the axis of bar chart to render
   column chart)
-  Bar chart
-  Donut chart
-  Pie chart
-  Spline chart

Matplotlib
~~~~~~~~~~

-  LineChart
-  BarChart

With Graphos, switching from google's LineChart to yui LineChart can be
done within minutes. So would be the case in switching from yui
AreaChart to morris AreaChart.

Running demo project locally
----------------------------

-  Clone the project

   git clone https://github.com/agiliq/django-graphos.git

-  Cd to demo directory

   cd django-graphos/demo\_project/

-  Create local settings.

   cp demo\_project/settings/local.py-dist
   demo\_project/settings/local.py

-  Install requirements

   pip install -r requirements.txt

-  Run migrate

   python manage.py migrate

-  Run server

   python manage.py runserver

The installed demo app shows the various suported chart types.

In case you want to use mongo data while charting, you must have mongodb
properly setup and **pymongo** installed. Make sure mongo server is
running.

::

    mongod --dbpath ~/data/db

Mongo setup is optional and is not needed to get running with demo
project.

Overview of Plot generation
---------------------------

Generating a plot requires two things. A DataSource object and a Chart
object.

In your view, you do something like this:

::

    from graphos.sources.simple import SimpleDataSource
    from graphos.renderers.gchart import LineChart

    data =  [
            ['Year', 'Sales', 'Expenses'],
            [2004, 1000, 400],
            [2005, 1170, 460],
            [2006, 660, 1120],
            [2007, 1030, 540]
        ]
    
    data_source = SimpleDataSource(data=data)
    
    chart = LineChart(data_source)
    context = {'chart': chart}
    return render(request, 'yourtemplate.html', context)

And then in the template:

::

    {{ chart.as_html }}

In this example we are planning to use Google chart, as is evident from
the import statement in the view, we import gchart.LineChart. So we must
also include the google chart javascript in our template.

::

    &lt;script type="text/javascript" src="https://www.google.com/jsapi"&gt;&lt;/script&gt;
    &lt;script type="text/javascript"&gt;
        google.load("visualization", "1", {packages:["corechart"]});
    &lt;/script&gt;

So the template would look like

::

    &lt;script type="text/javascript" src="https://www.google.com/jsapi"&gt;&lt;/script&gt;
    &lt;script type="text/javascript"&gt;
        google.load("visualization", "1", {packages:["corechart"]});
    &lt;/script&gt;

    {{ chart.as_html }}

If we want to use yui LineChart instead of google LineChart, our view
would have:

::

    from graphos.renderers.yui import LineChart
    chart = LineChart(data_source)

And our template would inclue yui javascript and it would look like:

::

    &lt;script src="http://yui.yahooapis.com/3.10.0/build/yui/yui-min.js"&gt;&lt;/script&gt;
    {{ chart.as_html }}

See, how easy it was to switch from gchart to yui. You did not have to
write or change a single line of javascript to switch from gchart to
yui. All that was taken care of by as\_html() of the chart object.

DataSources
-----------

SimpleDataSource
~~~~~~~~~~~~~~~~

This should be used if you want to generate a chart from Python list.

::

    from graphos.sources.simple import SimpleDataSource
    data = SimpleDataSource(data=data)

Data could be:

::

    data = [
           ['Year', 'Sales', 'Expenses', 'Items Sold', 'Net Profit'],
           ['2004', 1000, 400, 100, 600],
           ['2005', 1170, 460, 120, 710],
           ['2006', 660, 1120, 50, -460],
           ['2007', 1030, 540, 100, 490],
           ]

or it could be

::

    data = [
           ['Year', 'Sales', 'Expenses'],
           ['2004', 1000, 400],
           ['2005', 1170, 460],
           ['2006', 660, 1120],
           ['2007', 1030, 540],
           ]

or it could be

::

    data = [
           ['Year', 'Sales', 'Expenses'],
           ['2004', 1000, 400],
           ['2005', 1170, 460],
           ]

You got the idea.

data has to be a list of lists. First row of data tells the headers.
First element of each list elementis the x axis.

This data essentially tells that in year 2004, sales was 1000 units and
expense was 400 units. And in year 2005, sales was 1170 units and
expense was 460 units.

ModelDataSource
~~~~~~~~~~~~~~~

This should be used if you want to generate a chart from a Django
queryset.

::

    from graphos.sources.models import ModelDataSource
    queryset = Account.objects.all()
    data_source = ModelDataSource(queryset,
                                  fields=['year', 'sales'])

This assumes that there is a Django model called Account which has
fields ``year`` and ``sales``. And you plan to plot year on x axis and
sales on y axis.

Or you could say

::

    data_source = ModelDataSource(queryset,
                                  fields=['year', 'sales', 'expenses'])

This would plot the yearly sale and yearly expense

CSVDataSource
~~~~~~~~~~~~~

This should be used if you want to generate a chart from a CSV file.

::

    from graphos.sources.csv_file import CSVDataSource
    csv_file = open("hello.csv")
    data_source = CSVDataSource(csv_file)

MongoDataSource
~~~~~~~~~~~~~~~

TODO

Charts
------

We have following charts

-  Gchart

   -  gchart.LineChart
   -  gchart.BarChart
   -  gchart.ColumnChart
   -  gchart.PieChart
   -  gchart.AreaChart
   -  gchart.TreeMapChart
   -  gchart.CandlestickChart
   -  gchart.GaugeChart

-  Yui

   -  yui.LineChart
   -  yui.BarChart
   -  yui.ColumnChart
   -  yui.PieChart
   -  yui.AreaChart
   -  yui.SplineChart
   -  yui.AreaSplineChart

-  Flot

   -  flot.LineChart
   -  flot.BarChart
   -  flot.ColumnChart
   -  flot.PieChart
   -  flot.PointChart

-  Morris

   -  morris.LineChart
   -  morris.BarChart
   -  morris.AreaChart
   -  morris.DonutChart

-  Highcharts

   -  highcharts.LineChart
   -  highcharts.BarChart
   -  highcharts.ColumnChart
   -  highcharts.PieChart
   -  highcharts.AreaChart

Most of the chart providers support LineChart, BarChart, ColumnChart and
PieChart, and it is very easy to switch from specific chart type of one
provider to other. eg: It is super quick to switch from gchart LineChart
to flot LineChart.

More Examples
-------------

Using SimpleDataSource with gchart LineChart
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View
^^^^

::

    data =  [
            ['Year', 'Sales', 'Expenses'],
            [2004, 1000, 400],
            [2005, 1170, 460],
            [2006, 660, 1120],
            [2007, 1030, 540]
        ]
    from graphos.sources.simple import SimpleDataSource
    from graphos.renderers.gchart import LineChart
    chart = LineChart(SimpleDataSource(data=data))

Template
^^^^^^^^

::

    &lt;script type="text/javascript" src="https://www.google.com/jsapi"&gt;&lt;/script&gt;
    &lt;script type="text/javascript"&gt;
        google.load("visualization", "1", {packages:["corechart"]});
    &lt;/script&gt;

    {{ chart.as_html }}

Using SimpleDataSource with yui LineChart
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View
^^^^

::

    data =  [
            ['Year', 'Sales', 'Expenses'],
            [2004, 1000, 400],
            [2005, 1170, 460],
            [2006, 660, 1120],
            [2007, 1030, 540]
        ]
    from graphos.sources.simple import SimpleDataSource
    from graphos.renderers.yui import LineChart
    chart = LineChart(SimpleDataSource(data=data))

Template
^^^^^^^^

::

    &lt;script src="http://yui.yahooapis.com/3.10.0/build/yui/yui-min.js"&gt;&lt;/script&gt;
    {{ chart.as_html }}

Using SimpleDataSource with yui BarChart
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View
^^^^

::

    data =  [
            ['Year', 'Sales', 'Expenses'],
            [2004, 1000, 400],
            [2005, 1170, 460],
            [2006, 660, 1120],
            [2007, 1030, 540]
        ]
    from graphos.sources.simple import SimpleDataSource
    from graphos.renderers.yui import BarChart
    chart = BarChart(SimpleDataSource(data=data))

Template
^^^^^^^^

::

    &lt;script src="http://yui.yahooapis.com/3.10.0/build/yui/yui-min.js"&gt;&lt;/script&gt;
    {{ chart.as_html }}

Using SimpleDataSource with gchart BarChart
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

View
^^^^

::

    data =  [
            ['Year', 'Sales', 'Expenses'],
            [2004, 1000, 400],
            [2005, 1170, 460],
            [2006, 660, 1120],
            [2007, 1030, 540]
        ]
    from graphos.sources.simple import SimpleDataSource
    from graphos.renderers.gchart import BarChart
    chart = BarChart(SimpleDataSource(data=data))

Template
^^^^^^^^

::

    &lt;script type="text/javascript" src="https://www.google.com/jsapi"&gt;&lt;/script&gt;
    &lt;script type="text/javascript"&gt;
        google.load("visualization", "1", {packages:["corechart"]});
    &lt;/script&gt;
    {{ chart.as_html }}

Options
-------

Your rendered chart is contained in a div.

Setting id of chart containing div
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

You might want to do additional jquery or javascript operations with
your chart containing div. In such case you might want to set an id on
the div. You can do this while instantiating the chart element.

::

    chart = gchart.LineChart(html_id='gchart_div')

Setting width and height of chart containing div
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

You can control the width and height of chart containing div while
instantiating the chart element.

::

    chart = gchart.LineChart(simple_data_source, height=100, width=100)

Chart specific options
~~~~~~~~~~~~~~~~~~~~~~

Different chart providers give different options to customise the chart.

Google chart api allows setting title for the rendered chart, see
`Gchart
documentation &lt;https://developers.google.com/chart/interactive/docs/quick_start&gt;`__,
using ``title`` attribute. You can accomplish this by adding a keyword
argument called ``options`` while instantiating the chart element.

::

    chart = gchart.LineChart(simple_data_source, height=100, width=100, options={'title': 'Sales growth'})

Google pie chart allows making the chart as 3 dimensional. You can
accomplish this by using keyword argument ``options``.

::

    pie_chart = gchart.PieChart(simple_data_source, options={'is3D': True})

Morris.js allows options like lineWidth, smooth etc. You can find more
`here &lt;http://morrisjs.github.io/morris.js/lines.html#lines&gt;`__. You can
accomplish this by using ``options``.

::

    chart = morris.LineChart(simple_data_source, options={'lineWidth': 50, 'smooth': False})

Installation
------------

pip install django-graphos

Compatibility
-------------

Graphos is compatible with Python 2.7 and Python 3.3+

`available on pypi &lt;https://pypi.python.org/pypi/django-graphos/&gt;`__

Handling non serializable fields
--------------------------------

You need to override get\_data() of existing DataSource and convert
datetime field into something which could be serialized.

Assuming you are using a Python list as data, then you need to do:

::

    from graphos.sources.simple import SimpleDataSource
    class MySimpleDataSource(SimpleDataSource):
        def get_data(self):
            data = super(MySimpleDataSource, self).get_data()
            header = data[0]
            data_without_header = data[1:]
            for row in data_without_header:
                
                row[0] = row[0].year
            data_without_header.insert(0, header)
            return data_without_header

And data has

::

    d1 = datetime(2015, 7, 8, 1, 1)
    d2 = datetime(2016, 7, 8, 3, 1)

    data1 = [
             ['Year', 'Sales', 'Expenses', 'Items Sold', 'Net Profit'],
             [d1, 1000, 400, 100, 600],
             [d2, 1170, 460, 120, 310],
     ]

    chart = flot.LineChart(MySimpleDataSource(data=data1))

If you are planning to use queryset with ModelDataSource, then you would
create following class

::

    from graphos.sources.model import ModelDataSource
    class MyModelDataSource(ModelDataSource):
        def get_data(self):
            data = super(MyModelDataSource, self).get_data()
            header = data[0]
            data_without_header = data[1:]
            for row in data_without_header:
                
                row[1] = row[1].year
            data_without_header.insert(0, header)
            return data_without_header

And you would use this class like:

::

    queryset = Account.objects.all()
    chart = flot.LineChart(MyModelDataSource(queryset=queryset, fields=['sales', 'datetime_field','expenses']))

Creating new DataSource
-----------------------

A DataSource is a class which has these three methods.

::

    get_data
    get_header
    get_first_column

``get_header`` is used by a ``Renderer`` to create the labels.
``get_first_column`` is used to set the x axis labels ``get_data`` is
used to get the data for display. It should always return a nested list.
Eg:

::

    [
        ['Year', 'Sales', 'Expenses'],
        [2004, 1000, 400],
        [2005, 1170, 460],
        [2006, 660, 1120],
        [2007, 1030, 540]
    ]

If you create a class extending ``SimpleDataSource``, and implement
``get_data``. You get ``get_header`` and ``get_first_column`` for free.

Creating new Renderer
---------------------

A renderer is a class which takes a ``DataSource`` and can convert it to
the html to display.

The only required method on a ``Renderer`` is ``as_html``. This will
convert the data to a format which can display the chart.

Generally you will convert the data to json and pass it to the template
which you return.

License
-------

BSD

.. |Build Status| image:: https://travis-ci.org/agiliq/django-graphos.png
   :target: https://travis-ci.org/agiliq/django-graphos</description>
  <packager></packager>
  <url>http://github.com/agiliq/django-graphos</url>
  <time file="1488635680" build="1488635673"/>
  <size package="94747" installed="85433" archive="85840"/>
  <location href="src/python-django-graphos-0.3.2-1.5.src.rpm"/>
  <format>
    <rpm:license>as is</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Python</rpm:group>
    <rpm:buildhost>build83</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4584" end="21263"/>
    <rpm:requires>
      <rpm:entry name="python-Django"/>
      <rpm:entry name="python-devel"/>
      <rpm:entry name="python-setuptools"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>python-django-tables2</name>
  <arch>noarch</arch>
  <version epoch="0" ver="1.2.6" rel="1.1"/>
  <checksum type="sha512" pkgid="YES">19d1345593abca6aaf50454d50114d246877bd27e5d036d0ca1dbed279403f2fee147808a176b8e1536b9d3e2c858e99134149ea852c71d10a66377cebd72753</checksum>
  <summary>Table/data-grid framework for Django</summary>
  <description>django-tables2 - An app for creating HTML tables
------------------------------------------------

.. image:: https://badge.fury.io/py/django-tables2.svg
    :target: https://pypi.python.org/pypi/django-tables2
    :alt: Latest PyPI version

.. image:: https://travis-ci.org/bradleyayers/django-tables2.svg?branch=master
    :target: https://travis-ci.org/bradleyayers/django-tables2
    :alt: Travis CI

django-tables2 simplifies the task of turning sets of data into HTML tables. It
has native support for pagination and sorting. It does for HTML tables what
`django.forms` does for HTML forms. e.g.

.. image:: http://dl.dropbox.com/u/33499139/django-tables2/example.png
    :alt: An example table rendered using django-tables2

Its features include:

- Any iterable can be a data-source, but special support for Django querysets is included.
- The builtin UI does not rely on JavaScript.
- Support for automatic table generation based on a Django model.
- Supports custom column functionality via subclassing.
- Pagination.
- Column based table sorting.
- Template tag to enable trivial rendering to HTML.
- Generic view mixin.

About the app:

- `Available on pypi &lt;https://pypi.python.org/pypi/django-tables2&gt;`_
- Tested with python 2.7, 3.3, 3.4, 3.5 and Django 1.8, 1.9, `Travis CI &lt;https://travis-ci.org/bradleyayers/django-tables2&gt;`_
- `Documentation on readthedocs.org &lt;https://django-tables2.readthedocs.io/en/latest/&gt;`_
- `Bug tracker &lt;http://github.com/bradleyayers/django-tables2/issues&gt;`_

Example
-------

Start by adding ``django_tables2`` to your ``INSTALLED_APPS`` setting like this:

.. code:: python

        INSTALLED_APPS = (
            ...,
            'django_tables2',
        )

Creating a table for a model `Simple` is as simple as:

.. code:: python

    import django_tables2 as tables

    class SimpleTable(tables.Table):
        class Meta:
            model = Simple

This would then be used in a view:

.. code:: python

    def simple_list(request):
        queryset = Simple.objects.all()
        table = SimpleTable(queryset)
        return render(request, 'simple_list.html', {'table': table})

And finally in the template:

.. code::

    {% load django_tables2 %}
    {% render_table table %}

This example shows one of the simplest cases, but django-tables2 can do a lot more!
Check out the `documentation &lt;https://django-tables2.readthedocs.io/en/latest/&gt;`_ for more details.</description>
  <packager></packager>
  <url>https://github.com/bradleyayers/django-tables2/</url>
  <time file="1474733976" build="1474733957"/>
  <size package="86028" installed="303000" archive="327652"/>
  <location href="noarch/python-django-tables2-1.2.6-1.1.noarch.rpm"/>
  <format>
    <rpm:license>as is</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Python</rpm:group>
    <rpm:buildhost>cloud125</rpm:buildhost>
    <rpm:sourcerpm>python-django-tables2-1.2.6-1.1.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4552" end="24132"/>
    <rpm:provides>
      <rpm:entry name="python-django-tables2" flags="EQ" epoch="0" ver="1.2.6" rel="1.1"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="python(abi)" flags="EQ" epoch="0" ver="2.7"/>
      <rpm:entry name="python-Django" flags="GE" epoch="0" ver="1.8"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>python-django-tables2</name>
  <arch>src</arch>
  <version epoch="0" ver="1.2.6" rel="1.1"/>
  <checksum type="sha512" pkgid="YES">e7b28295e672191234b53b9f037589730ccb8bf8729c39fb9f6ad249664e7b1b1c2d8ccf0baacccab115e279b239c7bd924712766be3f9eceed65985e521f271</checksum>
  <summary>Table/data-grid framework for Django</summary>
  <description>django-tables2 - An app for creating HTML tables
------------------------------------------------

.. image:: https://badge.fury.io/py/django-tables2.svg
    :target: https://pypi.python.org/pypi/django-tables2
    :alt: Latest PyPI version

.. image:: https://travis-ci.org/bradleyayers/django-tables2.svg?branch=master
    :target: https://travis-ci.org/bradleyayers/django-tables2
    :alt: Travis CI

django-tables2 simplifies the task of turning sets of data into HTML tables. It
has native support for pagination and sorting. It does for HTML tables what
`django.forms` does for HTML forms. e.g.

.. image:: http://dl.dropbox.com/u/33499139/django-tables2/example.png
    :alt: An example table rendered using django-tables2

Its features include:

- Any iterable can be a data-source, but special support for Django querysets is included.
- The builtin UI does not rely on JavaScript.
- Support for automatic table generation based on a Django model.
- Supports custom column functionality via subclassing.
- Pagination.
- Column based table sorting.
- Template tag to enable trivial rendering to HTML.
- Generic view mixin.

About the app:

- `Available on pypi &lt;https://pypi.python.org/pypi/django-tables2&gt;`_
- Tested with python 2.7, 3.3, 3.4, 3.5 and Django 1.8, 1.9, `Travis CI &lt;https://travis-ci.org/bradleyayers/django-tables2&gt;`_
- `Documentation on readthedocs.org &lt;https://django-tables2.readthedocs.io/en/latest/&gt;`_
- `Bug tracker &lt;http://github.com/bradleyayers/django-tables2/issues&gt;`_

Example
-------

Start by adding ``django_tables2`` to your ``INSTALLED_APPS`` setting like this:

.. code:: python

        INSTALLED_APPS = (
            ...,
            'django_tables2',
        )

Creating a table for a model `Simple` is as simple as:

.. code:: python

    import django_tables2 as tables

    class SimpleTable(tables.Table):
        class Meta:
            model = Simple

This would then be used in a view:

.. code:: python

    def simple_list(request):
        queryset = Simple.objects.all()
        table = SimpleTable(queryset)
        return render(request, 'simple_list.html', {'table': table})

And finally in the template:

.. code::

    {% load django_tables2 %}
    {% render_table table %}

This example shows one of the simplest cases, but django-tables2 can do a lot more!
Check out the `documentation &lt;https://django-tables2.readthedocs.io/en/latest/&gt;`_ for more details.</description>
  <packager></packager>
  <url>https://github.com/bradleyayers/django-tables2/</url>
  <time file="1474733976" build="1474733957"/>
  <size package="1881920" installed="1898032" archive="1898440"/>
  <location href="src/python-django-tables2-1.2.6-1.1.src.rpm"/>
  <format>
    <rpm:license>as is</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Python</rpm:group>
    <rpm:buildhost>cloud125</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4552" end="8489"/>
    <rpm:requires>
      <rpm:entry name="python-Django" flags="GE" epoch="0" ver="1.8"/>
      <rpm:entry name="python-devel"/>
      <rpm:entry name="python-setuptools"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>python-django-tables2</name>
  <arch>noarch</arch>
  <version epoch="0" ver="1.2.6" rel="1.5"/>
  <checksum type="sha512" pkgid="YES">498dec758aa1df437af5012d34bf8e3a851bc2f04778fce22d989db17ab1ba265e51717d4bc8b158a9467974e294d3a89ae4bae202ba69f7db2cd15dc13809ac</checksum>
  <summary>Table/data-grid framework for Django</summary>
  <description>django-tables2 - An app for creating HTML tables
------------------------------------------------

.. image:: https://badge.fury.io/py/django-tables2.svg
    :target: https://pypi.python.org/pypi/django-tables2
    :alt: Latest PyPI version

.. image:: https://travis-ci.org/bradleyayers/django-tables2.svg?branch=master
    :target: https://travis-ci.org/bradleyayers/django-tables2
    :alt: Travis CI

django-tables2 simplifies the task of turning sets of data into HTML tables. It
has native support for pagination and sorting. It does for HTML tables what
`django.forms` does for HTML forms. e.g.

.. image:: http://dl.dropbox.com/u/33499139/django-tables2/example.png
    :alt: An example table rendered using django-tables2

Its features include:

- Any iterable can be a data-source, but special support for Django querysets is included.
- The builtin UI does not rely on JavaScript.
- Support for automatic table generation based on a Django model.
- Supports custom column functionality via subclassing.
- Pagination.
- Column based table sorting.
- Template tag to enable trivial rendering to HTML.
- Generic view mixin.

About the app:

- `Available on pypi &lt;https://pypi.python.org/pypi/django-tables2&gt;`_
- Tested with python 2.7, 3.3, 3.4, 3.5 and Django 1.8, 1.9, `Travis CI &lt;https://travis-ci.org/bradleyayers/django-tables2&gt;`_
- `Documentation on readthedocs.org &lt;https://django-tables2.readthedocs.io/en/latest/&gt;`_
- `Bug tracker &lt;http://github.com/bradleyayers/django-tables2/issues&gt;`_

Example
-------

Start by adding ``django_tables2`` to your ``INSTALLED_APPS`` setting like this:

.. code:: python

        INSTALLED_APPS = (
            ...,
            'django_tables2',
        )

Creating a table for a model `Simple` is as simple as:

.. code:: python

    import django_tables2 as tables

    class SimpleTable(tables.Table):
        class Meta:
            model = Simple

This would then be used in a view:

.. code:: python

    def simple_list(request):
        queryset = Simple.objects.all()
        table = SimpleTable(queryset)
        return render(request, 'simple_list.html', {'table': table})

And finally in the template:

.. code::

    {% load django_tables2 %}
    {% render_table table %}

This example shows one of the simplest cases, but django-tables2 can do a lot more!
Check out the `documentation &lt;https://django-tables2.readthedocs.io/en/latest/&gt;`_ for more details.</description>
  <packager></packager>
  <url>https://github.com/bradleyayers/django-tables2/</url>
  <time file="1488635821" build="1488635814"/>
  <size package="86084" installed="303000" archive="327652"/>
  <location href="noarch/python-django-tables2-1.2.6-1.5.noarch.rpm"/>
  <format>
    <rpm:license>as is</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Python</rpm:group>
    <rpm:buildhost>lamb53</rpm:buildhost>
    <rpm:sourcerpm>python-django-tables2-1.2.6-1.5.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4584" end="24154"/>
    <rpm:provides>
      <rpm:entry name="python-django-tables2" flags="EQ" epoch="0" ver="1.2.6" rel="1.5"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="python(abi)" flags="EQ" epoch="0" ver="2.7"/>
      <rpm:entry name="python-Django" flags="GE" epoch="0" ver="1.8"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>python-django-tables2</name>
  <arch>src</arch>
  <version epoch="0" ver="1.2.6" rel="1.5"/>
  <checksum type="sha512" pkgid="YES">caf35b0d3a6dc5f99b9cd5862f7930a7498def11ad4197f98d7d16a6516d2f2f8633c920a8a9000ef3fc35d5ed4ddc22a63776fb3c0cfc7ded214ce447412589</checksum>
  <summary>Table/data-grid framework for Django</summary>
  <description>django-tables2 - An app for creating HTML tables
------------------------------------------------

.. image:: https://badge.fury.io/py/django-tables2.svg
    :target: https://pypi.python.org/pypi/django-tables2
    :alt: Latest PyPI version

.. image:: https://travis-ci.org/bradleyayers/django-tables2.svg?branch=master
    :target: https://travis-ci.org/bradleyayers/django-tables2
    :alt: Travis CI

django-tables2 simplifies the task of turning sets of data into HTML tables. It
has native support for pagination and sorting. It does for HTML tables what
`django.forms` does for HTML forms. e.g.

.. image:: http://dl.dropbox.com/u/33499139/django-tables2/example.png
    :alt: An example table rendered using django-tables2

Its features include:

- Any iterable can be a data-source, but special support for Django querysets is included.
- The builtin UI does not rely on JavaScript.
- Support for automatic table generation based on a Django model.
- Supports custom column functionality via subclassing.
- Pagination.
- Column based table sorting.
- Template tag to enable trivial rendering to HTML.
- Generic view mixin.

About the app:

- `Available on pypi &lt;https://pypi.python.org/pypi/django-tables2&gt;`_
- Tested with python 2.7, 3.3, 3.4, 3.5 and Django 1.8, 1.9, `Travis CI &lt;https://travis-ci.org/bradleyayers/django-tables2&gt;`_
- `Documentation on readthedocs.org &lt;https://django-tables2.readthedocs.io/en/latest/&gt;`_
- `Bug tracker &lt;http://github.com/bradleyayers/django-tables2/issues&gt;`_

Example
-------

Start by adding ``django_tables2`` to your ``INSTALLED_APPS`` setting like this:

.. code:: python

        INSTALLED_APPS = (
            ...,
            'django_tables2',
        )

Creating a table for a model `Simple` is as simple as:

.. code:: python

    import django_tables2 as tables

    class SimpleTable(tables.Table):
        class Meta:
            model = Simple

This would then be used in a view:

.. code:: python

    def simple_list(request):
        queryset = Simple.objects.all()
        table = SimpleTable(queryset)
        return render(request, 'simple_list.html', {'table': table})

And finally in the template:

.. code::

    {% load django_tables2 %}
    {% render_table table %}

This example shows one of the simplest cases, but django-tables2 can do a lot more!
Check out the `documentation &lt;https://django-tables2.readthedocs.io/en/latest/&gt;`_ for more details.</description>
  <packager></packager>
  <url>https://github.com/bradleyayers/django-tables2/</url>
  <time file="1488635821" build="1488635814"/>
  <size package="1881969" installed="1898032" archive="1898440"/>
  <location href="src/python-django-tables2-1.2.6-1.5.src.rpm"/>
  <format>
    <rpm:license>as is</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Python</rpm:group>
    <rpm:buildhost>lamb53</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4584" end="8539"/>
    <rpm:requires>
      <rpm:entry name="python-Django" flags="GE" epoch="0" ver="1.8"/>
      <rpm:entry name="python-devel"/>
      <rpm:entry name="python-setuptools"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>python-django_chartit</name>
  <arch>noarch</arch>
  <version epoch="0" ver="0.2.7" rel="1.1"/>
  <checksum type="sha512" pkgid="YES">00077ff1fd7e9c3b33446fc4f1b6b9028ea44873e6ecd75579ba35df26b150286b993ecc10d60ba2bb7f23e0004ac8177e69e685e77fcbabf49e5195823c7ce1</checksum>
  <summary>A Django app to plot charts and pivot charts directly from the models. Uses HighCharts and jQuery JavaScript libraries to render the charts on the webpage</summary>
  <description>
Django-Chartit


.. image:: https://readthedocs.org/projects/django-chartit/badge/?version=latest
    :target: http://django-chartit.readthedocs.org/en/latest/?badge=latest
    :alt: Documentation Status

.. image:: https://travis-ci.org/chartit/django-chartit.svg?branch=master
    :target: https://travis-ci.org/chartit/django-chartit

.. image:: https://landscape.io/github/chartit/django-chartit/master/landscape.svg?style=flat
   :target: https://landscape.io/github/chartit/django-chartit/master
   :alt: Code Health

.. image:: https://coveralls.io/repos/github/chartit/django-chartit/badge.svg?branch=master
  :target: https://coveralls.io/github/chartit/django-chartit?branch=master


Django Chartit is a Django app that can be used to easily create charts from the data
in your database. The charts are rendered using ``Highcharts`` and ``jQuery``
JavaScript libraries. Data in your database can be plotted as simple line
charts, column charts, area charts, scatter plots, and many more chart types.
Data can also be plotted as Pivot Charts where the data is grouped and/or
pivoted by specific column(s).

=========
Changelog
=========

* 0.2.7 (September 14, 2016)
    * Don't use ``super(self.__class__)`` b/c that breaks chart class
      inheritance.
      Fixes `#41 &lt;https://github.com/chartit/django-chartit/issues/41&gt;`_

* 0.2.6 (August 16, 2016)
    * Merge ``chartit_tests/`` with ``demoproject/``
    * Load test DB with real data to use during testing
    * Add more tests
    * Update the path to demoproject.settings when building docs. Fixes
      a problem which caused some API docs to be empty
    * Fix ValueError: not enough values to unpack (expected 2, got 0)
      with PivotChart when the QuerySet returns empty data
    * Dropped requirement on ``simplejson``
    * Properly handle unicode data in Pivot charts. Fixes
      `#5 &lt;https://github.com/chartit/django-chartit/issues/5&gt;`_
    * Demo project updated with Chart and PivotChart examples of
      rendering DateField values on the X axis
    * Allow charting of ``extra()`` or ``annotate()`` fields. Fixes
      `#8 &lt;https://github.com/chartit/django-chartit/issues/8&gt;`_ and
      `#12 &lt;https://github.com/chartit/django-chartit/issues/12&gt;`_
    * Refactor ``RecursiveDefaultDict`` to allow chart objects to be
      serialized to/from cache. Fixes
      `#10 &lt;https://github.com/chartit/django-chartit/issues/10&gt;`_
    * Add information about supported 3rd party JavaScript versions. Fixes
      `#14 &lt;https://github.com/chartit/django-chartit/issues/14&gt;`_

* 0.2.5 (August 3, 2016)
    * Workaround Python 3 vs. Python 2 list sort issue which breaks
      charts with multiple data sources displayed on the same axis!
    * Make demoproject/ compatible with Django 1.10

* 0.2.4 (August 2, 2016)
    * Fix for ``get_all_field_names()`` and ``get_field_by_name()`` removal
      in Django 1.10. Fixes
      `#39 &lt;https://github.com/chartit/django-chartit/issues/39&gt;`_
    * Updated for django.db.sql.query.Query.aggregates removal

* 0.2.3 (July 30, 2016)
    * New to_json() method for charts. Useful for creating Highcharts in AJAX
    * Merged with *django-chartit2* fork by
      `Grant McConnaughey &lt;https://github.com/grantmcconnaughey&gt;`_ which adds
      Python 3 and latest Django 1.8.x and 1.9.x support
    * Allow dictionary fields in conjunction with lambda fields. Closes #26
    * Documentation improvements
    * Lots of code cleanups and style improvements

* 0.2.2 as django-chartit2 (January 28, 2016)
    * Fixed another issue that prevented installation via PyPI

* 0.2.0 as django-chartit2 (January 20, 2016):
    * Fixed issue that could prevent installation via PyPI

* 0.1 (November 5, 2011)
    * Initial release of django-chartit

========
Features
========

- Plot charts from models.
- Plot data from multiple models on the same axis on a chart.
- Plot pivot charts from models. Data can be pivoted by across multiple
  columns.
- Legend pivot charts by multiple columns.
- Combine data from multiple models to plot on same pivot charts.
- Plot a pareto chart, paretoed by a specific column.
- Plot only a top few items per category in a pivot chart.
- Python 3 compatibility
- Django 1.8 and 1.9 compatibility
- Documentation to ReadTheDocs
- Automated testing via Travis CI
- Test coverage tracking via Coveralls

============
Installation
============

You can install Django-Chartit from PyPI. Just do ::

    $ pip install django_chartit

Then, add `chartit` to `INSTALLED_APPS` in "settings.py".

You also need supporting JavaScript libraries. See the
`Required JavaScript Libraries`_ section for more details.

==========
How to Use
==========

Plotting a chart or pivot chart on a webpage involves the following steps.

1. Create a ``DataPool`` or ``PivotDataPool`` object that specifies what data
   you need to retrieve and from where.
2. Create a ``Chart`` or ``PivotChart`` object to plot the data in the
   ``DataPool`` or ``PivotDataPool`` respectively.
3. Return the ``Chart``/``PivotChart`` object from a django ``view`` function
   to the django template.
4. Use the ``load_charts`` template tag to load the charts to HTML tags with
   specific `ids`.

It is easier to explain the steps above with examples. So read on.

====================
How to Create Charts
====================

Here is a short example of how to create a line chart. Let's say we have a
simple model with 3 fields - one for month and two for temperatures of Boston
and Houston. ::

   class MonthlyWeatherByCity(models.Model):
       month = models.IntegerField()
       boston_temp = models.DecimalField(max_digits=5, decimal_places=1)
       houston_temp = models.DecimalField(max_digits=5, decimal_places=1)

And let's say we want to create a simple line chart of month on the x-axis
and the temperatures of the two cities on the y-axis. ::

   from chartit import DataPool, Chart

   def weather_chart_view(request):
       
       weatherdata = \
           DataPool(
              series=
               [{'options': {
                  'source': MonthlyWeatherByCity.objects.all()},
                 'terms': [
                   'month',
                   'houston_temp',
                   'boston_temp']}
                ])

       
       cht = Chart(
               datasource = weatherdata,
               series_options =
                 [{'options':{
                     'type': 'line',
                     'stacking': False},
                   'terms':{
                     'month': [
                       'boston_temp',
                       'houston_temp']
                     }}],
               chart_options =
                 {'title': {
                      'text': 'Weather Data of Boston and Houston'},
                  'xAxis': {
                       'title': {
                          'text': 'Month number'}}})

       
       return render_to_response({'weatherchart': cht})

And you can use the ``load_charts`` filter in the django template to render
the chart. ::

  &lt;head&gt;
      &lt;!-- code to include the highcharts and jQuery libraries goes here --&gt;
      &lt;!-- load_charts filter takes a comma-separated list of id's where --&gt;
      &lt;!-- the charts need to be rendered to                             --&gt;
      {% load chartit %}
      {{ weatherchart|load_charts:"container" }}
  &lt;/head&gt;
  &lt;body&gt;
      &lt;div id='container'&gt; Chart will be rendered here &lt;/div&gt;
  &lt;/body&gt;

===========================
How to Create Pivot Charts
===========================

Here is an example of how to create a pivot chart. Let's say we have the
following model. ::

   class DailyWeather(models.Model):
       month = models.IntegerField()
       day = models.IntegerField()
       temperature = models.DecimalField(max_digits=5, decimal_places=1)
       rainfall = models.DecimalField(max_digits=5, decimal_places=1)
       city = models.CharField(max_length=50)
       state = models.CharField(max_length=2)

We want to plot a pivot chart of month (along the x-axis) versus the average
rainfall (along the y-axis) of the top 3 cities with highest average
rainfall in each month. ::

    from django.db.models import Avg
    from chartit import PivotDataPool, PivotChart

    def rainfall_pivot_chart_view(request):
        
        rainpivotdata = PivotDataPool(
            series=[{
                'options': {
                    'source': DailyWeather.objects.all(),
                    'categories': ['month'],
                    'legend_by': 'city',
                    'top_n_per_cat': 3,
                },
                'terms': {
                    'avg_rain': Avg('rainfall'),
                }
            }]
        )

        
        rainpivcht = PivotChart(
            datasource=rainpivotdata,
            series_options=[{
                'options': {
                    'type': 'column',
                    'stacking': True
                },
                'terms': ['avg_rain']
            }],
            chart_options={
                'title': {
                    'text': 'Rain by Month in top 3 cities'
                },
                'xAxis': {
                    'title': {
                        'text': 'Month'
                    }
                }
            }
        )

        
        return render_to_response({'rainpivchart': rainpivcht})

And you can use the ``load_charts`` filter in the django template to render
the chart. ::

  &lt;head&gt;
      &lt;!-- code to include the highcharts and jQuery libraries goes here --&gt;
      &lt;!-- load_charts filter takes a comma-separated list of id's where --&gt;
      &lt;!-- the charts need to be rendered to                             --&gt;
      {% load chartit %}
      {{ rainpivchart|load_charts:"container" }}
  &lt;/head&gt;
  &lt;body&gt;
      &lt;div id='container'&gt; Chart will be rendered here &lt;/div&gt;
  &lt;/body&gt;

=========================
Rendering multiple charts
=========================

It is possible to render multiple charts in the same template. The first
argument to ``load_charts`` is the Chart object or a list of Chart objects,
and the second is a comma separated list of HTML IDs where the charts will
be rendered.

When calling Django's ``render`` you have to pass all you charts as a list::

    return render(request, 'index.html',
                 {
                    'chart_list' : [chart_1, chart_2],
                 }
            )

Then in your template you have to use the proper syntax::

    &lt;head&gt;
        {% load chartit %}
        {{ chart_list|load_charts:"chart_1,chart_2" }}
    &lt;/head&gt;
    &lt;body&gt;
        &lt;div id="chart_1"&gt;First chart will be rendered here&lt;/div&gt;
        &lt;div id="chart_2"&gt;Second chart will be rendered here&lt;/div&gt;
    &lt;/body&gt;

====
Demo
====

The above examples are just a brief taste of what you can do with
Django-Chartit. For more examples and to look at the charts in actions, check
out the `demo website &lt;http://chartit.shutupandship.com/demo&gt;`_.

===============
Documentation
===============

Full documentation is available
`here &lt;http://django-chartit.readthedocs.org/en/latest/?badge=latest&gt;`_ .

=============================
Required JavaScript Libraries
=============================

The following JavaScript Libraries are required for using Django-Chartit.

- `jQuery &lt;http://jquery.com&gt;`_ - versions 1.6.4 and 1.7 are known
  to work well with django-chartit.
- `Highcharts &lt;http://highcharts.com&gt;`_ - versions 2.1.7 and 2.2.0 are known
  to work well with django-chartit.

.. note:: While ``Django-Chartit`` itself is licensed under the BSD license,
   ``Highcharts`` is licensed under the `Highcharts license
   &lt;http://www.highcharts.com/license&gt;`_ and ``jQuery`` is licensed under both
   MIT License and GNU General Public License (GPL) Version 2. It is your own
   responsibility to abide by respective licenses when downloading and using
   the supporting JavaScript libraries.</description>
  <packager></packager>
  <url>https://github.com/chartit/django-chartit</url>
  <time file="1474558848" build="1474558842"/>
  <size package="55940" installed="176198" archive="182620"/>
  <location href="noarch/python-django_chartit-0.2.7-1.1.noarch.rpm"/>
  <format>
    <rpm:license>as is</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Python</rpm:group>
    <rpm:buildhost>build74</rpm:buildhost>
    <rpm:sourcerpm>python-django_chartit-0.2.7-1.1.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4552" end="22372"/>
    <rpm:provides>
      <rpm:entry name="python-django_chartit" flags="EQ" epoch="0" ver="0.2.7" rel="1.1"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="python(abi)" flags="EQ" epoch="0" ver="2.7"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>python-django_chartit</name>
  <arch>src</arch>
  <version epoch="0" ver="0.2.7" rel="1.1"/>
  <checksum type="sha512" pkgid="YES">04315167cdcd5ac8b6886c227e669308e8eed5ac6ccb9658778bd1340685350df6ea9e7386d5b61c709d052ae695f53e3005b81a2b8645a06579e282fe1e800c</checksum>
  <summary>A Django app to plot charts and pivot charts directly from the models. Uses HighCharts and jQuery JavaScript libraries to render the charts on the webpage</summary>
  <description>
Django-Chartit


.. image:: https://readthedocs.org/projects/django-chartit/badge/?version=latest
    :target: http://django-chartit.readthedocs.org/en/latest/?badge=latest
    :alt: Documentation Status

.. image:: https://travis-ci.org/chartit/django-chartit.svg?branch=master
    :target: https://travis-ci.org/chartit/django-chartit

.. image:: https://landscape.io/github/chartit/django-chartit/master/landscape.svg?style=flat
   :target: https://landscape.io/github/chartit/django-chartit/master
   :alt: Code Health

.. image:: https://coveralls.io/repos/github/chartit/django-chartit/badge.svg?branch=master
  :target: https://coveralls.io/github/chartit/django-chartit?branch=master


Django Chartit is a Django app that can be used to easily create charts from the data
in your database. The charts are rendered using ``Highcharts`` and ``jQuery``
JavaScript libraries. Data in your database can be plotted as simple line
charts, column charts, area charts, scatter plots, and many more chart types.
Data can also be plotted as Pivot Charts where the data is grouped and/or
pivoted by specific column(s).

=========
Changelog
=========

* 0.2.7 (September 14, 2016)
    * Don't use ``super(self.__class__)`` b/c that breaks chart class
      inheritance.
      Fixes `#41 &lt;https://github.com/chartit/django-chartit/issues/41&gt;`_

* 0.2.6 (August 16, 2016)
    * Merge ``chartit_tests/`` with ``demoproject/``
    * Load test DB with real data to use during testing
    * Add more tests
    * Update the path to demoproject.settings when building docs. Fixes
      a problem which caused some API docs to be empty
    * Fix ValueError: not enough values to unpack (expected 2, got 0)
      with PivotChart when the QuerySet returns empty data
    * Dropped requirement on ``simplejson``
    * Properly handle unicode data in Pivot charts. Fixes
      `#5 &lt;https://github.com/chartit/django-chartit/issues/5&gt;`_
    * Demo project updated with Chart and PivotChart examples of
      rendering DateField values on the X axis
    * Allow charting of ``extra()`` or ``annotate()`` fields. Fixes
      `#8 &lt;https://github.com/chartit/django-chartit/issues/8&gt;`_ and
      `#12 &lt;https://github.com/chartit/django-chartit/issues/12&gt;`_
    * Refactor ``RecursiveDefaultDict`` to allow chart objects to be
      serialized to/from cache. Fixes
      `#10 &lt;https://github.com/chartit/django-chartit/issues/10&gt;`_
    * Add information about supported 3rd party JavaScript versions. Fixes
      `#14 &lt;https://github.com/chartit/django-chartit/issues/14&gt;`_

* 0.2.5 (August 3, 2016)
    * Workaround Python 3 vs. Python 2 list sort issue which breaks
      charts with multiple data sources displayed on the same axis!
    * Make demoproject/ compatible with Django 1.10

* 0.2.4 (August 2, 2016)
    * Fix for ``get_all_field_names()`` and ``get_field_by_name()`` removal
      in Django 1.10. Fixes
      `#39 &lt;https://github.com/chartit/django-chartit/issues/39&gt;`_
    * Updated for django.db.sql.query.Query.aggregates removal

* 0.2.3 (July 30, 2016)
    * New to_json() method for charts. Useful for creating Highcharts in AJAX
    * Merged with *django-chartit2* fork by
      `Grant McConnaughey &lt;https://github.com/grantmcconnaughey&gt;`_ which adds
      Python 3 and latest Django 1.8.x and 1.9.x support
    * Allow dictionary fields in conjunction with lambda fields. Closes #26
    * Documentation improvements
    * Lots of code cleanups and style improvements

* 0.2.2 as django-chartit2 (January 28, 2016)
    * Fixed another issue that prevented installation via PyPI

* 0.2.0 as django-chartit2 (January 20, 2016):
    * Fixed issue that could prevent installation via PyPI

* 0.1 (November 5, 2011)
    * Initial release of django-chartit

========
Features
========

- Plot charts from models.
- Plot data from multiple models on the same axis on a chart.
- Plot pivot charts from models. Data can be pivoted by across multiple
  columns.
- Legend pivot charts by multiple columns.
- Combine data from multiple models to plot on same pivot charts.
- Plot a pareto chart, paretoed by a specific column.
- Plot only a top few items per category in a pivot chart.
- Python 3 compatibility
- Django 1.8 and 1.9 compatibility
- Documentation to ReadTheDocs
- Automated testing via Travis CI
- Test coverage tracking via Coveralls

============
Installation
============

You can install Django-Chartit from PyPI. Just do ::

    $ pip install django_chartit

Then, add `chartit` to `INSTALLED_APPS` in "settings.py".

You also need supporting JavaScript libraries. See the
`Required JavaScript Libraries`_ section for more details.

==========
How to Use
==========

Plotting a chart or pivot chart on a webpage involves the following steps.

1. Create a ``DataPool`` or ``PivotDataPool`` object that specifies what data
   you need to retrieve and from where.
2. Create a ``Chart`` or ``PivotChart`` object to plot the data in the
   ``DataPool`` or ``PivotDataPool`` respectively.
3. Return the ``Chart``/``PivotChart`` object from a django ``view`` function
   to the django template.
4. Use the ``load_charts`` template tag to load the charts to HTML tags with
   specific `ids`.

It is easier to explain the steps above with examples. So read on.

====================
How to Create Charts
====================

Here is a short example of how to create a line chart. Let's say we have a
simple model with 3 fields - one for month and two for temperatures of Boston
and Houston. ::

   class MonthlyWeatherByCity(models.Model):
       month = models.IntegerField()
       boston_temp = models.DecimalField(max_digits=5, decimal_places=1)
       houston_temp = models.DecimalField(max_digits=5, decimal_places=1)

And let's say we want to create a simple line chart of month on the x-axis
and the temperatures of the two cities on the y-axis. ::

   from chartit import DataPool, Chart

   def weather_chart_view(request):
       
       weatherdata = \
           DataPool(
              series=
               [{'options': {
                  'source': MonthlyWeatherByCity.objects.all()},
                 'terms': [
                   'month',
                   'houston_temp',
                   'boston_temp']}
                ])

       
       cht = Chart(
               datasource = weatherdata,
               series_options =
                 [{'options':{
                     'type': 'line',
                     'stacking': False},
                   'terms':{
                     'month': [
                       'boston_temp',
                       'houston_temp']
                     }}],
               chart_options =
                 {'title': {
                      'text': 'Weather Data of Boston and Houston'},
                  'xAxis': {
                       'title': {
                          'text': 'Month number'}}})

       
       return render_to_response({'weatherchart': cht})

And you can use the ``load_charts`` filter in the django template to render
the chart. ::

  &lt;head&gt;
      &lt;!-- code to include the highcharts and jQuery libraries goes here --&gt;
      &lt;!-- load_charts filter takes a comma-separated list of id's where --&gt;
      &lt;!-- the charts need to be rendered to                             --&gt;
      {% load chartit %}
      {{ weatherchart|load_charts:"container" }}
  &lt;/head&gt;
  &lt;body&gt;
      &lt;div id='container'&gt; Chart will be rendered here &lt;/div&gt;
  &lt;/body&gt;

===========================
How to Create Pivot Charts
===========================

Here is an example of how to create a pivot chart. Let's say we have the
following model. ::

   class DailyWeather(models.Model):
       month = models.IntegerField()
       day = models.IntegerField()
       temperature = models.DecimalField(max_digits=5, decimal_places=1)
       rainfall = models.DecimalField(max_digits=5, decimal_places=1)
       city = models.CharField(max_length=50)
       state = models.CharField(max_length=2)

We want to plot a pivot chart of month (along the x-axis) versus the average
rainfall (along the y-axis) of the top 3 cities with highest average
rainfall in each month. ::

    from django.db.models import Avg
    from chartit import PivotDataPool, PivotChart

    def rainfall_pivot_chart_view(request):
        
        rainpivotdata = PivotDataPool(
            series=[{
                'options': {
                    'source': DailyWeather.objects.all(),
                    'categories': ['month'],
                    'legend_by': 'city',
                    'top_n_per_cat': 3,
                },
                'terms': {
                    'avg_rain': Avg('rainfall'),
                }
            }]
        )

        
        rainpivcht = PivotChart(
            datasource=rainpivotdata,
            series_options=[{
                'options': {
                    'type': 'column',
                    'stacking': True
                },
                'terms': ['avg_rain']
            }],
            chart_options={
                'title': {
                    'text': 'Rain by Month in top 3 cities'
                },
                'xAxis': {
                    'title': {
                        'text': 'Month'
                    }
                }
            }
        )

        
        return render_to_response({'rainpivchart': rainpivcht})

And you can use the ``load_charts`` filter in the django template to render
the chart. ::

  &lt;head&gt;
      &lt;!-- code to include the highcharts and jQuery libraries goes here --&gt;
      &lt;!-- load_charts filter takes a comma-separated list of id's where --&gt;
      &lt;!-- the charts need to be rendered to                             --&gt;
      {% load chartit %}
      {{ rainpivchart|load_charts:"container" }}
  &lt;/head&gt;
  &lt;body&gt;
      &lt;div id='container'&gt; Chart will be rendered here &lt;/div&gt;
  &lt;/body&gt;

=========================
Rendering multiple charts
=========================

It is possible to render multiple charts in the same template. The first
argument to ``load_charts`` is the Chart object or a list of Chart objects,
and the second is a comma separated list of HTML IDs where the charts will
be rendered.

When calling Django's ``render`` you have to pass all you charts as a list::

    return render(request, 'index.html',
                 {
                    'chart_list' : [chart_1, chart_2],
                 }
            )

Then in your template you have to use the proper syntax::

    &lt;head&gt;
        {% load chartit %}
        {{ chart_list|load_charts:"chart_1,chart_2" }}
    &lt;/head&gt;
    &lt;body&gt;
        &lt;div id="chart_1"&gt;First chart will be rendered here&lt;/div&gt;
        &lt;div id="chart_2"&gt;Second chart will be rendered here&lt;/div&gt;
    &lt;/body&gt;

====
Demo
====

The above examples are just a brief taste of what you can do with
Django-Chartit. For more examples and to look at the charts in actions, check
out the `demo website &lt;http://chartit.shutupandship.com/demo&gt;`_.

===============
Documentation
===============

Full documentation is available
`here &lt;http://django-chartit.readthedocs.org/en/latest/?badge=latest&gt;`_ .

=============================
Required JavaScript Libraries
=============================

The following JavaScript Libraries are required for using Django-Chartit.

- `jQuery &lt;http://jquery.com&gt;`_ - versions 1.6.4 and 1.7 are known
  to work well with django-chartit.
- `Highcharts &lt;http://highcharts.com&gt;`_ - versions 2.1.7 and 2.2.0 are known
  to work well with django-chartit.

.. note:: While ``Django-Chartit`` itself is licensed under the BSD license,
   ``Highcharts`` is licensed under the `Highcharts license
   &lt;http://www.highcharts.com/license&gt;`_ and ``jQuery`` is licensed under both
   MIT License and GNU General Public License (GPL) Version 2. It is your own
   responsibility to abide by respective licenses when downloading and using
   the supporting JavaScript libraries.</description>
  <packager></packager>
  <url>https://github.com/chartit/django-chartit</url>
  <time file="1474558848" build="1474558842"/>
  <size package="49936" installed="40068" archive="40476"/>
  <location href="src/python-django_chartit-0.2.7-1.1.src.rpm"/>
  <format>
    <rpm:license>as is</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Python</rpm:group>
    <rpm:buildhost>build74</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4552" end="18025"/>
    <rpm:requires>
      <rpm:entry name="python-devel"/>
      <rpm:entry name="python-setuptools"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>python-django_chartit</name>
  <arch>noarch</arch>
  <version epoch="0" ver="0.2.7" rel="1.28"/>
  <checksum type="sha512" pkgid="YES">698d441596b244272c03baf4beb870b2c2694991b9cd0632789388dc770bae7087c91629b9dd724440c6c746e8aa8b3664afdf683858f43b2ba0915a381f226c</checksum>
  <summary>A Django app to plot charts and pivot charts directly from the models. Uses HighCharts and jQuery JavaScript libraries to render the charts on the webpage</summary>
  <description>
Django-Chartit


.. image:: https://readthedocs.org/projects/django-chartit/badge/?version=latest
    :target: http://django-chartit.readthedocs.org/en/latest/?badge=latest
    :alt: Documentation Status

.. image:: https://travis-ci.org/chartit/django-chartit.svg?branch=master
    :target: https://travis-ci.org/chartit/django-chartit

.. image:: https://landscape.io/github/chartit/django-chartit/master/landscape.svg?style=flat
   :target: https://landscape.io/github/chartit/django-chartit/master
   :alt: Code Health

.. image:: https://coveralls.io/repos/github/chartit/django-chartit/badge.svg?branch=master
  :target: https://coveralls.io/github/chartit/django-chartit?branch=master


Django Chartit is a Django app that can be used to easily create charts from the data
in your database. The charts are rendered using ``Highcharts`` and ``jQuery``
JavaScript libraries. Data in your database can be plotted as simple line
charts, column charts, area charts, scatter plots, and many more chart types.
Data can also be plotted as Pivot Charts where the data is grouped and/or
pivoted by specific column(s).

=========
Changelog
=========

* 0.2.7 (September 14, 2016)
    * Don't use ``super(self.__class__)`` b/c that breaks chart class
      inheritance.
      Fixes `#41 &lt;https://github.com/chartit/django-chartit/issues/41&gt;`_

* 0.2.6 (August 16, 2016)
    * Merge ``chartit_tests/`` with ``demoproject/``
    * Load test DB with real data to use during testing
    * Add more tests
    * Update the path to demoproject.settings when building docs. Fixes
      a problem which caused some API docs to be empty
    * Fix ValueError: not enough values to unpack (expected 2, got 0)
      with PivotChart when the QuerySet returns empty data
    * Dropped requirement on ``simplejson``
    * Properly handle unicode data in Pivot charts. Fixes
      `#5 &lt;https://github.com/chartit/django-chartit/issues/5&gt;`_
    * Demo project updated with Chart and PivotChart examples of
      rendering DateField values on the X axis
    * Allow charting of ``extra()`` or ``annotate()`` fields. Fixes
      `#8 &lt;https://github.com/chartit/django-chartit/issues/8&gt;`_ and
      `#12 &lt;https://github.com/chartit/django-chartit/issues/12&gt;`_
    * Refactor ``RecursiveDefaultDict`` to allow chart objects to be
      serialized to/from cache. Fixes
      `#10 &lt;https://github.com/chartit/django-chartit/issues/10&gt;`_
    * Add information about supported 3rd party JavaScript versions. Fixes
      `#14 &lt;https://github.com/chartit/django-chartit/issues/14&gt;`_

* 0.2.5 (August 3, 2016)
    * Workaround Python 3 vs. Python 2 list sort issue which breaks
      charts with multiple data sources displayed on the same axis!
    * Make demoproject/ compatible with Django 1.10

* 0.2.4 (August 2, 2016)
    * Fix for ``get_all_field_names()`` and ``get_field_by_name()`` removal
      in Django 1.10. Fixes
      `#39 &lt;https://github.com/chartit/django-chartit/issues/39&gt;`_
    * Updated for django.db.sql.query.Query.aggregates removal

* 0.2.3 (July 30, 2016)
    * New to_json() method for charts. Useful for creating Highcharts in AJAX
    * Merged with *django-chartit2* fork by
      `Grant McConnaughey &lt;https://github.com/grantmcconnaughey&gt;`_ which adds
      Python 3 and latest Django 1.8.x and 1.9.x support
    * Allow dictionary fields in conjunction with lambda fields. Closes #26
    * Documentation improvements
    * Lots of code cleanups and style improvements

* 0.2.2 as django-chartit2 (January 28, 2016)
    * Fixed another issue that prevented installation via PyPI

* 0.2.0 as django-chartit2 (January 20, 2016):
    * Fixed issue that could prevent installation via PyPI

* 0.1 (November 5, 2011)
    * Initial release of django-chartit

========
Features
========

- Plot charts from models.
- Plot data from multiple models on the same axis on a chart.
- Plot pivot charts from models. Data can be pivoted by across multiple
  columns.
- Legend pivot charts by multiple columns.
- Combine data from multiple models to plot on same pivot charts.
- Plot a pareto chart, paretoed by a specific column.
- Plot only a top few items per category in a pivot chart.
- Python 3 compatibility
- Django 1.8 and 1.9 compatibility
- Documentation to ReadTheDocs
- Automated testing via Travis CI
- Test coverage tracking via Coveralls

============
Installation
============

You can install Django-Chartit from PyPI. Just do ::

    $ pip install django_chartit

Then, add `chartit` to `INSTALLED_APPS` in "settings.py".

You also need supporting JavaScript libraries. See the
`Required JavaScript Libraries`_ section for more details.

==========
How to Use
==========

Plotting a chart or pivot chart on a webpage involves the following steps.

1. Create a ``DataPool`` or ``PivotDataPool`` object that specifies what data
   you need to retrieve and from where.
2. Create a ``Chart`` or ``PivotChart`` object to plot the data in the
   ``DataPool`` or ``PivotDataPool`` respectively.
3. Return the ``Chart``/``PivotChart`` object from a django ``view`` function
   to the django template.
4. Use the ``load_charts`` template tag to load the charts to HTML tags with
   specific `ids`.

It is easier to explain the steps above with examples. So read on.

====================
How to Create Charts
====================

Here is a short example of how to create a line chart. Let's say we have a
simple model with 3 fields - one for month and two for temperatures of Boston
and Houston. ::

   class MonthlyWeatherByCity(models.Model):
       month = models.IntegerField()
       boston_temp = models.DecimalField(max_digits=5, decimal_places=1)
       houston_temp = models.DecimalField(max_digits=5, decimal_places=1)

And let's say we want to create a simple line chart of month on the x-axis
and the temperatures of the two cities on the y-axis. ::

   from chartit import DataPool, Chart

   def weather_chart_view(request):
       
       weatherdata = \
           DataPool(
              series=
               [{'options': {
                  'source': MonthlyWeatherByCity.objects.all()},
                 'terms': [
                   'month',
                   'houston_temp',
                   'boston_temp']}
                ])

       
       cht = Chart(
               datasource = weatherdata,
               series_options =
                 [{'options':{
                     'type': 'line',
                     'stacking': False},
                   'terms':{
                     'month': [
                       'boston_temp',
                       'houston_temp']
                     }}],
               chart_options =
                 {'title': {
                      'text': 'Weather Data of Boston and Houston'},
                  'xAxis': {
                       'title': {
                          'text': 'Month number'}}})

       
       return render_to_response({'weatherchart': cht})

And you can use the ``load_charts`` filter in the django template to render
the chart. ::

  &lt;head&gt;
      &lt;!-- code to include the highcharts and jQuery libraries goes here --&gt;
      &lt;!-- load_charts filter takes a comma-separated list of id's where --&gt;
      &lt;!-- the charts need to be rendered to                             --&gt;
      {% load chartit %}
      {{ weatherchart|load_charts:"container" }}
  &lt;/head&gt;
  &lt;body&gt;
      &lt;div id='container'&gt; Chart will be rendered here &lt;/div&gt;
  &lt;/body&gt;

===========================
How to Create Pivot Charts
===========================

Here is an example of how to create a pivot chart. Let's say we have the
following model. ::

   class DailyWeather(models.Model):
       month = models.IntegerField()
       day = models.IntegerField()
       temperature = models.DecimalField(max_digits=5, decimal_places=1)
       rainfall = models.DecimalField(max_digits=5, decimal_places=1)
       city = models.CharField(max_length=50)
       state = models.CharField(max_length=2)

We want to plot a pivot chart of month (along the x-axis) versus the average
rainfall (along the y-axis) of the top 3 cities with highest average
rainfall in each month. ::

    from django.db.models import Avg
    from chartit import PivotDataPool, PivotChart

    def rainfall_pivot_chart_view(request):
        
        rainpivotdata = PivotDataPool(
            series=[{
                'options': {
                    'source': DailyWeather.objects.all(),
                    'categories': ['month'],
                    'legend_by': 'city',
                    'top_n_per_cat': 3,
                },
                'terms': {
                    'avg_rain': Avg('rainfall'),
                }
            }]
        )

        
        rainpivcht = PivotChart(
            datasource=rainpivotdata,
            series_options=[{
                'options': {
                    'type': 'column',
                    'stacking': True
                },
                'terms': ['avg_rain']
            }],
            chart_options={
                'title': {
                    'text': 'Rain by Month in top 3 cities'
                },
                'xAxis': {
                    'title': {
                        'text': 'Month'
                    }
                }
            }
        )

        
        return render_to_response({'rainpivchart': rainpivcht})

And you can use the ``load_charts`` filter in the django template to render
the chart. ::

  &lt;head&gt;
      &lt;!-- code to include the highcharts and jQuery libraries goes here --&gt;
      &lt;!-- load_charts filter takes a comma-separated list of id's where --&gt;
      &lt;!-- the charts need to be rendered to                             --&gt;
      {% load chartit %}
      {{ rainpivchart|load_charts:"container" }}
  &lt;/head&gt;
  &lt;body&gt;
      &lt;div id='container'&gt; Chart will be rendered here &lt;/div&gt;
  &lt;/body&gt;

=========================
Rendering multiple charts
=========================

It is possible to render multiple charts in the same template. The first
argument to ``load_charts`` is the Chart object or a list of Chart objects,
and the second is a comma separated list of HTML IDs where the charts will
be rendered.

When calling Django's ``render`` you have to pass all you charts as a list::

    return render(request, 'index.html',
                 {
                    'chart_list' : [chart_1, chart_2],
                 }
            )

Then in your template you have to use the proper syntax::

    &lt;head&gt;
        {% load chartit %}
        {{ chart_list|load_charts:"chart_1,chart_2" }}
    &lt;/head&gt;
    &lt;body&gt;
        &lt;div id="chart_1"&gt;First chart will be rendered here&lt;/div&gt;
        &lt;div id="chart_2"&gt;Second chart will be rendered here&lt;/div&gt;
    &lt;/body&gt;

====
Demo
====

The above examples are just a brief taste of what you can do with
Django-Chartit. For more examples and to look at the charts in actions, check
out the `demo website &lt;http://chartit.shutupandship.com/demo&gt;`_.

===============
Documentation
===============

Full documentation is available
`here &lt;http://django-chartit.readthedocs.org/en/latest/?badge=latest&gt;`_ .

=============================
Required JavaScript Libraries
=============================

The following JavaScript Libraries are required for using Django-Chartit.

- `jQuery &lt;http://jquery.com&gt;`_ - versions 1.6.4 and 1.7 are known
  to work well with django-chartit.
- `Highcharts &lt;http://highcharts.com&gt;`_ - versions 2.1.7 and 2.2.0 are known
  to work well with django-chartit.

.. note:: While ``Django-Chartit`` itself is licensed under the BSD license,
   ``Highcharts`` is licensed under the `Highcharts license
   &lt;http://www.highcharts.com/license&gt;`_ and ``jQuery`` is licensed under both
   MIT License and GNU General Public License (GPL) Version 2. It is your own
   responsibility to abide by respective licenses when downloading and using
   the supporting JavaScript libraries.</description>
  <packager></packager>
  <url>https://github.com/chartit/django-chartit</url>
  <time file="1587430371" build="1587430362"/>
  <size package="57516" installed="176258" archive="183188"/>
  <location href="noarch/python-django_chartit-0.2.7-1.28.noarch.rpm"/>
  <format>
    <rpm:license>as is</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Python</rpm:group>
    <rpm:buildhost>lamb52</rpm:buildhost>
    <rpm:sourcerpm>python-django_chartit-0.2.7-1.28.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4664" end="23820"/>
    <rpm:provides>
      <rpm:entry name="python-django_chartit" flags="EQ" epoch="0" ver="0.2.7" rel="1.28"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="python(abi)" flags="EQ" epoch="0" ver="2.7"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>python-django_chartit</name>
  <arch>src</arch>
  <version epoch="0" ver="0.2.7" rel="1.28"/>
  <checksum type="sha512" pkgid="YES">a0f518b8013de01fa6cbc00f8ebf1daef1bc7406f7d759976b21494e0d12f43e5382e3f7c003d78e671833a9e2d3097d4434a14cc80ea5db5dc6fa3f5ba884d2</checksum>
  <summary>A Django app to plot charts and pivot charts directly from the models. Uses HighCharts and jQuery JavaScript libraries to render the charts on the webpage</summary>
  <description>
Django-Chartit


.. image:: https://readthedocs.org/projects/django-chartit/badge/?version=latest
    :target: http://django-chartit.readthedocs.org/en/latest/?badge=latest
    :alt: Documentation Status

.. image:: https://travis-ci.org/chartit/django-chartit.svg?branch=master
    :target: https://travis-ci.org/chartit/django-chartit

.. image:: https://landscape.io/github/chartit/django-chartit/master/landscape.svg?style=flat
   :target: https://landscape.io/github/chartit/django-chartit/master
   :alt: Code Health

.. image:: https://coveralls.io/repos/github/chartit/django-chartit/badge.svg?branch=master
  :target: https://coveralls.io/github/chartit/django-chartit?branch=master


Django Chartit is a Django app that can be used to easily create charts from the data
in your database. The charts are rendered using ``Highcharts`` and ``jQuery``
JavaScript libraries. Data in your database can be plotted as simple line
charts, column charts, area charts, scatter plots, and many more chart types.
Data can also be plotted as Pivot Charts where the data is grouped and/or
pivoted by specific column(s).

=========
Changelog
=========

* 0.2.7 (September 14, 2016)
    * Don't use ``super(self.__class__)`` b/c that breaks chart class
      inheritance.
      Fixes `#41 &lt;https://github.com/chartit/django-chartit/issues/41&gt;`_

* 0.2.6 (August 16, 2016)
    * Merge ``chartit_tests/`` with ``demoproject/``
    * Load test DB with real data to use during testing
    * Add more tests
    * Update the path to demoproject.settings when building docs. Fixes
      a problem which caused some API docs to be empty
    * Fix ValueError: not enough values to unpack (expected 2, got 0)
      with PivotChart when the QuerySet returns empty data
    * Dropped requirement on ``simplejson``
    * Properly handle unicode data in Pivot charts. Fixes
      `#5 &lt;https://github.com/chartit/django-chartit/issues/5&gt;`_
    * Demo project updated with Chart and PivotChart examples of
      rendering DateField values on the X axis
    * Allow charting of ``extra()`` or ``annotate()`` fields. Fixes
      `#8 &lt;https://github.com/chartit/django-chartit/issues/8&gt;`_ and
      `#12 &lt;https://github.com/chartit/django-chartit/issues/12&gt;`_
    * Refactor ``RecursiveDefaultDict`` to allow chart objects to be
      serialized to/from cache. Fixes
      `#10 &lt;https://github.com/chartit/django-chartit/issues/10&gt;`_
    * Add information about supported 3rd party JavaScript versions. Fixes
      `#14 &lt;https://github.com/chartit/django-chartit/issues/14&gt;`_

* 0.2.5 (August 3, 2016)
    * Workaround Python 3 vs. Python 2 list sort issue which breaks
      charts with multiple data sources displayed on the same axis!
    * Make demoproject/ compatible with Django 1.10

* 0.2.4 (August 2, 2016)
    * Fix for ``get_all_field_names()`` and ``get_field_by_name()`` removal
      in Django 1.10. Fixes
      `#39 &lt;https://github.com/chartit/django-chartit/issues/39&gt;`_
    * Updated for django.db.sql.query.Query.aggregates removal

* 0.2.3 (July 30, 2016)
    * New to_json() method for charts. Useful for creating Highcharts in AJAX
    * Merged with *django-chartit2* fork by
      `Grant McConnaughey &lt;https://github.com/grantmcconnaughey&gt;`_ which adds
      Python 3 and latest Django 1.8.x and 1.9.x support
    * Allow dictionary fields in conjunction with lambda fields. Closes #26
    * Documentation improvements
    * Lots of code cleanups and style improvements

* 0.2.2 as django-chartit2 (January 28, 2016)
    * Fixed another issue that prevented installation via PyPI

* 0.2.0 as django-chartit2 (January 20, 2016):
    * Fixed issue that could prevent installation via PyPI

* 0.1 (November 5, 2011)
    * Initial release of django-chartit

========
Features
========

- Plot charts from models.
- Plot data from multiple models on the same axis on a chart.
- Plot pivot charts from models. Data can be pivoted by across multiple
  columns.
- Legend pivot charts by multiple columns.
- Combine data from multiple models to plot on same pivot charts.
- Plot a pareto chart, paretoed by a specific column.
- Plot only a top few items per category in a pivot chart.
- Python 3 compatibility
- Django 1.8 and 1.9 compatibility
- Documentation to ReadTheDocs
- Automated testing via Travis CI
- Test coverage tracking via Coveralls

============
Installation
============

You can install Django-Chartit from PyPI. Just do ::

    $ pip install django_chartit

Then, add `chartit` to `INSTALLED_APPS` in "settings.py".

You also need supporting JavaScript libraries. See the
`Required JavaScript Libraries`_ section for more details.

==========
How to Use
==========

Plotting a chart or pivot chart on a webpage involves the following steps.

1. Create a ``DataPool`` or ``PivotDataPool`` object that specifies what data
   you need to retrieve and from where.
2. Create a ``Chart`` or ``PivotChart`` object to plot the data in the
   ``DataPool`` or ``PivotDataPool`` respectively.
3. Return the ``Chart``/``PivotChart`` object from a django ``view`` function
   to the django template.
4. Use the ``load_charts`` template tag to load the charts to HTML tags with
   specific `ids`.

It is easier to explain the steps above with examples. So read on.

====================
How to Create Charts
====================

Here is a short example of how to create a line chart. Let's say we have a
simple model with 3 fields - one for month and two for temperatures of Boston
and Houston. ::

   class MonthlyWeatherByCity(models.Model):
       month = models.IntegerField()
       boston_temp = models.DecimalField(max_digits=5, decimal_places=1)
       houston_temp = models.DecimalField(max_digits=5, decimal_places=1)

And let's say we want to create a simple line chart of month on the x-axis
and the temperatures of the two cities on the y-axis. ::

   from chartit import DataPool, Chart

   def weather_chart_view(request):
       
       weatherdata = \
           DataPool(
              series=
               [{'options': {
                  'source': MonthlyWeatherByCity.objects.all()},
                 'terms': [
                   'month',
                   'houston_temp',
                   'boston_temp']}
                ])

       
       cht = Chart(
               datasource = weatherdata,
               series_options =
                 [{'options':{
                     'type': 'line',
                     'stacking': False},
                   'terms':{
                     'month': [
                       'boston_temp',
                       'houston_temp']
                     }}],
               chart_options =
                 {'title': {
                      'text': 'Weather Data of Boston and Houston'},
                  'xAxis': {
                       'title': {
                          'text': 'Month number'}}})

       
       return render_to_response({'weatherchart': cht})

And you can use the ``load_charts`` filter in the django template to render
the chart. ::

  &lt;head&gt;
      &lt;!-- code to include the highcharts and jQuery libraries goes here --&gt;
      &lt;!-- load_charts filter takes a comma-separated list of id's where --&gt;
      &lt;!-- the charts need to be rendered to                             --&gt;
      {% load chartit %}
      {{ weatherchart|load_charts:"container" }}
  &lt;/head&gt;
  &lt;body&gt;
      &lt;div id='container'&gt; Chart will be rendered here &lt;/div&gt;
  &lt;/body&gt;

===========================
How to Create Pivot Charts
===========================

Here is an example of how to create a pivot chart. Let's say we have the
following model. ::

   class DailyWeather(models.Model):
       month = models.IntegerField()
       day = models.IntegerField()
       temperature = models.DecimalField(max_digits=5, decimal_places=1)
       rainfall = models.DecimalField(max_digits=5, decimal_places=1)
       city = models.CharField(max_length=50)
       state = models.CharField(max_length=2)

We want to plot a pivot chart of month (along the x-axis) versus the average
rainfall (along the y-axis) of the top 3 cities with highest average
rainfall in each month. ::

    from django.db.models import Avg
    from chartit import PivotDataPool, PivotChart

    def rainfall_pivot_chart_view(request):
        
        rainpivotdata = PivotDataPool(
            series=[{
                'options': {
                    'source': DailyWeather.objects.all(),
                    'categories': ['month'],
                    'legend_by': 'city',
                    'top_n_per_cat': 3,
                },
                'terms': {
                    'avg_rain': Avg('rainfall'),
                }
            }]
        )

        
        rainpivcht = PivotChart(
            datasource=rainpivotdata,
            series_options=[{
                'options': {
                    'type': 'column',
                    'stacking': True
                },
                'terms': ['avg_rain']
            }],
            chart_options={
                'title': {
                    'text': 'Rain by Month in top 3 cities'
                },
                'xAxis': {
                    'title': {
                        'text': 'Month'
                    }
                }
            }
        )

        
        return render_to_response({'rainpivchart': rainpivcht})

And you can use the ``load_charts`` filter in the django template to render
the chart. ::

  &lt;head&gt;
      &lt;!-- code to include the highcharts and jQuery libraries goes here --&gt;
      &lt;!-- load_charts filter takes a comma-separated list of id's where --&gt;
      &lt;!-- the charts need to be rendered to                             --&gt;
      {% load chartit %}
      {{ rainpivchart|load_charts:"container" }}
  &lt;/head&gt;
  &lt;body&gt;
      &lt;div id='container'&gt; Chart will be rendered here &lt;/div&gt;
  &lt;/body&gt;

=========================
Rendering multiple charts
=========================

It is possible to render multiple charts in the same template. The first
argument to ``load_charts`` is the Chart object or a list of Chart objects,
and the second is a comma separated list of HTML IDs where the charts will
be rendered.

When calling Django's ``render`` you have to pass all you charts as a list::

    return render(request, 'index.html',
                 {
                    'chart_list' : [chart_1, chart_2],
                 }
            )

Then in your template you have to use the proper syntax::

    &lt;head&gt;
        {% load chartit %}
        {{ chart_list|load_charts:"chart_1,chart_2" }}
    &lt;/head&gt;
    &lt;body&gt;
        &lt;div id="chart_1"&gt;First chart will be rendered here&lt;/div&gt;
        &lt;div id="chart_2"&gt;Second chart will be rendered here&lt;/div&gt;
    &lt;/body&gt;

====
Demo
====

The above examples are just a brief taste of what you can do with
Django-Chartit. For more examples and to look at the charts in actions, check
out the `demo website &lt;http://chartit.shutupandship.com/demo&gt;`_.

===============
Documentation
===============

Full documentation is available
`here &lt;http://django-chartit.readthedocs.org/en/latest/?badge=latest&gt;`_ .

=============================
Required JavaScript Libraries
=============================

The following JavaScript Libraries are required for using Django-Chartit.

- `jQuery &lt;http://jquery.com&gt;`_ - versions 1.6.4 and 1.7 are known
  to work well with django-chartit.
- `Highcharts &lt;http://highcharts.com&gt;`_ - versions 2.1.7 and 2.2.0 are known
  to work well with django-chartit.

.. note:: While ``Django-Chartit`` itself is licensed under the BSD license,
   ``Highcharts`` is licensed under the `Highcharts license
   &lt;http://www.highcharts.com/license&gt;`_ and ``jQuery`` is licensed under both
   MIT License and GNU General Public License (GPL) Version 2. It is your own
   responsibility to abide by respective licenses when downloading and using
   the supporting JavaScript libraries.</description>
  <packager></packager>
  <url>https://github.com/chartit/django-chartit</url>
  <time file="1587430371" build="1587430362"/>
  <size package="50321" installed="40069" archive="40476"/>
  <location href="src/python-django_chartit-0.2.7-1.28.src.rpm"/>
  <format>
    <rpm:license>as is</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Python</rpm:group>
    <rpm:buildhost>lamb52</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4664" end="18404"/>
    <rpm:requires>
      <rpm:entry name="python-devel"/>
      <rpm:entry name="python-setuptools"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>python-landslide</name>
  <arch>src</arch>
  <version epoch="0" ver="1.1.3" rel="1.17"/>
  <checksum type="sha512" pkgid="YES">1636d8efa63253f8f1277f54aa7499d67c7937a030f1882d97b03e19b6c76239147c79b32d37d4d40f55a3c14007f80cbdbd7d369690c2d703adf19ef309c548</checksum>
  <summary>Lightweight markup language-based html5 slideshow generator</summary>
  <description>Landslide takes your Markdown, ReST, or Textile file(s) and generates fancy
HTML5 slideshow like `this &lt;http://adamzap.com/random/landslide.html&gt;`_.

Read the `README &lt;http://github.com/adamzap/landslide/blob/master/README.md&gt;`_
for formatting instructions and more information.</description>
  <packager></packager>
  <url>http://github.com/adamzap/landslide</url>
  <time file="1610474533" build="1610474523"/>
  <size package="97584" installed="91668" archive="92060"/>
  <location href="src/python-landslide-1.1.3-1.17.src.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Python</rpm:group>
    <rpm:buildhost>cloud109</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4664" end="6989"/>
    <rpm:provides>
      <rpm:entry name="python3-landslide" flags="EQ" epoch="0" ver="1.1.3" rel="1.17"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="fdupes"/>
      <rpm:entry name="python-rpm-macros"/>
      <rpm:entry name="python3-Jinja2"/>
      <rpm:entry name="python3-Markdown"/>
      <rpm:entry name="python3-Pygments"/>
      <rpm:entry name="python3-devel"/>
      <rpm:entry name="python3-docutils"/>
      <rpm:entry name="python3-setuptools"/>
      <rpm:entry name="python3-six"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>python-requests</name>
  <arch>noarch</arch>
  <version epoch="0" ver="2.11.1" rel="1.29"/>
  <checksum type="sha512" pkgid="YES">8161717a4c19bf6f52e8deae0011c43b3097471d771d111e3ecac12ddbd07fb117a782b5c414b5c90524d0262d48ea53b8a2b116f0ccf8a1482a2f796fc2ba35</checksum>
  <summary>Awesome Python HTTP Library That's Actually Usable</summary>
  <description>Requests is an ISC Licensed HTTP library, written in Python, for
human beings.

Most existing Python modules for sending HTTP requests are
extremely verbose and cumbersome. Python's builtin urllib2 module
provides most of the HTTP capabilities you should need, but the api
is thoroughly broken. It requires an enormous amount of work (even
method overrides) to perform the simplest of tasks.

Features:
 - Extremely simple GET, HEAD, POST, PUT, DELETE Requests:
   + Simple HTTP Header Request Attachment.
   + Simple Data/Params Request Attachment.
   + Simple Multipart File Uploads.
   + CookieJar Support.
   + Redirection History.
   + Redirection Recursion Urllib Fix.
   + Auto Decompression of GZipped Content.
   + Unicode URL Support.
 - Simple Authentication:
   + Simple URL + HTTP Auth Registry.</description>
  <packager></packager>
  <url>http://python-requests.org/</url>
  <time file="1579855648" build="1579855624"/>
  <size package="389544" installed="1989748" archive="2023512"/>
  <location href="noarch/python-requests-2.11.1-1.29.noarch.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Python</rpm:group>
    <rpm:buildhost>lamb01</rpm:buildhost>
    <rpm:sourcerpm>python-requests-2.11.1-1.29.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4664" end="41400"/>
    <rpm:provides>
      <rpm:entry name="python-requests" flags="EQ" epoch="0" ver="2.11.1" rel="1.29"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="ca-certificates"/>
      <rpm:entry name="python"/>
      <rpm:entry name="python(abi)" flags="EQ" epoch="0" ver="2.7"/>
    </rpm:requires>
    <rpm:recommends>
      <rpm:entry name="ca-certificates-mozilla"/>
      <rpm:entry name="python-ndg-httpsclient"/>
      <rpm:entry name="python-pyOpenSSL"/>
      <rpm:entry name="python-pyasn1"/>
    </rpm:recommends>
  </format>
</package>
<package type="rpm">
  <name>python-requests</name>
  <arch>src</arch>
  <version epoch="0" ver="2.11.1" rel="1.29"/>
  <checksum type="sha512" pkgid="YES">b9f558144df414892eea95519ae9da39220f1947b957b60c35cc82c3214b48fac613f63344cf0256949d18340cff72bd215cd036ebc37e8d381ce431d9b717f1</checksum>
  <summary>Awesome Python HTTP Library That's Actually Usable</summary>
  <description>Requests is an ISC Licensed HTTP library, written in Python, for
human beings.

Most existing Python modules for sending HTTP requests are
extremely verbose and cumbersome. Python's builtin urllib2 module
provides most of the HTTP capabilities you should need, but the api
is thoroughly broken. It requires an enormous amount of work (even
method overrides) to perform the simplest of tasks.

Features:
 - Extremely simple GET, HEAD, POST, PUT, DELETE Requests:
   + Simple HTTP Header Request Attachment.
   + Simple Data/Params Request Attachment.
   + Simple Multipart File Uploads.
   + CookieJar Support.
   + Redirection History.
   + Redirection Recursion Urllib Fix.
   + Auto Decompression of GZipped Content.
   + Unicode URL Support.
 - Simple Authentication:
   + Simple URL + HTTP Auth Registry.</description>
  <packager></packager>
  <url>http://python-requests.org/</url>
  <time file="1579855648" build="1579855624"/>
  <size package="534616" installed="527343" archive="528020"/>
  <location href="src/python-requests-2.11.1-1.29.src.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Python</rpm:group>
    <rpm:buildhost>lamb01</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4664" end="42448"/>
    <rpm:requires>
      <rpm:entry name="ca-certificates"/>
      <rpm:entry name="python"/>
      <rpm:entry name="python-devel"/>
      <rpm:entry name="python-py"/>
      <rpm:entry name="python-setuptools"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>python-stravalib</name>
  <arch>noarch</arch>
  <version epoch="0" ver="0.6.3" rel="3.19"/>
  <checksum type="sha512" pkgid="YES">c581d43c4f0a5f21a8a8aa07e2c5470fbebb21017c4566ef7b7779cbfc2fdb017f77134fa27b12391e05610870ed6bf8664f8f1002be478f0b4078688ab0ab7b</checksum>
  <summary>Python library for interacting with Strava v3 REST API</summary>
  <description>stravalib is a Python 2.7 and 3.x library that provides a simple API for interacting
with the Strava activity tracking website.

Changes in 0.6.3
----------------
* Fixed update_activity to include description (#91)</description>
  <packager></packager>
  <url>http://github.com/hozn/stravalib</url>
  <time file="1522260818" build="1522260811"/>
  <size package="103680" installed="851656" archive="861848"/>
  <location href="noarch/python-stravalib-0.6.3-3.19.noarch.rpm"/>
  <format>
    <rpm:license>as_is</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Python</rpm:group>
    <rpm:buildhost>lamb58</rpm:buildhost>
    <rpm:sourcerpm>python-stravalib-0.6.3-3.19.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4664" end="14712"/>
    <rpm:provides>
      <rpm:entry name="python-stravalib" flags="EQ" epoch="0" ver="0.6.3" rel="3.19"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="python(abi)" flags="EQ" epoch="0" ver="2.7"/>
      <rpm:entry name="python-arrow"/>
      <rpm:entry name="python-pytz"/>
      <rpm:entry name="python-requests" flags="GE" epoch="0" ver="2.0"/>
      <rpm:entry name="python-six"/>
      <rpm:entry name="python-units"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>python-stravalib</name>
  <arch>src</arch>
  <version epoch="0" ver="0.6.3" rel="3.19"/>
  <checksum type="sha512" pkgid="YES">96fc38eae990772c48c6c89b74fdbad32b2ee0b0bd317b0cde974e503e6c5603ec1d4feeff6eb3bf5558409c06638a3a2c6c67d12c79e09050b805cb942270bd</checksum>
  <summary>Python library for interacting with Strava v3 REST API</summary>
  <description>stravalib is a Python 2.7 and 3.x library that provides a simple API for interacting
with the Strava activity tracking website.

Changes in 0.6.3
----------------
* Fixed update_activity to include description (#91)</description>
  <packager></packager>
  <url>http://github.com/hozn/stravalib</url>
  <time file="1522260818" build="1522260811"/>
  <size package="563689" installed="566745" archive="567140"/>
  <location href="src/python-stravalib-0.6.3-3.19.src.rpm"/>
  <format>
    <rpm:license>as_is</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Python</rpm:group>
    <rpm:buildhost>lamb58</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4664" end="6740"/>
    <rpm:requires>
      <rpm:entry name="python-arrow"/>
      <rpm:entry name="python-devel"/>
      <rpm:entry name="python-nose" flags="GE" epoch="0" ver="1.0.3"/>
      <rpm:entry name="python-pip"/>
      <rpm:entry name="python-pytz"/>
      <rpm:entry name="python-requests" flags="GE" epoch="0" ver="2.0"/>
      <rpm:entry name="python-setuptools"/>
      <rpm:entry name="python-six"/>
      <rpm:entry name="python-units"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>python-units</name>
  <arch>noarch</arch>
  <version epoch="0" ver="0.06" rel="1.21"/>
  <checksum type="sha512" pkgid="YES">630b8be2f8a2c8c4c64def9e2e0c340b967293098d6c5b780c883df61639509354a65fda4f658e283259e788a1c85053eee7536c13be95f50339eee6f34e94ef</checksum>
  <summary>Python support for quantities with units</summary>
  <description>Provides support for quantities and units, which strictly disallow
invalid operations between incompatible quantities. For example, we cannot add
2 metres to 5 seconds, because this doesn't make sense.</description>
  <packager></packager>
  <url>https://bitbucket.org/adonohue/units/</url>
  <time file="1578844488" build="1578844479"/>
  <size package="42556" installed="156418" archive="164744"/>
  <location href="noarch/python-units-0.06-1.21.noarch.rpm"/>
  <format>
    <rpm:license>Python-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Python</rpm:group>
    <rpm:buildhost>lamb54</rpm:buildhost>
    <rpm:sourcerpm>python-units-0.06-1.21.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4664" end="13784"/>
    <rpm:provides>
      <rpm:entry name="python-units" flags="EQ" epoch="0" ver="0.06" rel="1.21"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="python(abi)" flags="EQ" epoch="0" ver="2.7"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>python-units</name>
  <arch>src</arch>
  <version epoch="0" ver="0.06" rel="1.21"/>
  <checksum type="sha512" pkgid="YES">268222e6886dfa52df7e3e8516751871f91ee606f094462b533d272c02e70e55446f2453ae4febe6dab274e1ddc66a83df099a6a85aa6f1d1171b2a40f487252</checksum>
  <summary>Python support for quantities with units</summary>
  <description>Provides support for quantities and units, which strictly disallow
invalid operations between incompatible quantities. For example, we cannot add
2 metres to 5 seconds, because this doesn't make sense.</description>
  <packager></packager>
  <url>https://bitbucket.org/adonohue/units/</url>
  <time file="1578844488" build="1578844479"/>
  <size package="27083" installed="20945" archive="21328"/>
  <location href="src/python-units-0.06-1.21.src.rpm"/>
  <format>
    <rpm:license>Python-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Python</rpm:group>
    <rpm:buildhost>lamb54</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4664" end="6644"/>
    <rpm:requires>
      <rpm:entry name="python-devel"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>python3-landslide</name>
  <arch>noarch</arch>
  <version epoch="0" ver="1.1.3" rel="1.17"/>
  <checksum type="sha512" pkgid="YES">da93e23a47e08a809566d37032541e8971237c42d4b5e232e04d3540e951910b6702d7b48f20d7c0ac4332b033d13080c379b63d07415896084d20b8bedfb0ce</checksum>
  <summary>Lightweight markup language-based html5 slideshow generator</summary>
  <description>Landslide takes your Markdown, ReST, or Textile file(s) and generates fancy
HTML5 slideshow like `this &lt;http://adamzap.com/random/landslide.html&gt;`_.

Read the `README &lt;http://github.com/adamzap/landslide/blob/master/README.md&gt;`_
for formatting instructions and more information.</description>
  <packager></packager>
  <url>http://github.com/adamzap/landslide</url>
  <time file="1610474533" build="1610474523"/>
  <size package="105379" installed="339383" archive="354084"/>
  <location href="noarch/python3-landslide-1.1.3-1.17.noarch.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Python</rpm:group>
    <rpm:buildhost>cloud109</rpm:buildhost>
    <rpm:sourcerpm>python-landslide-1.1.3-1.17.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4664" end="18581"/>
    <rpm:provides>
      <rpm:entry name="python3-landslide" flags="EQ" epoch="0" ver="1.1.3" rel="1.17"/>
      <rpm:entry name="python3.8dist(landslide)" flags="EQ" epoch="0" ver="1.1.3"/>
      <rpm:entry name="python3dist(landslide)" flags="EQ" epoch="0" ver="1.1.3"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/usr/bin/python3"/>
      <rpm:entry name="python(abi)" flags="EQ" epoch="0" ver="3.8"/>
      <rpm:entry name="python3-Jinja2"/>
      <rpm:entry name="python3-Markdown"/>
      <rpm:entry name="python3-Pygments"/>
      <rpm:entry name="python3-docutils"/>
      <rpm:entry name="python3-six"/>
    </rpm:requires>
    <file>/usr/bin/landslide</file>
  </format>
</package>
<package type="rpm">
  <name>python3-salt</name>
  <arch>i586</arch>
  <version epoch="0" ver="3006.0" rel="2.432"/>
  <checksum type="sha512" pkgid="YES">67061c7bed3c39e82ea2530c9e0acd0105587ed349f7b0800e1034b8f94794f7e517819a0480c878a632b321723312d1ff78bbd968d47835792c555b2c2a8173</checksum>
  <summary>python3 library for salt</summary>
  <description>Python3 specific files for salt</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783248887" build="1707299555"/>
  <size package="11571267" installed="57620024" archive="58306356"/>
  <location href="i586/python3-salt-3006.0-2.432.i586.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.432.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="552677"/>
    <rpm:provides>
      <rpm:entry name="bundled(python3-tornado)" flags="EQ" epoch="0" ver="4.5.3"/>
      <rpm:entry name="python3-salt" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="python3-salt(x86-32)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="python3.13dist(salt)" flags="EQ" epoch="0" ver="3006"/>
      <rpm:entry name="python3dist(salt)" flags="EQ" epoch="0" ver="3006"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/bin/sh" pre="1"/>
      <rpm:entry name="/bin/sh"/>
      <rpm:entry name="/usr/bin/env"/>
      <rpm:entry name="libzypp(plugin:system)" flags="GE" epoch="0" ver="0" pre="1"/>
      <rpm:entry name="python(abi)" flags="EQ" epoch="0" ver="3.13"/>
      <rpm:entry name="python3"/>
      <rpm:entry name="python3-Jinja2"/>
      <rpm:entry name="python3-M2Crypto"/>
      <rpm:entry name="python3-MarkupSafe"/>
      <rpm:entry name="python3-PyYAML"/>
      <rpm:entry name="python3-contextvars"/>
      <rpm:entry name="python3-distro"/>
      <rpm:entry name="python3-jmespath"/>
      <rpm:entry name="python3-looseversion"/>
      <rpm:entry name="python3-msgpack-python" flags="GT" epoch="0" ver="0.3"/>
      <rpm:entry name="python3-packaging"/>
      <rpm:entry name="python3-psutil"/>
      <rpm:entry name="python3-pyzmq" flags="GE" epoch="0" ver="2.2.0"/>
      <rpm:entry name="python3-requests" flags="GE" epoch="0" ver="1.0.0"/>
      <rpm:entry name="python3-rpm"/>
      <rpm:entry name="python3-xml"/>
      <rpm:entry name="python3-zypp-plugin"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:requires>
    <rpm:suggests>
      <rpm:entry name="python3-Mako"/>
      <rpm:entry name="python3-gnupg"/>
      <rpm:entry name="python3-timelib"/>
    </rpm:suggests>
    <rpm:recommends>
      <rpm:entry name="python3-netaddr"/>
      <rpm:entry name="python3-pyinotify"/>
    </rpm:recommends>
  </format>
</package>
<package type="rpm">
  <name>python3-salt</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="3006.0" rel="2.432"/>
  <checksum type="sha512" pkgid="YES">b275669455fc00a5788b30cbdf66dd98f831e91534b758e40c8d437ad281b79068658c325fb565ba06767fab0ea2a9400b408395666479030c16675da501a495</checksum>
  <summary>python3 library for salt</summary>
  <description>Python3 specific files for salt</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783249049" build="1707299555"/>
  <size package="11571263" installed="57620024" archive="58306356"/>
  <location href="x86_64/python3-salt-3006.0-2.432.x86_64.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.432.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="552673"/>
    <rpm:provides>
      <rpm:entry name="bundled(python3-tornado)" flags="EQ" epoch="0" ver="4.5.3"/>
      <rpm:entry name="python3-salt" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="python3-salt(x86-64)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="python3.13dist(salt)" flags="EQ" epoch="0" ver="3006"/>
      <rpm:entry name="python3dist(salt)" flags="EQ" epoch="0" ver="3006"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/bin/sh" pre="1"/>
      <rpm:entry name="/bin/sh"/>
      <rpm:entry name="/usr/bin/env"/>
      <rpm:entry name="libzypp(plugin:system)" flags="GE" epoch="0" ver="0" pre="1"/>
      <rpm:entry name="python(abi)" flags="EQ" epoch="0" ver="3.13"/>
      <rpm:entry name="python3"/>
      <rpm:entry name="python3-Jinja2"/>
      <rpm:entry name="python3-M2Crypto"/>
      <rpm:entry name="python3-MarkupSafe"/>
      <rpm:entry name="python3-PyYAML"/>
      <rpm:entry name="python3-contextvars"/>
      <rpm:entry name="python3-distro"/>
      <rpm:entry name="python3-jmespath"/>
      <rpm:entry name="python3-looseversion"/>
      <rpm:entry name="python3-msgpack-python" flags="GT" epoch="0" ver="0.3"/>
      <rpm:entry name="python3-packaging"/>
      <rpm:entry name="python3-psutil"/>
      <rpm:entry name="python3-pyzmq" flags="GE" epoch="0" ver="2.2.0"/>
      <rpm:entry name="python3-requests" flags="GE" epoch="0" ver="1.0.0"/>
      <rpm:entry name="python3-rpm"/>
      <rpm:entry name="python3-xml"/>
      <rpm:entry name="python3-zypp-plugin"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:requires>
    <rpm:suggests>
      <rpm:entry name="python3-Mako"/>
      <rpm:entry name="python3-gnupg"/>
      <rpm:entry name="python3-timelib"/>
    </rpm:suggests>
    <rpm:recommends>
      <rpm:entry name="python3-netaddr"/>
      <rpm:entry name="python3-pyinotify"/>
    </rpm:recommends>
  </format>
</package>
<package type="rpm">
  <name>python3-salt</name>
  <arch>i586</arch>
  <version epoch="0" ver="3006.0" rel="2.435"/>
  <checksum type="sha512" pkgid="YES">744f1288908cf272b09cbe9de4aba2b1ae43bc7fdc41b929e6e821b835f26ebe8ba91f57136d68e45e26718affc94fa9d7b8a50e499ad56797642cb2d58aa6de</checksum>
  <summary>python3 library for salt</summary>
  <description>Python3 specific files for salt</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783248876" build="1707299555"/>
  <size package="11571247" installed="57620024" archive="58306356"/>
  <location href="i586/python3-salt-3006.0-2.435.i586.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.435.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="552657"/>
    <rpm:provides>
      <rpm:entry name="bundled(python3-tornado)" flags="EQ" epoch="0" ver="4.5.3"/>
      <rpm:entry name="python3-salt" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="python3-salt(x86-32)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="python3.13dist(salt)" flags="EQ" epoch="0" ver="3006"/>
      <rpm:entry name="python3dist(salt)" flags="EQ" epoch="0" ver="3006"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/bin/sh" pre="1"/>
      <rpm:entry name="/bin/sh"/>
      <rpm:entry name="/usr/bin/env"/>
      <rpm:entry name="libzypp(plugin:system)" flags="GE" epoch="0" ver="0" pre="1"/>
      <rpm:entry name="python(abi)" flags="EQ" epoch="0" ver="3.13"/>
      <rpm:entry name="python3"/>
      <rpm:entry name="python3-Jinja2"/>
      <rpm:entry name="python3-M2Crypto"/>
      <rpm:entry name="python3-MarkupSafe"/>
      <rpm:entry name="python3-PyYAML"/>
      <rpm:entry name="python3-contextvars"/>
      <rpm:entry name="python3-distro"/>
      <rpm:entry name="python3-jmespath"/>
      <rpm:entry name="python3-looseversion"/>
      <rpm:entry name="python3-msgpack-python" flags="GT" epoch="0" ver="0.3"/>
      <rpm:entry name="python3-packaging"/>
      <rpm:entry name="python3-psutil"/>
      <rpm:entry name="python3-pyzmq" flags="GE" epoch="0" ver="2.2.0"/>
      <rpm:entry name="python3-requests" flags="GE" epoch="0" ver="1.0.0"/>
      <rpm:entry name="python3-rpm"/>
      <rpm:entry name="python3-xml"/>
      <rpm:entry name="python3-zypp-plugin"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
    </rpm:requires>
    <rpm:suggests>
      <rpm:entry name="python3-Mako"/>
      <rpm:entry name="python3-gnupg"/>
      <rpm:entry name="python3-timelib"/>
    </rpm:suggests>
    <rpm:recommends>
      <rpm:entry name="python3-netaddr"/>
      <rpm:entry name="python3-pyinotify"/>
    </rpm:recommends>
  </format>
</package>
<package type="rpm">
  <name>python3-salt</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="3006.0" rel="2.435"/>
  <checksum type="sha512" pkgid="YES">04c601a7410ed691bfdfb584e5980254a11805a6eb616d7075f4b4b24f0d5dd1297e03db861da79d24c358286ae3535f2504efa5d15127cb841bc6b9f4607f60</checksum>
  <summary>python3 library for salt</summary>
  <description>Python3 specific files for salt</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783249041" build="1707299555"/>
  <size package="11571243" installed="57620024" archive="58306356"/>
  <location href="x86_64/python3-salt-3006.0-2.435.x86_64.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.435.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="552653"/>
    <rpm:provides>
      <rpm:entry name="bundled(python3-tornado)" flags="EQ" epoch="0" ver="4.5.3"/>
      <rpm:entry name="python3-salt" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="python3-salt(x86-64)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="python3.13dist(salt)" flags="EQ" epoch="0" ver="3006"/>
      <rpm:entry name="python3dist(salt)" flags="EQ" epoch="0" ver="3006"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/bin/sh" pre="1"/>
      <rpm:entry name="/bin/sh"/>
      <rpm:entry name="/usr/bin/env"/>
      <rpm:entry name="libzypp(plugin:system)" flags="GE" epoch="0" ver="0" pre="1"/>
      <rpm:entry name="python(abi)" flags="EQ" epoch="0" ver="3.13"/>
      <rpm:entry name="python3"/>
      <rpm:entry name="python3-Jinja2"/>
      <rpm:entry name="python3-M2Crypto"/>
      <rpm:entry name="python3-MarkupSafe"/>
      <rpm:entry name="python3-PyYAML"/>
      <rpm:entry name="python3-contextvars"/>
      <rpm:entry name="python3-distro"/>
      <rpm:entry name="python3-jmespath"/>
      <rpm:entry name="python3-looseversion"/>
      <rpm:entry name="python3-msgpack-python" flags="GT" epoch="0" ver="0.3"/>
      <rpm:entry name="python3-packaging"/>
      <rpm:entry name="python3-psutil"/>
      <rpm:entry name="python3-pyzmq" flags="GE" epoch="0" ver="2.2.0"/>
      <rpm:entry name="python3-requests" flags="GE" epoch="0" ver="1.0.0"/>
      <rpm:entry name="python3-rpm"/>
      <rpm:entry name="python3-xml"/>
      <rpm:entry name="python3-zypp-plugin"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
    </rpm:requires>
    <rpm:suggests>
      <rpm:entry name="python3-Mako"/>
      <rpm:entry name="python3-gnupg"/>
      <rpm:entry name="python3-timelib"/>
    </rpm:suggests>
    <rpm:recommends>
      <rpm:entry name="python3-netaddr"/>
      <rpm:entry name="python3-pyinotify"/>
    </rpm:recommends>
  </format>
</package>
<package type="rpm">
  <name>python3-salt-testsuite</name>
  <arch>i586</arch>
  <version epoch="0" ver="3006.0" rel="2.432"/>
  <checksum type="sha512" pkgid="YES">2b883f50884c0a7f6ac942dea852516e3196191127938c8ff4abd5e15d978ab1a2674bafdc04f0fac0c633f1c9f6dd679b569d1f9aec17d4fc83715fd8e4b8bc</checksum>
  <summary>Unit and integration tests for Salt</summary>
  <description>Collection of unit, functional, and integration tests for salt.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783248887" build="1707299555"/>
  <size package="4371001" installed="21320475" archive="21820272"/>
  <location href="i586/python3-salt-testsuite-3006.0-2.432.i586.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.432.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="365829"/>
    <rpm:provides>
      <rpm:entry name="python3-salt-testsuite" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="python3-salt-testsuite(x86-32)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/usr/bin/env"/>
      <rpm:entry name="python(abi)" flags="EQ" epoch="0" ver="3.13"/>
      <rpm:entry name="python3-CherryPy"/>
      <rpm:entry name="python3-Genshi"/>
      <rpm:entry name="python3-Mako"/>
      <rpm:entry name="python3-boto3"/>
      <rpm:entry name="python3-docker"/>
      <rpm:entry name="python3-pygit2"/>
      <rpm:entry name="python3-pytest" flags="GE" epoch="0" ver="7.0.1"/>
      <rpm:entry name="python3-pytest-httpserver"/>
      <rpm:entry name="python3-pytest-salt-factories" flags="GE" epoch="0" ver="1.0.0~rc21"/>
      <rpm:entry name="python3-pytest-subtests"/>
      <rpm:entry name="python3-testinfra"/>
      <rpm:entry name="python3-yamllint"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:requires>
    <rpm:obsoletes>
      <rpm:entry name="salt-tests"/>
    </rpm:obsoletes>
  </format>
</package>
<package type="rpm">
  <name>python3-salt-testsuite</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="3006.0" rel="2.432"/>
  <checksum type="sha512" pkgid="YES">c9d376d3ff79c94f79c88abc1a4194a43caf75a6b58615407a5d1ad9cfde62a852f5f4810e74c392f4aa51bc16bb05fed42af1cc21125fdca0b672b558989bf5</checksum>
  <summary>Unit and integration tests for Salt</summary>
  <description>Collection of unit, functional, and integration tests for salt.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783249049" build="1707299555"/>
  <size package="4370997" installed="21320475" archive="21820272"/>
  <location href="x86_64/python3-salt-testsuite-3006.0-2.432.x86_64.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.432.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="365825"/>
    <rpm:provides>
      <rpm:entry name="python3-salt-testsuite" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="python3-salt-testsuite(x86-64)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/usr/bin/env"/>
      <rpm:entry name="python(abi)" flags="EQ" epoch="0" ver="3.13"/>
      <rpm:entry name="python3-CherryPy"/>
      <rpm:entry name="python3-Genshi"/>
      <rpm:entry name="python3-Mako"/>
      <rpm:entry name="python3-boto3"/>
      <rpm:entry name="python3-docker"/>
      <rpm:entry name="python3-pygit2"/>
      <rpm:entry name="python3-pytest" flags="GE" epoch="0" ver="7.0.1"/>
      <rpm:entry name="python3-pytest-httpserver"/>
      <rpm:entry name="python3-pytest-salt-factories" flags="GE" epoch="0" ver="1.0.0~rc21"/>
      <rpm:entry name="python3-pytest-subtests"/>
      <rpm:entry name="python3-testinfra"/>
      <rpm:entry name="python3-yamllint"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:requires>
    <rpm:obsoletes>
      <rpm:entry name="salt-tests"/>
    </rpm:obsoletes>
  </format>
</package>
<package type="rpm">
  <name>ruby4.0-rubygem-artii</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="2.1.2" rel="1.78"/>
  <checksum type="sha512" pkgid="YES">12aa299c78c6f60da512c8881801dd07f37126a7a61f112e2fc937e7dddcd3c6c43aeb2f2895c0765286f67c088e1510f6e1fb0285a019a487bf36a3ff6cff62</checksum>
  <summary>A little Figlet-based ASCII art generator</summary>
  <description>A Figlet-based ASCII art generator, useful for comand-line based ASCII Art
Generation.</description>
  <packager></packager>
  <url>http://github.com/miketierney/artii</url>
  <time file="1783205576" build="1565713443"/>
  <size package="10098148" installed="14951258" archive="15088012"/>
  <location href="x86_64/ruby4.0-rubygem-artii-2.1.2-1.78.x86_64.rpm"/>
  <format>
    <rpm:license>MIT</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Ruby</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>rubygem-artii-2.1.2-1.78.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="102657"/>
    <rpm:provides>
      <rpm:entry name="ruby4.0-rubygem-artii" flags="EQ" epoch="0" ver="2.1.2" rel="1.78"/>
      <rpm:entry name="ruby4.0-rubygem-artii(x86-64)" flags="EQ" epoch="0" ver="2.1.2" rel="1.78"/>
      <rpm:entry name="rubygem(artii)" flags="EQ" epoch="0" ver="2.1.2"/>
      <rpm:entry name="rubygem(ruby:4.0.0:artii)" flags="EQ" epoch="0" ver="2.1.2"/>
      <rpm:entry name="rubygem(ruby:4.0.0:artii:2)" flags="EQ" epoch="0" ver="2.1.2"/>
      <rpm:entry name="rubygem(ruby:4.0.0:artii:2.1)" flags="EQ" epoch="0" ver="2.1.2"/>
      <rpm:entry name="rubygem(ruby:4.0.0:artii:2.1.2)" flags="EQ" epoch="0" ver="2.1.2"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/usr/bin/ruby.ruby4.0"/>
      <rpm:entry name="alts"/>
      <rpm:entry name="alts" pre="1"/>
      <rpm:entry name="alts"/>
      <rpm:entry name="ruby(abi)" flags="EQ" epoch="0" ver="4.0.0"/>
    </rpm:requires>
    <rpm:enhances>
      <rpm:entry name="ruby4.0"/>
    </rpm:enhances>
    <file>/usr/bin/artii</file>
    <file>/usr/bin/artii-2.1.2</file>
    <file>/usr/bin/artii.ruby4.0</file>
    <file>/usr/bin/artii.ruby4.0-2.1.2</file>
    <file>/usr/lib64/ruby/gems/4.0.0/gems/artii-2.1.2/bin/artii</file>
  </format>
</package>
<package type="rpm">
  <name>ruby4.0-rubygem-gli</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="2.17.1" rel="1.95"/>
  <checksum type="sha512" pkgid="YES">7c43efc13acab4d99ec0af68012971d161cf050460c389bd40c4ddddfd9c19d990d6048fe1ec1548d0c0b0cb634db483671956b8f58895db397f4324745d12b1</checksum>
  <summary>Build command-suite CLI apps that are awesome</summary>
  <description>Build command-suite CLI apps that are awesome.  Bootstrap your app, add
commands, options and documentation while maintaining a well-tested idiomatic
command-line app.</description>
  <packager></packager>
  <url>http://davetron5000.github.com/gli</url>
  <time file="1783205574" build="1783205571"/>
  <size package="140197" installed="304436" archive="320428"/>
  <location href="x86_64/ruby4.0-rubygem-gli-2.17.1-1.95.x86_64.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Ruby</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>rubygem-gli-2.17.1-1.95.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="19069"/>
    <rpm:provides>
      <rpm:entry name="ruby4.0-rubygem-gli" flags="EQ" epoch="0" ver="2.17.1" rel="1.95"/>
      <rpm:entry name="ruby4.0-rubygem-gli(x86-64)" flags="EQ" epoch="0" ver="2.17.1" rel="1.95"/>
      <rpm:entry name="rubygem(gli)" flags="EQ" epoch="0" ver="2.17.1"/>
      <rpm:entry name="rubygem(ruby:4.0.0:gli)" flags="EQ" epoch="0" ver="2.17.1"/>
      <rpm:entry name="rubygem(ruby:4.0.0:gli:2)" flags="EQ" epoch="0" ver="2.17.1"/>
      <rpm:entry name="rubygem(ruby:4.0.0:gli:2.17)" flags="EQ" epoch="0" ver="2.17.1"/>
      <rpm:entry name="rubygem(ruby:4.0.0:gli:2.17.1)" flags="EQ" epoch="0" ver="2.17.1"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/usr/bin/ruby.ruby4.0"/>
      <rpm:entry name="alts"/>
      <rpm:entry name="alts" pre="1"/>
      <rpm:entry name="alts"/>
      <rpm:entry name="ruby(abi)" flags="EQ" epoch="0" ver="4.0.0"/>
    </rpm:requires>
    <rpm:enhances>
      <rpm:entry name="ruby4.0"/>
    </rpm:enhances>
    <file>/usr/bin/gli</file>
    <file>/usr/bin/gli-2.17.1</file>
    <file>/usr/bin/gli.ruby4.0</file>
    <file>/usr/bin/gli.ruby4.0-2.17.1</file>
    <file>/usr/lib64/ruby/gems/4.0.0/gems/gli-2.17.1/bin/gli</file>
    <file>/usr/lib64/ruby/gems/4.0.0/gems/gli-2.17.1/bin/report_on_rake_results</file>
    <file>/usr/lib64/ruby/gems/4.0.0/gems/gli-2.17.1/bin/test_all_rubies.sh</file>
  </format>
</package>
<package type="rpm">
  <name>ruby4.0-rubygem-parade</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="0.10.2" rel="1.91"/>
  <checksum type="sha512" pkgid="YES">24983de6055f6206ba3477c39cc5bf613bbdc73bcec1d87028ad74b3a16e9b091fc0de129110b81abd4eb7c60c9f88366511289cbc9d618dc757e9ccca0c1f9b</checksum>
  <summary>The best damn presentation software a developer could ever love</summary>
  <description>Parade is an open source presentation software that consists of a Sinatra
web
app that serves up markdown files in a presentation format. Parade can serve a
directory or be configured to run with a simple configuration file.
* Markdown backed data
&gt; This ultimately makes it easier to manage diffs when making changes,
using the content in other documents, and quickly re-using portions of a
presentation.
* Syntax Highlighting
&gt; Using GitHub flavored markdown, code fences will automatically be
syntax highlighted, making it incredibly easy to integrate code samples.
* Code Execution
&gt; Slides are able to provide execution and show results for JavaScript
and Coffeescript live within the browser. This allows for live
demonstrations of code.
* Web
&gt; Slide presentations are basically websites -- they run in your browser from
your desktop. This allows for a wide range of possibilities for customization
and expandability.
* Basic Templating and Color Schemes
&gt; Several templates and color scheme options have been provided to help you
get started. While Parade does not currently provide anything near the variety
of many other presentation packages, it is well-suited for basic
presentations.
* Design Flexibility (pros and cons)
&gt; Unless you're skilled in CSS/Animations, you will likely have a harder
time creating presentations with as much polish as other programs provide.
However, this approach also makes Parade incredibly flexible if you do
understand CSS/Animations.</description>
  <packager></packager>
  <url>http://github.com/burtlo/parade</url>
  <time file="1783205571" build="1783205568"/>
  <size package="418853" installed="1042059" archive="1066996"/>
  <location href="x86_64/ruby4.0-rubygem-parade-0.10.2-1.91.x86_64.rpm"/>
  <format>
    <rpm:license>MIT</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Ruby</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>rubygem-parade-0.10.2-1.91.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="27301"/>
    <rpm:provides>
      <rpm:entry name="ruby4.0-rubygem-parade" flags="EQ" epoch="0" ver="0.10.2" rel="1.91"/>
      <rpm:entry name="ruby4.0-rubygem-parade(x86-64)" flags="EQ" epoch="0" ver="0.10.2" rel="1.91"/>
      <rpm:entry name="rubygem(parade)" flags="EQ" epoch="0" ver="0.10.2"/>
      <rpm:entry name="rubygem(ruby:4.0.0:parade)" flags="EQ" epoch="0" ver="0.10.2"/>
      <rpm:entry name="rubygem(ruby:4.0.0:parade:0)" flags="EQ" epoch="0" ver="0.10.2"/>
      <rpm:entry name="rubygem(ruby:4.0.0:parade:0.10)" flags="EQ" epoch="0" ver="0.10.2"/>
      <rpm:entry name="rubygem(ruby:4.0.0:parade:0.10.2)" flags="EQ" epoch="0" ver="0.10.2"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/usr/bin/ruby.ruby4.0"/>
      <rpm:entry name="alts"/>
      <rpm:entry name="alts" pre="1"/>
      <rpm:entry name="alts"/>
      <rpm:entry name="ruby(abi)" flags="EQ" epoch="0" ver="4.0.0"/>
      <rpm:entry name="rubygem(ruby:4.0.0:blankslate)" flags="EQ" epoch="0" ver="2.1.2.4"/>
      <rpm:entry name="rubygem(ruby:4.0.0:css_parser)" flags="GE" epoch="0" ver="0"/>
      <rpm:entry name="rubygem(ruby:4.0.0:gli:1.6)" flags="GE" epoch="0" ver="1.6"/>
      <rpm:entry name="rubygem(ruby:4.0.0:json)" flags="GE" epoch="0" ver="0"/>
      <rpm:entry name="rubygem(ruby:4.0.0:nokogiri)" flags="GE" epoch="0" ver="0"/>
      <rpm:entry name="rubygem(ruby:4.0.0:parslet)" flags="EQ" epoch="0" ver="1.4.0"/>
      <rpm:entry name="rubygem(ruby:4.0.0:redcarpet)" flags="GE" epoch="0" ver="0"/>
      <rpm:entry name="rubygem(ruby:4.0.0:rouge)" flags="EQ" epoch="0" ver="0.2.14"/>
      <rpm:entry name="rubygem(ruby:4.0.0:sinatra:1)" flags="GE" epoch="0" ver="1.3"/>
    </rpm:requires>
    <rpm:enhances>
      <rpm:entry name="ruby4.0"/>
    </rpm:enhances>
    <file>/usr/bin/parade</file>
    <file>/usr/bin/parade-0.10.2</file>
    <file>/usr/bin/parade.ruby4.0</file>
    <file>/usr/bin/parade.ruby4.0-0.10.2</file>
    <file>/usr/lib64/ruby/gems/4.0.0/gems/parade-0.10.2/bin/parade</file>
  </format>
</package>
<package type="rpm">
  <name>ruby4.0-rubygem-rainbow</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="3.0.0" rel="2.64"/>
  <checksum type="sha512" pkgid="YES">f40390cc69b73f5410764ea1c946148e188ee2bcb1a7e147530136609c1163a51efbd6d70990687791a04ddb16d9c3f216b56b93da327ee40060200ca0c14c40</checksum>
  <summary>Colorize printed text on ANSI terminals</summary>
  <description>Colorize printed text on ANSI terminals.</description>
  <packager></packager>
  <url>https://github.com/sickill/rainbow</url>
  <time file="1783205570" build="1565713974"/>
  <size package="38752" installed="49941" archive="56016"/>
  <location href="x86_64/ruby4.0-rubygem-rainbow-3.0.0-2.64.x86_64.rpm"/>
  <format>
    <rpm:license>MIT</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Ruby</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>rubygem-rainbow-3.0.0-2.64.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="11669"/>
    <rpm:provides>
      <rpm:entry name="ruby4.0-rubygem-rainbow" flags="EQ" epoch="0" ver="3.0.0" rel="2.64"/>
      <rpm:entry name="ruby4.0-rubygem-rainbow(x86-64)" flags="EQ" epoch="0" ver="3.0.0" rel="2.64"/>
      <rpm:entry name="rubygem(rainbow)" flags="EQ" epoch="0" ver="3.0.0"/>
      <rpm:entry name="rubygem(ruby:4.0.0:rainbow)" flags="EQ" epoch="0" ver="3.0.0"/>
      <rpm:entry name="rubygem(ruby:4.0.0:rainbow:3)" flags="EQ" epoch="0" ver="3.0.0"/>
      <rpm:entry name="rubygem(ruby:4.0.0:rainbow:3.0)" flags="EQ" epoch="0" ver="3.0.0"/>
      <rpm:entry name="rubygem(ruby:4.0.0:rainbow:3.0.0)" flags="EQ" epoch="0" ver="3.0.0"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="ruby(abi)" flags="EQ" epoch="0" ver="4.0.0"/>
    </rpm:requires>
    <rpm:enhances>
      <rpm:entry name="ruby4.0"/>
    </rpm:enhances>
  </format>
</package>
<package type="rpm">
  <name>ruby4.0-rubygem-rasciiart</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="0.0.9" rel="2.83"/>
  <checksum type="sha512" pkgid="YES">f06b4111714a7efb9e8806979ea70bb3f3e6f15acde51b2d3b820f4bdde7f1de7bf7946aacff350b61a3eb5c90dc1b9556f85365e5df1d3c110f4c843e7dc28b</checksum>
  <summary>A command line tool to turn images into ASCII art</summary>
  <description>A command line tool to turn images into ASCII art.</description>
  <packager></packager>
  <url>https://github.com/tybenz/asciiart</url>
  <time file="1783205570" build="1565713650"/>
  <size package="23440" installed="28494" archive="33372"/>
  <location href="x86_64/ruby4.0-rubygem-rasciiart-0.0.9-2.83.x86_64.rpm"/>
  <format>
    <rpm:license>unknown</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Ruby</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>rubygem-rasciiart-0.0.9-2.83.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="11021"/>
    <rpm:provides>
      <rpm:entry name="ruby4.0-rubygem-rasciiart" flags="EQ" epoch="0" ver="0.0.9" rel="2.83"/>
      <rpm:entry name="ruby4.0-rubygem-rasciiart(x86-64)" flags="EQ" epoch="0" ver="0.0.9" rel="2.83"/>
      <rpm:entry name="rubygem(rasciiart)" flags="EQ" epoch="0" ver="0.0.9"/>
      <rpm:entry name="rubygem(ruby:4.0.0:rasciiart)" flags="EQ" epoch="0" ver="0.0.9"/>
      <rpm:entry name="rubygem(ruby:4.0.0:rasciiart:0)" flags="EQ" epoch="0" ver="0.0.9"/>
      <rpm:entry name="rubygem(ruby:4.0.0:rasciiart:0.0)" flags="EQ" epoch="0" ver="0.0.9"/>
      <rpm:entry name="rubygem(ruby:4.0.0:rasciiart:0.0.9)" flags="EQ" epoch="0" ver="0.0.9"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/usr/bin/ruby.ruby4.0"/>
      <rpm:entry name="alts"/>
      <rpm:entry name="alts" pre="1"/>
      <rpm:entry name="alts"/>
      <rpm:entry name="ruby(abi)" flags="EQ" epoch="0" ver="4.0.0"/>
      <rpm:entry name="rubygem(ruby:4.0.0:rainbow)" flags="EQ" epoch="0" ver="2.0.0"/>
      <rpm:entry name="rubygem(ruby:4.0.0:rmagick)" flags="EQ" epoch="0" ver="2.15.4"/>
    </rpm:requires>
    <rpm:enhances>
      <rpm:entry name="ruby4.0"/>
    </rpm:enhances>
    <file>/usr/bin/asciiart</file>
    <file>/usr/bin/asciiart-0.0.9</file>
    <file>/usr/bin/asciiart.ruby4.0</file>
    <file>/usr/bin/asciiart.ruby4.0-0.0.9</file>
    <file>/usr/lib64/ruby/gems/4.0.0/gems/rasciiart-0.0.9/bin/asciiart</file>
  </format>
</package>
<package type="rpm">
  <name>ruby4.0-rubygem-redcarpet</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="3.5.0" rel="1.78"/>
  <checksum type="sha512" pkgid="YES">00da1d19a53fa2b613d1d89cb61971db9991c4304b1548fe15a6d7bb213691d4da22a761b18d469d037cfff09792a4b8dcfe6fa2e68e788dfb70ce977d59e566</checksum>
  <summary>Markdown that smells nice</summary>
  <description>A fast, safe and extensible Markdown to (X)HTML parser.</description>
  <packager></packager>
  <url>http://github.com/vmg/redcarpet</url>
  <time file="1783205574" build="1565773569"/>
  <size package="159513" installed="385461" archive="395416"/>
  <location href="x86_64/ruby4.0-rubygem-redcarpet-3.5.0-1.78.x86_64.rpm"/>
  <format>
    <rpm:license>MIT</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Ruby</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>rubygem-redcarpet-3.5.0-1.78.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="15153"/>
    <rpm:provides>
      <rpm:entry name="ruby4.0-rubygem-redcarpet" flags="EQ" epoch="0" ver="3.5.0" rel="1.78"/>
      <rpm:entry name="ruby4.0-rubygem-redcarpet(x86-64)" flags="EQ" epoch="0" ver="3.5.0" rel="1.78"/>
      <rpm:entry name="rubygem(redcarpet)" flags="EQ" epoch="0" ver="3.5.0"/>
      <rpm:entry name="rubygem(ruby:4.0.0:redcarpet)" flags="EQ" epoch="0" ver="3.5.0"/>
      <rpm:entry name="rubygem(ruby:4.0.0:redcarpet:3)" flags="EQ" epoch="0" ver="3.5.0"/>
      <rpm:entry name="rubygem(ruby:4.0.0:redcarpet:3.5)" flags="EQ" epoch="0" ver="3.5.0"/>
      <rpm:entry name="rubygem(ruby:4.0.0:redcarpet:3.5.0)" flags="EQ" epoch="0" ver="3.5.0"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/usr/bin/ruby.ruby4.0"/>
      <rpm:entry name="alts"/>
      <rpm:entry name="alts" pre="1"/>
      <rpm:entry name="alts"/>
      <rpm:entry name="libm.so.6()(64bit)"/>
      <rpm:entry name="libruby4.0.so.4.0()(64bit)"/>
      <rpm:entry name="ruby(abi)" flags="EQ" epoch="0" ver="4.0.0"/>
      <rpm:entry name="ruby4.0-without-jemalloc" flags="GE" epoch="0" ver="4.0.5"/>
      <rpm:entry name="ruby4.0-without-yjit" flags="GE" epoch="0" ver="4.0.5"/>
      <rpm:entry name="libc.so.6(GLIBC_2.14)(64bit)"/>
    </rpm:requires>
    <rpm:enhances>
      <rpm:entry name="ruby4.0"/>
    </rpm:enhances>
    <file>/usr/bin/redcarpet</file>
    <file>/usr/bin/redcarpet-3.5.0</file>
    <file>/usr/bin/redcarpet.ruby4.0</file>
    <file>/usr/bin/redcarpet.ruby4.0-3.5.0</file>
    <file>/usr/lib64/ruby/gems/4.0.0/gems/redcarpet-3.5.0/bin/redcarpet</file>
  </format>
</package>
<package type="rpm">
  <name>ruby4.0-rubygem-vimdeck</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="0.3.3" rel="1.81"/>
  <checksum type="sha512" pkgid="YES">324d66fab3dd0552005bc47326fb5e595eb5cc54f5089bdbf96b644fa3b07f97668d7f3b42e85b8a1720f3f587128b6188403c5e659d73848fce89b12f6eb254</checksum>
  <summary>VIMDECK</summary>
  <description>VIM as a presentation tool.</description>
  <packager></packager>
  <url>http://github.com/tybenz/vimdeck</url>
  <time file="1783205570" build="1565713094"/>
  <size package="965577" installed="1101912" archive="1115928"/>
  <location href="x86_64/ruby4.0-rubygem-vimdeck-0.3.3-1.81.x86_64.rpm"/>
  <format>
    <rpm:license>MIT</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Ruby</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>rubygem-vimdeck-0.3.3-1.81.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="17777"/>
    <rpm:provides>
      <rpm:entry name="ruby4.0-rubygem-vimdeck" flags="EQ" epoch="0" ver="0.3.3" rel="1.81"/>
      <rpm:entry name="ruby4.0-rubygem-vimdeck(x86-64)" flags="EQ" epoch="0" ver="0.3.3" rel="1.81"/>
      <rpm:entry name="rubygem(ruby:4.0.0:vimdeck)" flags="EQ" epoch="0" ver="0.3.3"/>
      <rpm:entry name="rubygem(ruby:4.0.0:vimdeck:0)" flags="EQ" epoch="0" ver="0.3.3"/>
      <rpm:entry name="rubygem(ruby:4.0.0:vimdeck:0.3)" flags="EQ" epoch="0" ver="0.3.3"/>
      <rpm:entry name="rubygem(ruby:4.0.0:vimdeck:0.3.3)" flags="EQ" epoch="0" ver="0.3.3"/>
      <rpm:entry name="rubygem(vimdeck)" flags="EQ" epoch="0" ver="0.3.3"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/usr/bin/ruby.ruby4.0"/>
      <rpm:entry name="alts"/>
      <rpm:entry name="alts" pre="1"/>
      <rpm:entry name="alts"/>
      <rpm:entry name="ruby(abi)" flags="EQ" epoch="0" ver="4.0.0"/>
      <rpm:entry name="rubygem(ruby:4.0.0:artii:2.1)" flags="GE" epoch="0" ver="2.1.1"/>
      <rpm:entry name="rubygem(ruby:4.0.0:rasciiart:0.0)" flags="GE" epoch="0" ver="0.0.9"/>
      <rpm:entry name="rubygem(ruby:4.0.0:redcarpet:3.1)" flags="GE" epoch="0" ver="3.1.2"/>
    </rpm:requires>
    <rpm:enhances>
      <rpm:entry name="ruby4.0"/>
    </rpm:enhances>
    <file>/usr/bin/vimdeck</file>
    <file>/usr/bin/vimdeck-0.3.3</file>
    <file>/usr/bin/vimdeck.ruby4.0</file>
    <file>/usr/bin/vimdeck.ruby4.0-0.3.3</file>
    <file>/usr/lib64/ruby/gems/4.0.0/gems/vimdeck-0.3.3/bin/vimdeck</file>
    <file>/usr/lib64/ruby/gems/4.0.0/gems/vimdeck-0.3.3/bin/vimdeck-without-ascii-art</file>
  </format>
</package>
<package type="rpm">
  <name>rubygem-artii</name>
  <arch>src</arch>
  <version epoch="0" ver="2.1.2" rel="1.78"/>
  <checksum type="sha512" pkgid="YES">936d525566dd286a47e12c4ff0dd3fbbd3d6ae3bffcc5d9f018308c9ea889ab7bac4a56a904c2410c191cb02d69e68fd53129ba935c23ab903454f5e50bc877b</checksum>
  <summary>A little Figlet-based ASCII art generator</summary>
  <description>A Figlet-based ASCII art generator, useful for comand-line based ASCII Art
Generation.</description>
  <packager></packager>
  <url>http://github.com/miketierney/artii</url>
  <time file="1783205576" build="1565713443"/>
  <size package="5134540" installed="5131884" archive="5132268"/>
  <location href="src/rubygem-artii-2.1.2-1.78.src.rpm"/>
  <format>
    <rpm:license>MIT</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Ruby</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4504" end="8921"/>
    <rpm:provides>
      <rpm:entry name="ruby4.0-rubygem-artii" flags="EQ" epoch="0" ver="2.1.2" rel="1.78"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="ruby-macros" flags="GE" epoch="0" ver="5"/>
      <rpm:entry name="ruby4.0"/>
      <rpm:entry name="rubygem(ruby:4.0.0:gem2rpm)"/>
      <rpm:entry name="update-alternatives"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>rubygem-gli</name>
  <arch>src</arch>
  <version epoch="0" ver="2.17.1" rel="1.95"/>
  <checksum type="sha512" pkgid="YES">3b5b0139143295cf0084b8a4af9f5c85641b2a5b8cb1a2c53438e6bcc1a1089a8589987522c25f38b403bd9e7765d8b234b1408a69a59144a5d5e0e9bbaee2ba</checksum>
  <summary>Build command-suite CLI apps that are awesome</summary>
  <description>Build command-suite CLI apps that are awesome.  Bootstrap your app, add
commands, options and documentation while maintaining a well-tested idiomatic
command-line app.</description>
  <packager></packager>
  <url>http://davetron5000.github.com/gli</url>
  <time file="1783205574" build="1783205571"/>
  <size package="84618" installed="79507" archive="79888"/>
  <location href="src/rubygem-gli-2.17.1-1.95.src.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Ruby</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4504" end="9010"/>
    <rpm:provides>
      <rpm:entry name="ruby4.0-rubygem-gli" flags="EQ" epoch="0" ver="2.17.1" rel="1.95"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="ruby-macros" flags="GE" epoch="0" ver="5"/>
      <rpm:entry name="ruby4.0"/>
      <rpm:entry name="rubygem(ruby:4.0.0:gem2rpm)"/>
      <rpm:entry name="rubygem(ruby:4.0.0:rdoc)" flags="GT" epoch="0" ver="3.10"/>
      <rpm:entry name="update-alternatives"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>rubygem-parade</name>
  <arch>src</arch>
  <version epoch="0" ver="0.10.2" rel="1.91"/>
  <checksum type="sha512" pkgid="YES">b9fa6a922134dc637f499d109e4a72a455ea53b163c596f7338f62aa4fa29f54f5525f3f39b0faf96a94362f9992fb009a2b53fc691a4b1a3e17d50c16977f71</checksum>
  <summary>The best damn presentation software a developer could ever love</summary>
  <description>Parade is an open source presentation software that consists of a Sinatra
web
app that serves up markdown files in a presentation format. Parade can serve a
directory or be configured to run with a simple configuration file.
* Markdown backed data
&gt; This ultimately makes it easier to manage diffs when making changes,
using the content in other documents, and quickly re-using portions of a
presentation.
* Syntax Highlighting
&gt; Using GitHub flavored markdown, code fences will automatically be
syntax highlighted, making it incredibly easy to integrate code samples.
* Code Execution
&gt; Slides are able to provide execution and show results for JavaScript
and Coffeescript live within the browser. This allows for live
demonstrations of code.
* Web
&gt; Slide presentations are basically websites -- they run in your browser from
your desktop. This allows for a wide range of possibilities for customization
and expandability.
* Basic Templating and Color Schemes
&gt; Several templates and color scheme options have been provided to help you
get started. While Parade does not currently provide anything near the variety
of many other presentation packages, it is well-suited for basic
presentations.
* Design Flexibility (pros and cons)
&gt; Unless you're skilled in CSS/Animations, you will likely have a harder
time creating presentations with as much polish as other programs provide.
However, this approach also makes Parade incredibly flexible if you do
understand CSS/Animations.</description>
  <packager></packager>
  <url>http://github.com/burtlo/parade</url>
  <time file="1783205571" build="1783205568"/>
  <size package="225629" installed="218519" archive="218904"/>
  <location href="src/rubygem-parade-0.10.2-1.91.src.rpm"/>
  <format>
    <rpm:license>MIT</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Ruby</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4504" end="12706"/>
    <rpm:provides>
      <rpm:entry name="ruby4.0-rubygem-parade" flags="EQ" epoch="0" ver="0.10.2" rel="1.91"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="ruby-macros" flags="GE" epoch="0" ver="5"/>
      <rpm:entry name="ruby4.0"/>
      <rpm:entry name="rubygem(ruby:4.0.0:gem2rpm)"/>
      <rpm:entry name="update-alternatives"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>rubygem-rainbow</name>
  <arch>src</arch>
  <version epoch="0" ver="3.0.0" rel="2.64"/>
  <checksum type="sha512" pkgid="YES">0bb86252c29a10ced24c0a450a07ab7988a6c4bbfc78fdfb4dd2ef9d08d93c20c09b34cfcda8a62ad8b8069a5b0ef36671747d45817f8ec24ca86233814e971b</checksum>
  <summary>Colorize printed text on ANSI terminals</summary>
  <description>Colorize printed text on ANSI terminals.</description>
  <packager></packager>
  <url>https://github.com/sickill/rainbow</url>
  <time file="1783205570" build="1565713974"/>
  <size package="25376" installed="20472" archive="20856"/>
  <location href="src/rubygem-rainbow-3.0.0-2.64.src.rpm"/>
  <format>
    <rpm:license>MIT</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Ruby</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4504" end="8296"/>
    <rpm:provides>
      <rpm:entry name="ruby4.0-rubygem-rainbow" flags="EQ" epoch="0" ver="3.0.0" rel="2.64"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="ruby-macros" flags="GE" epoch="0" ver="5"/>
      <rpm:entry name="ruby4.0" flags="GE" epoch="0" ver="2.1.0"/>
      <rpm:entry name="rubygem(ruby:4.0.0:gem2rpm)"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>rubygem-rasciiart</name>
  <arch>src</arch>
  <version epoch="0" ver="0.0.9" rel="2.83"/>
  <checksum type="sha512" pkgid="YES">449cb471867bcea21eb052251d3414f8dda1120e12a38d40973d9045ef393372c45fc0e92f44c0c54a890154143d96b17f82e2836660ddc36c63801dab5d32a1</checksum>
  <summary>A command line tool to turn images into ASCII art</summary>
  <description>A command line tool to turn images into ASCII art.</description>
  <packager></packager>
  <url>https://github.com/tybenz/asciiart</url>
  <time file="1783205570" build="1565713650"/>
  <size package="16128" installed="11357" archive="11752"/>
  <location href="src/rubygem-rasciiart-0.0.9-2.83.src.rpm"/>
  <format>
    <rpm:license>unknown</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Ruby</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4504" end="8659"/>
    <rpm:provides>
      <rpm:entry name="ruby4.0-rubygem-rasciiart" flags="EQ" epoch="0" ver="0.0.9" rel="2.83"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="ruby-macros" flags="GE" epoch="0" ver="5"/>
      <rpm:entry name="ruby4.0"/>
      <rpm:entry name="rubygem(ruby:4.0.0:gem2rpm)"/>
      <rpm:entry name="update-alternatives"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>rubygem-redcarpet</name>
  <arch>src</arch>
  <version epoch="0" ver="3.5.0" rel="1.78"/>
  <checksum type="sha512" pkgid="YES">e7905a64ec9b2a9f2a433bb4b3d227c5755422cee2ee9724e204cebaa6a9f1bbe7b0001996bfbdeb361baead371a501f587a8d65b11a42da6f95134f2907230f</checksum>
  <summary>Markdown that smells nice</summary>
  <description>A fast, safe and extensible Markdown to (X)HTML parser.</description>
  <packager></packager>
  <url>http://github.com/vmg/redcarpet</url>
  <time file="1783205574" build="1565773569"/>
  <size package="70347" installed="64094" archive="64488"/>
  <location href="src/rubygem-redcarpet-3.5.0-1.78.src.rpm"/>
  <format>
    <rpm:license>MIT</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Ruby</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4504" end="9774"/>
    <rpm:provides>
      <rpm:entry name="ruby4.0-rubygem-redcarpet" flags="EQ" epoch="0" ver="3.5.0" rel="1.78"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="ruby-macros" flags="GE" epoch="0" ver="5"/>
      <rpm:entry name="ruby4.0-devel" flags="GE" epoch="0" ver="1.9.2"/>
      <rpm:entry name="rubygem(ruby:4.0.0:gem2rpm)"/>
      <rpm:entry name="update-alternatives"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>rubygem-vimdeck</name>
  <arch>src</arch>
  <version epoch="0" ver="0.3.3" rel="1.81"/>
  <checksum type="sha512" pkgid="YES">ae910efbcf2b45dd13084fbfe392efce0ada58ae0aa569f1eb945bc00ea42b4bb41646ed3f599a9056bf9847ca8959b687f84658a71956f4d426c0a59534fcda</checksum>
  <summary>VIMDECK</summary>
  <description>VIM as a presentation tool.</description>
  <packager></packager>
  <url>http://github.com/tybenz/vimdeck</url>
  <time file="1783205570" build="1565713094"/>
  <size package="528598" installed="523280" archive="523664"/>
  <location href="src/rubygem-vimdeck-0.3.3-1.81.src.rpm"/>
  <format>
    <rpm:license>MIT</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Languages/Ruby</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4504" end="8403"/>
    <rpm:provides>
      <rpm:entry name="ruby4.0-rubygem-vimdeck" flags="EQ" epoch="0" ver="0.3.3" rel="1.81"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="ruby-macros" flags="GE" epoch="0" ver="5"/>
      <rpm:entry name="ruby4.0"/>
      <rpm:entry name="rubygem(ruby:4.0.0:gem2rpm)"/>
      <rpm:entry name="update-alternatives"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>salt</name>
  <arch>i586</arch>
  <version epoch="0" ver="3006.0" rel="2.432"/>
  <checksum type="sha512" pkgid="YES">08e795ddb593628d91e07a6b65edf6738992a59cb922edbecacb6d838762e7a3d57d7be1878aa72b0da62bf6cc21fe221fc173bd8eabe0a945aa55b61dad3e39</checksum>
  <summary>A parallel remote execution system</summary>
  <description>Salt is a distributed remote execution system used to execute commands and
query data. It was developed in order to bring the best solutions found in
the world of remote execution together and make them better, faster and more
malleable. Salt accomplishes this via its ability to handle larger loads of
information, and not just dozens, but hundreds or even thousands of individual
servers, handle them quickly and through a simple and manageable interface.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783248887" build="1707299555"/>
  <size package="45575" installed="42196" archive="44944"/>
  <location href="i586/salt-3006.0-2.432.i586.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.432.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="26173"/>
    <rpm:provides>
      <rpm:entry name="config(salt)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt(x86-32)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/bin/sh" pre="1"/>
      <rpm:entry name="/usr/bin/mkdir" pre="1"/>
      <rpm:entry name="/usr/bin/python3"/>
      <rpm:entry name="/usr/bin/touch" pre="1"/>
      <rpm:entry name="/usr/sbin/groupadd" pre="1"/>
      <rpm:entry name="/usr/sbin/useradd" pre="1"/>
      <rpm:entry name="dbus-1" pre="1"/>
      <rpm:entry name="fillup" pre="1"/>
      <rpm:entry name="group(salt)" pre="1"/>
      <rpm:entry name="iproute2"/>
      <rpm:entry name="logrotate"/>
      <rpm:entry name="procps"/>
      <rpm:entry name="python3-salt" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="shadow" pre="1"/>
      <rpm:entry name="user(salt)" pre="1"/>
    </rpm:requires>
    <rpm:obsoletes>
      <rpm:entry name="python2-salt"/>
    </rpm:obsoletes>
    <rpm:suggests>
      <rpm:entry name="systemd"/>
    </rpm:suggests>
    <file>/etc/logrotate.d/salt</file>
    <file type="dir">/etc/salt</file>
    <file type="dir">/etc/salt/pki</file>
    <file>/usr/bin/salt-call</file>
    <file>/usr/bin/salt-support</file>
    <file>/usr/bin/spm</file>
  </format>
</package>
<package type="rpm">
  <name>salt</name>
  <arch>src</arch>
  <version epoch="0" ver="3006.0" rel="2.432"/>
  <checksum type="sha512" pkgid="YES">cd22e536930ace680c6631cefb4de21da6a9da3948ce9c8763e8fe96041937796b2b21f28f6a0992243fe3addb7286ca6d6f650c41956868f592b43c77496fb9</checksum>
  <summary>A parallel remote execution system</summary>
  <description>Salt is a distributed remote execution system used to execute commands and
query data. It was developed in order to bring the best solutions found in
the world of remote execution together and make them better, faster and more
malleable. Salt accomplishes this via its ability to handle larger loads of
information, and not just dozens, but hundreds or even thousands of individual
servers, handle them quickly and through a simple and manageable interface.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783248888" build="1707299555"/>
  <size package="32306035" installed="32789774" archive="32807448"/>
  <location href="src/salt-3006.0-2.432.src.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4504" end="546427"/>
    <rpm:provides>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="python3-salt" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-api" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-cloud" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-doc" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-master" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-minion" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-proxy" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-syndic" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-ssh" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="python3-salt-testsuite" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-bash-completion" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-fish-completion" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-zsh-completion" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-standalone-formulas-configuration" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-transactional-update" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="bash-completion"/>
      <rpm:entry name="fdupes"/>
      <rpm:entry name="logrotate"/>
      <rpm:entry name="pkgconfig(systemd)"/>
      <rpm:entry name="python-rpm-macros"/>
      <rpm:entry name="python3"/>
      <rpm:entry name="python3-Jinja2"/>
      <rpm:entry name="python3-M2Crypto"/>
      <rpm:entry name="python3-MarkupSafe"/>
      <rpm:entry name="python3-PyYAML"/>
      <rpm:entry name="python3-devel"/>
      <rpm:entry name="python3-distro"/>
      <rpm:entry name="python3-looseversion"/>
      <rpm:entry name="python3-msgpack-python" flags="GT" epoch="0" ver="0.3"/>
      <rpm:entry name="python3-packaging"/>
      <rpm:entry name="python3-psutil"/>
      <rpm:entry name="python3-pyzmq" flags="GE" epoch="0" ver="2.2.0"/>
      <rpm:entry name="python3-requests" flags="GE" epoch="0" ver="1.0.0"/>
      <rpm:entry name="python3-setuptools"/>
      <rpm:entry name="systemd"/>
      <rpm:entry name="zsh"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>salt</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="3006.0" rel="2.432"/>
  <checksum type="sha512" pkgid="YES">923e0f789d1bd47c40b1f735a13b304e359c92b9d5212c22df8fb0fc88c657e4e3d0f6e5f368c97051dd002251351b76538a522512904c7ee9ef8e5baa07948b</checksum>
  <summary>A parallel remote execution system</summary>
  <description>Salt is a distributed remote execution system used to execute commands and
query data. It was developed in order to bring the best solutions found in
the world of remote execution together and make them better, faster and more
malleable. Salt accomplishes this via its ability to handle larger loads of
information, and not just dozens, but hundreds or even thousands of individual
servers, handle them quickly and through a simple and manageable interface.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783249050" build="1707299555"/>
  <size package="45571" installed="42196" archive="44944"/>
  <location href="x86_64/salt-3006.0-2.432.x86_64.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.432.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="26169"/>
    <rpm:provides>
      <rpm:entry name="config(salt)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt(x86-64)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/bin/sh" pre="1"/>
      <rpm:entry name="/usr/bin/mkdir" pre="1"/>
      <rpm:entry name="/usr/bin/python3"/>
      <rpm:entry name="/usr/bin/touch" pre="1"/>
      <rpm:entry name="/usr/sbin/groupadd" pre="1"/>
      <rpm:entry name="/usr/sbin/useradd" pre="1"/>
      <rpm:entry name="dbus-1" pre="1"/>
      <rpm:entry name="fillup" pre="1"/>
      <rpm:entry name="group(salt)" pre="1"/>
      <rpm:entry name="iproute2"/>
      <rpm:entry name="logrotate"/>
      <rpm:entry name="procps"/>
      <rpm:entry name="python3-salt" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="shadow" pre="1"/>
      <rpm:entry name="user(salt)" pre="1"/>
    </rpm:requires>
    <rpm:obsoletes>
      <rpm:entry name="python2-salt"/>
    </rpm:obsoletes>
    <rpm:suggests>
      <rpm:entry name="systemd"/>
    </rpm:suggests>
    <file>/etc/logrotate.d/salt</file>
    <file type="dir">/etc/salt</file>
    <file type="dir">/etc/salt/pki</file>
    <file>/usr/bin/salt-call</file>
    <file>/usr/bin/salt-support</file>
    <file>/usr/bin/spm</file>
  </format>
</package>
<package type="rpm">
  <name>salt</name>
  <arch>i586</arch>
  <version epoch="0" ver="3006.0" rel="2.435"/>
  <checksum type="sha512" pkgid="YES">c8dc905e88d0200293bdd8a5c00f1ce13d7eb1cff5b81a12e8fa4a27bc0b2f915847f0d82f4bb824920d0e17de73a46dd3d7145025fcfaaa2f06251b70bed85b</checksum>
  <summary>A parallel remote execution system</summary>
  <description>Salt is a distributed remote execution system used to execute commands and
query data. It was developed in order to bring the best solutions found in
the world of remote execution together and make them better, faster and more
malleable. Salt accomplishes this via its ability to handle larger loads of
information, and not just dozens, but hundreds or even thousands of individual
servers, handle them quickly and through a simple and manageable interface.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783248876" build="1707299555"/>
  <size package="45555" installed="42196" archive="44944"/>
  <location href="i586/salt-3006.0-2.435.i586.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.435.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="26153"/>
    <rpm:provides>
      <rpm:entry name="config(salt)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt(x86-32)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/bin/sh" pre="1"/>
      <rpm:entry name="/usr/bin/mkdir" pre="1"/>
      <rpm:entry name="/usr/bin/python3"/>
      <rpm:entry name="/usr/bin/touch" pre="1"/>
      <rpm:entry name="/usr/sbin/groupadd" pre="1"/>
      <rpm:entry name="/usr/sbin/useradd" pre="1"/>
      <rpm:entry name="dbus-1" pre="1"/>
      <rpm:entry name="fillup" pre="1"/>
      <rpm:entry name="group(salt)" pre="1"/>
      <rpm:entry name="iproute2"/>
      <rpm:entry name="logrotate"/>
      <rpm:entry name="procps"/>
      <rpm:entry name="python3-salt" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="shadow" pre="1"/>
      <rpm:entry name="user(salt)" pre="1"/>
    </rpm:requires>
    <rpm:obsoletes>
      <rpm:entry name="python2-salt"/>
    </rpm:obsoletes>
    <rpm:suggests>
      <rpm:entry name="systemd"/>
    </rpm:suggests>
    <file>/etc/logrotate.d/salt</file>
    <file type="dir">/etc/salt</file>
    <file type="dir">/etc/salt/pki</file>
    <file>/usr/bin/salt-call</file>
    <file>/usr/bin/salt-support</file>
    <file>/usr/bin/spm</file>
  </format>
</package>
<package type="rpm">
  <name>salt</name>
  <arch>src</arch>
  <version epoch="0" ver="3006.0" rel="2.435"/>
  <checksum type="sha512" pkgid="YES">e145c3fb74c499795e5b571d34c603c03ccdd80ed3a3904585727bc279207fadf5be39ba967c4f83df583c903c1c4a850ff7834c207538776ec6686437dae741</checksum>
  <summary>A parallel remote execution system</summary>
  <description>Salt is a distributed remote execution system used to execute commands and
query data. It was developed in order to bring the best solutions found in
the world of remote execution together and make them better, faster and more
malleable. Salt accomplishes this via its ability to handle larger loads of
information, and not just dozens, but hundreds or even thousands of individual
servers, handle them quickly and through a simple and manageable interface.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783248877" build="1707299555"/>
  <size package="32304581" installed="32789756" archive="32807432"/>
  <location href="src/salt-3006.0-2.435.src.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4504" end="544975"/>
    <rpm:provides>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="python3-salt" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-api" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-cloud" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-doc" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-master" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-minion" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-proxy" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-syndic" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-ssh" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-bash-completion" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-fish-completion" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-zsh-completion" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-standalone-formulas-configuration" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-transactional-update" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="bash-completion"/>
      <rpm:entry name="fdupes"/>
      <rpm:entry name="logrotate"/>
      <rpm:entry name="pkgconfig(systemd)"/>
      <rpm:entry name="python-rpm-macros"/>
      <rpm:entry name="python3"/>
      <rpm:entry name="python3-Jinja2"/>
      <rpm:entry name="python3-M2Crypto"/>
      <rpm:entry name="python3-MarkupSafe"/>
      <rpm:entry name="python3-PyYAML"/>
      <rpm:entry name="python3-devel"/>
      <rpm:entry name="python3-distro"/>
      <rpm:entry name="python3-looseversion"/>
      <rpm:entry name="python3-msgpack-python" flags="GT" epoch="0" ver="0.3"/>
      <rpm:entry name="python3-packaging"/>
      <rpm:entry name="python3-psutil"/>
      <rpm:entry name="python3-pyzmq" flags="GE" epoch="0" ver="2.2.0"/>
      <rpm:entry name="python3-requests" flags="GE" epoch="0" ver="1.0.0"/>
      <rpm:entry name="python3-setuptools"/>
      <rpm:entry name="systemd"/>
      <rpm:entry name="zsh"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>salt</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="3006.0" rel="2.435"/>
  <checksum type="sha512" pkgid="YES">518c6eaa10e6e40eb8e0d84b07699a58861d276b0fa26c235e00ddb95e670545b672460797c552cb38736c44e616826d3523afa30c1d27659d33e3d8ed45be34</checksum>
  <summary>A parallel remote execution system</summary>
  <description>Salt is a distributed remote execution system used to execute commands and
query data. It was developed in order to bring the best solutions found in
the world of remote execution together and make them better, faster and more
malleable. Salt accomplishes this via its ability to handle larger loads of
information, and not just dozens, but hundreds or even thousands of individual
servers, handle them quickly and through a simple and manageable interface.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783249042" build="1707299555"/>
  <size package="45551" installed="42196" archive="44944"/>
  <location href="x86_64/salt-3006.0-2.435.x86_64.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.435.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="26149"/>
    <rpm:provides>
      <rpm:entry name="config(salt)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt(x86-64)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/bin/sh" pre="1"/>
      <rpm:entry name="/usr/bin/mkdir" pre="1"/>
      <rpm:entry name="/usr/bin/python3"/>
      <rpm:entry name="/usr/bin/touch" pre="1"/>
      <rpm:entry name="/usr/sbin/groupadd" pre="1"/>
      <rpm:entry name="/usr/sbin/useradd" pre="1"/>
      <rpm:entry name="dbus-1" pre="1"/>
      <rpm:entry name="fillup" pre="1"/>
      <rpm:entry name="group(salt)" pre="1"/>
      <rpm:entry name="iproute2"/>
      <rpm:entry name="logrotate"/>
      <rpm:entry name="procps"/>
      <rpm:entry name="python3-salt" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="shadow" pre="1"/>
      <rpm:entry name="user(salt)" pre="1"/>
    </rpm:requires>
    <rpm:obsoletes>
      <rpm:entry name="python2-salt"/>
    </rpm:obsoletes>
    <rpm:suggests>
      <rpm:entry name="systemd"/>
    </rpm:suggests>
    <file>/etc/logrotate.d/salt</file>
    <file type="dir">/etc/salt</file>
    <file type="dir">/etc/salt/pki</file>
    <file>/usr/bin/salt-call</file>
    <file>/usr/bin/salt-support</file>
    <file>/usr/bin/spm</file>
  </format>
</package>
<package type="rpm">
  <name>salt-api</name>
  <arch>i586</arch>
  <version epoch="0" ver="3006.0" rel="2.432"/>
  <checksum type="sha512" pkgid="YES">b5036799bd3c872ed329cfe8f966e5ceacf537a92e9a04e14c46356301645a5b5344372e7c645f966ebf588a6caf9749f52b309a9eb6680d5118973a2a4ae217</checksum>
  <summary>The api for Salt a parallel remote execution system</summary>
  <description>salt-api is a modular interface on top of Salt that can provide a variety of entry points into a running Salt system.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783248888" build="1707299555"/>
  <size package="25696" installed="1532" archive="2224"/>
  <location href="i586/salt-api-3006.0-2.432.i586.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.432.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="24049"/>
    <rpm:provides>
      <rpm:entry name="salt-api" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-api(x86-32)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/bin/sh" pre="1"/>
      <rpm:entry name="/bin/sh"/>
      <rpm:entry name="/usr/bin/python3"/>
      <rpm:entry name="python3-CherryPy" flags="GE" epoch="0" ver="3.2.2"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-master" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:requires>
    <file>/usr/bin/salt-api</file>
    <file>/usr/sbin/rcsalt-api</file>
  </format>
</package>
<package type="rpm">
  <name>salt-api</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="3006.0" rel="2.432"/>
  <checksum type="sha512" pkgid="YES">cdc4ddced9306cec40da3970030d595fad23d82d3eb8a324bd3defa30292baf641f3de153aa82d6dbca24c67b87f84766c8e8d3d8c910218ff5cdec2269de648</checksum>
  <summary>The api for Salt a parallel remote execution system</summary>
  <description>salt-api is a modular interface on top of Salt that can provide a variety of entry points into a running Salt system.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783249050" build="1707299555"/>
  <size package="25692" installed="1532" archive="2224"/>
  <location href="x86_64/salt-api-3006.0-2.432.x86_64.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.432.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="24045"/>
    <rpm:provides>
      <rpm:entry name="salt-api" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-api(x86-64)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/bin/sh" pre="1"/>
      <rpm:entry name="/bin/sh"/>
      <rpm:entry name="/usr/bin/python3"/>
      <rpm:entry name="python3-CherryPy" flags="GE" epoch="0" ver="3.2.2"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-master" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:requires>
    <file>/usr/bin/salt-api</file>
    <file>/usr/sbin/rcsalt-api</file>
  </format>
</package>
<package type="rpm">
  <name>salt-api</name>
  <arch>i586</arch>
  <version epoch="0" ver="3006.0" rel="2.435"/>
  <checksum type="sha512" pkgid="YES">d174066a3aa5af636d69a079e5ccb382f3b92e8f8e7f84d37ae47c21c4371bb1c7bb3ae8f89f1468df5c76afb04a1b51bb94be725e3b41c3a3409d8ba66e88e6</checksum>
  <summary>The api for Salt a parallel remote execution system</summary>
  <description>salt-api is a modular interface on top of Salt that can provide a variety of entry points into a running Salt system.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783248877" build="1707299555"/>
  <size package="25676" installed="1532" archive="2224"/>
  <location href="i586/salt-api-3006.0-2.435.i586.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.435.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="24029"/>
    <rpm:provides>
      <rpm:entry name="salt-api" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-api(x86-32)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/bin/sh" pre="1"/>
      <rpm:entry name="/bin/sh"/>
      <rpm:entry name="/usr/bin/python3"/>
      <rpm:entry name="python3-CherryPy" flags="GE" epoch="0" ver="3.2.2"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-master" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
    </rpm:requires>
    <file>/usr/bin/salt-api</file>
    <file>/usr/sbin/rcsalt-api</file>
  </format>
</package>
<package type="rpm">
  <name>salt-api</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="3006.0" rel="2.435"/>
  <checksum type="sha512" pkgid="YES">5b979c3ba4a6f044131ba230faf8482496db3842db1042607300cbfe1cb65d2a965f644a98b53fd789549bc52af360aed10abed739ee855e10cf884fc7d911b2</checksum>
  <summary>The api for Salt a parallel remote execution system</summary>
  <description>salt-api is a modular interface on top of Salt that can provide a variety of entry points into a running Salt system.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783249042" build="1707299555"/>
  <size package="25676" installed="1532" archive="2224"/>
  <location href="x86_64/salt-api-3006.0-2.435.x86_64.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.435.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="24029"/>
    <rpm:provides>
      <rpm:entry name="salt-api" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-api(x86-64)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/bin/sh" pre="1"/>
      <rpm:entry name="/bin/sh"/>
      <rpm:entry name="/usr/bin/python3"/>
      <rpm:entry name="python3-CherryPy" flags="GE" epoch="0" ver="3.2.2"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-master" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
    </rpm:requires>
    <file>/usr/bin/salt-api</file>
    <file>/usr/sbin/rcsalt-api</file>
  </format>
</package>
<package type="rpm">
  <name>salt-bash-completion</name>
  <arch>noarch</arch>
  <version epoch="0" ver="3006.0" rel="2.432"/>
  <checksum type="sha512" pkgid="YES">8e5d6d8946bc18020e220943e91118fa130de371162818f144e24099261977ef8f9deb1ed4f7a68d02e1c121510b5e4a1bf7454a8a4bcc980feccc44266e253f</checksum>
  <summary>Bash Completion for salt</summary>
  <description>Bash command line completion support for salt.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783248888" build="1707299555"/>
  <size package="25217" installed="11924" archive="12324"/>
  <location href="noarch/salt-bash-completion-3006.0-2.432.noarch.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.432.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="22329"/>
    <rpm:provides>
      <rpm:entry name="config(salt-bash-completion)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-bash-completion" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="bash-completion"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:requires>
    <file type="dir">/etc/bash_completion.d</file>
    <file>/etc/bash_completion.d/salt</file>
  </format>
</package>
<package type="rpm">
  <name>salt-bash-completion</name>
  <arch>noarch</arch>
  <version epoch="0" ver="3006.0" rel="2.435"/>
  <checksum type="sha512" pkgid="YES">c638c1d4c286a50b12973d163483fa9778c55542cd9dd43ab6807fbb661d261196f4b59736b0284fa905e1ecd229db89a4f1685ec9052b3d702dfc63deb8d6cb</checksum>
  <summary>Bash Completion for salt</summary>
  <description>Bash command line completion support for salt.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783248877" build="1707299555"/>
  <size package="25197" installed="11924" archive="12324"/>
  <location href="noarch/salt-bash-completion-3006.0-2.435.noarch.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.435.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="22309"/>
    <rpm:provides>
      <rpm:entry name="config(salt-bash-completion)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-bash-completion" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="bash-completion"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
    </rpm:requires>
    <file type="dir">/etc/bash_completion.d</file>
    <file>/etc/bash_completion.d/salt</file>
  </format>
</package>
<package type="rpm">
  <name>salt-cloud</name>
  <arch>i586</arch>
  <version epoch="0" ver="3006.0" rel="2.432"/>
  <checksum type="sha512" pkgid="YES">34c336e5ddb7edbe2ff8174d27507da9be9566dd210c2dca5e07d5d015e982a57f286d619149620e378a3613466680156d8a834758ed7067cd53c2cc4c8913ec</checksum>
  <summary>Generic cloud provisioning tool for Saltstack</summary>
  <description>public cloud VM management system
provision virtual machines on various public clouds via a cleanly
controlled profile and mapping system.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783248888" build="1707299555"/>
  <size package="73089" installed="337921" archive="339472"/>
  <location href="i586/salt-cloud-3006.0-2.432.i586.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.432.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="23849"/>
    <rpm:provides>
      <rpm:entry name="config(salt-cloud)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-cloud" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-cloud(x86-32)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/usr/bin/python3"/>
      <rpm:entry name="group(salt)" pre="1"/>
      <rpm:entry name="python3-apache-libcloud"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-master" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:requires>
    <rpm:recommends>
      <rpm:entry name="python3-botocore"/>
      <rpm:entry name="python3-netaddr"/>
    </rpm:recommends>
    <file>/etc/salt/cloud</file>
    <file type="dir">/etc/salt/cloud.maps.d</file>
    <file>/etc/salt/cloud.profiles</file>
    <file type="dir">/etc/salt/cloud.profiles.d</file>
    <file>/etc/salt/cloud.providers</file>
    <file type="dir">/etc/salt/cloud.providers.d</file>
    <file>/usr/bin/salt-cloud</file>
  </format>
</package>
<package type="rpm">
  <name>salt-cloud</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="3006.0" rel="2.432"/>
  <checksum type="sha512" pkgid="YES">a3f4188e7cae22c708f11c907a2c8d9fcde19077cfb1969fb5f289d00f967d7a96a2c06919e3951b941e1c658e34b8db376d95d96d3c754d272b7876825f841c</checksum>
  <summary>Generic cloud provisioning tool for Saltstack</summary>
  <description>public cloud VM management system
provision virtual machines on various public clouds via a cleanly
controlled profile and mapping system.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783249050" build="1707299555"/>
  <size package="73085" installed="337921" archive="339472"/>
  <location href="x86_64/salt-cloud-3006.0-2.432.x86_64.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.432.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="23845"/>
    <rpm:provides>
      <rpm:entry name="config(salt-cloud)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-cloud" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-cloud(x86-64)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/usr/bin/python3"/>
      <rpm:entry name="group(salt)" pre="1"/>
      <rpm:entry name="python3-apache-libcloud"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-master" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:requires>
    <rpm:recommends>
      <rpm:entry name="python3-botocore"/>
      <rpm:entry name="python3-netaddr"/>
    </rpm:recommends>
    <file>/etc/salt/cloud</file>
    <file type="dir">/etc/salt/cloud.maps.d</file>
    <file>/etc/salt/cloud.profiles</file>
    <file type="dir">/etc/salt/cloud.profiles.d</file>
    <file>/etc/salt/cloud.providers</file>
    <file type="dir">/etc/salt/cloud.providers.d</file>
    <file>/usr/bin/salt-cloud</file>
  </format>
</package>
<package type="rpm">
  <name>salt-cloud</name>
  <arch>i586</arch>
  <version epoch="0" ver="3006.0" rel="2.435"/>
  <checksum type="sha512" pkgid="YES">a862649e36bc071507c0bf4d391cb8605e9b739b30950a893939381af3247578ed8eea926383f480beafcfec4aa1a19ddfe0b6ad7f2b7f04b5acf8a7a7141939</checksum>
  <summary>Generic cloud provisioning tool for Saltstack</summary>
  <description>public cloud VM management system
provision virtual machines on various public clouds via a cleanly
controlled profile and mapping system.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783248877" build="1707299555"/>
  <size package="73069" installed="337921" archive="339472"/>
  <location href="i586/salt-cloud-3006.0-2.435.i586.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.435.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="23829"/>
    <rpm:provides>
      <rpm:entry name="config(salt-cloud)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-cloud" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-cloud(x86-32)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/usr/bin/python3"/>
      <rpm:entry name="group(salt)" pre="1"/>
      <rpm:entry name="python3-apache-libcloud"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-master" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
    </rpm:requires>
    <rpm:recommends>
      <rpm:entry name="python3-botocore"/>
      <rpm:entry name="python3-netaddr"/>
    </rpm:recommends>
    <file>/etc/salt/cloud</file>
    <file type="dir">/etc/salt/cloud.maps.d</file>
    <file>/etc/salt/cloud.profiles</file>
    <file type="dir">/etc/salt/cloud.profiles.d</file>
    <file>/etc/salt/cloud.providers</file>
    <file type="dir">/etc/salt/cloud.providers.d</file>
    <file>/usr/bin/salt-cloud</file>
  </format>
</package>
<package type="rpm">
  <name>salt-cloud</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="3006.0" rel="2.435"/>
  <checksum type="sha512" pkgid="YES">94e21c18130c9391207a3ae9833e15c446a212d52bfc78ca42818caaf80db047622c45f76fd23a4d2afdc7a8a4e03f9069155f9fa82df5c78f2c793891debf0d</checksum>
  <summary>Generic cloud provisioning tool for Saltstack</summary>
  <description>public cloud VM management system
provision virtual machines on various public clouds via a cleanly
controlled profile and mapping system.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783249042" build="1707299555"/>
  <size package="73065" installed="337921" archive="339472"/>
  <location href="x86_64/salt-cloud-3006.0-2.435.x86_64.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.435.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="23825"/>
    <rpm:provides>
      <rpm:entry name="config(salt-cloud)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-cloud" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-cloud(x86-64)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/usr/bin/python3"/>
      <rpm:entry name="group(salt)" pre="1"/>
      <rpm:entry name="python3-apache-libcloud"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-master" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
    </rpm:requires>
    <rpm:recommends>
      <rpm:entry name="python3-botocore"/>
      <rpm:entry name="python3-netaddr"/>
    </rpm:recommends>
    <file>/etc/salt/cloud</file>
    <file type="dir">/etc/salt/cloud.maps.d</file>
    <file>/etc/salt/cloud.profiles</file>
    <file type="dir">/etc/salt/cloud.profiles.d</file>
    <file>/etc/salt/cloud.providers</file>
    <file type="dir">/etc/salt/cloud.providers.d</file>
    <file>/usr/bin/salt-cloud</file>
  </format>
</package>
<package type="rpm">
  <name>salt-doc</name>
  <arch>i586</arch>
  <version epoch="0" ver="3006.0" rel="2.432"/>
  <checksum type="sha512" pkgid="YES">b9162a2596effdc966044e2e66dc1ce77e0176c9014325c56a4ade2554565cdd31484c37ef774a85c317c1b6f2f608be5417e8ce86a7db746432a50cb5448141</checksum>
  <summary>Documentation for salt, a parallel remote execution system</summary>
  <description>This contains the documentation of salt, it is an offline version of http://docs.saltstack.com.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783248888" build="1707299555"/>
  <size package="9018670" installed="153750141" archive="154528120"/>
  <location href="i586/salt-doc-3006.0-2.432.i586.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Documentation/HTML</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.432.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="569625"/>
    <rpm:provides>
      <rpm:entry name="salt-doc" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-doc(x86-32)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>salt-doc</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="3006.0" rel="2.432"/>
  <checksum type="sha512" pkgid="YES">9f464e15430b1ccb58c55607a261aae4e37dafd694e6eedfa7e6d249cf81f6c4eaa7126bdd4ef15f074a319e9766cb92ad0e36c560923dd80a9d271d74ed4827</checksum>
  <summary>Documentation for salt, a parallel remote execution system</summary>
  <description>This contains the documentation of salt, it is an offline version of http://docs.saltstack.com.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783249050" build="1707299555"/>
  <size package="9018666" installed="153750141" archive="154528120"/>
  <location href="x86_64/salt-doc-3006.0-2.432.x86_64.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Documentation/HTML</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.432.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="569621"/>
    <rpm:provides>
      <rpm:entry name="salt-doc" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-doc(x86-64)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>salt-doc</name>
  <arch>i586</arch>
  <version epoch="0" ver="3006.0" rel="2.435"/>
  <checksum type="sha512" pkgid="YES">e8c2ce816fa8be4d514049825e3ec14eb0bbc5203eb6f3a3cb2d37f7c4a56fb7f116be9493667c6794490600a3c6bc35bad9585eaf5cb20d1250ddf6c2c5969c</checksum>
  <summary>Documentation for salt, a parallel remote execution system</summary>
  <description>This contains the documentation of salt, it is an offline version of http://docs.saltstack.com.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783248877" build="1707299555"/>
  <size package="9018650" installed="153750141" archive="154528120"/>
  <location href="i586/salt-doc-3006.0-2.435.i586.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Documentation/HTML</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.435.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="569605"/>
    <rpm:provides>
      <rpm:entry name="salt-doc" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-doc(x86-32)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>salt-doc</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="3006.0" rel="2.435"/>
  <checksum type="sha512" pkgid="YES">f09cbd2bd51427c3ba66da04cdf355d0f9db2afde152377e37a5dce3b9236eb5e9303e017792c39371e093e923f76d5265ea1d3d3e29fa4d5821d0c1ffde1fcc</checksum>
  <summary>Documentation for salt, a parallel remote execution system</summary>
  <description>This contains the documentation of salt, it is an offline version of http://docs.saltstack.com.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783249042" build="1707299555"/>
  <size package="9018646" installed="153750141" archive="154528120"/>
  <location href="x86_64/salt-doc-3006.0-2.435.x86_64.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Documentation/HTML</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.435.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="569601"/>
    <rpm:provides>
      <rpm:entry name="salt-doc" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-doc(x86-64)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>salt-fish-completion</name>
  <arch>noarch</arch>
  <version epoch="0" ver="3006.0" rel="2.432"/>
  <checksum type="sha512" pkgid="YES">01630bbf6851a45e623f45a2d1b56da3a9a92ab29b194fa88e3295d0bf959b66bf0b34d0e55d6548ac0a244fe0f9f61534ff887e116105061e36804e2426058d</checksum>
  <summary>Fish Completion for salt</summary>
  <description>Fish command line completion support for salt.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783248888" build="1707299555"/>
  <size package="30217" installed="29421" archive="31220"/>
  <location href="noarch/salt-fish-completion-3006.0-2.432.noarch.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.432.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="23445"/>
    <rpm:provides>
      <rpm:entry name="salt-fish-completion" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>salt-fish-completion</name>
  <arch>noarch</arch>
  <version epoch="0" ver="3006.0" rel="2.435"/>
  <checksum type="sha512" pkgid="YES">f2b52908c9f2584a2ed3acc2bad68140b24f058b454cf3f9d1a03c8c6eef9f188c4ff840d8bf0ab697627ff918fcfd0c80d82464f1d71a585b5d4b90ff161413</checksum>
  <summary>Fish Completion for salt</summary>
  <description>Fish command line completion support for salt.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783248877" build="1707299555"/>
  <size package="30197" installed="29421" archive="31220"/>
  <location href="noarch/salt-fish-completion-3006.0-2.435.noarch.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.435.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="23425"/>
    <rpm:provides>
      <rpm:entry name="salt-fish-completion" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>salt-master</name>
  <arch>i586</arch>
  <version epoch="0" ver="3006.0" rel="2.432"/>
  <checksum type="sha512" pkgid="YES">e8c9e0e388c63a8a6aaec3d96c96d4eb5405efa0b9dd8ee7da3e923a8deb4b27af53a040299f647f855955799c79f188527d7e943987a34a12f686afee89323a</checksum>
  <summary>The management component of Saltstack with zmq protocol supported</summary>
  <description>The Salt master is the central server to which all minions connect.
Enabled commands to remote systems to be called in parallel rather
than serially.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783248888" build="1707299555"/>
  <size package="3401135" installed="3408811" archive="3413244"/>
  <location href="i586/salt-master-3006.0-2.432.i586.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.432.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="29633"/>
    <rpm:provides>
      <rpm:entry name="config(salt-master)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-master" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-master(x86-32)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/bin/sh" pre="1"/>
      <rpm:entry name="/bin/sh"/>
      <rpm:entry name="/usr/bin/mkdir" pre="1"/>
      <rpm:entry name="/usr/bin/python3"/>
      <rpm:entry name="/usr/bin/touch" pre="1"/>
      <rpm:entry name="dmidecode"/>
      <rpm:entry name="fillup" pre="1"/>
      <rpm:entry name="group(salt)" pre="1"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="systemd" pre="1"/>
      <rpm:entry name="systemd"/>
      <rpm:entry name="user(salt)" pre="1"/>
    </rpm:requires>
    <rpm:recommends>
      <rpm:entry name="python3-pygit2" flags="GE" epoch="0" ver="0.20.3"/>
    </rpm:recommends>
    <file>/etc/salt/master</file>
    <file type="dir">/etc/salt/master.d</file>
    <file type="dir">/etc/salt/pki/master</file>
    <file type="dir">/etc/salt/pki/master/minions</file>
    <file type="dir">/etc/salt/pki/master/minions_autosign</file>
    <file type="dir">/etc/salt/pki/master/minions_denied</file>
    <file type="dir">/etc/salt/pki/master/minions_pre</file>
    <file type="dir">/etc/salt/pki/master/minions_rejected</file>
    <file>/etc/salt/roster</file>
    <file>/usr/bin/salt</file>
    <file>/usr/bin/salt-cp</file>
    <file>/usr/bin/salt-key</file>
    <file>/usr/bin/salt-master</file>
    <file>/usr/bin/salt-run</file>
    <file>/usr/sbin/rcsalt-master</file>
  </format>
</package>
<package type="rpm">
  <name>salt-master</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="3006.0" rel="2.432"/>
  <checksum type="sha512" pkgid="YES">5241fd25771115a885c6ccab4f550672c243926140265a38b9bd8b78c31ebe899730b96651a2c4105c8259fb3dc0f23248f25662e0cf6aafd0e8ac9097b976bf</checksum>
  <summary>The management component of Saltstack with zmq protocol supported</summary>
  <description>The Salt master is the central server to which all minions connect.
Enabled commands to remote systems to be called in parallel rather
than serially.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783249050" build="1707299555"/>
  <size package="3401139" installed="3408811" archive="3413244"/>
  <location href="x86_64/salt-master-3006.0-2.432.x86_64.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.432.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="29637"/>
    <rpm:provides>
      <rpm:entry name="config(salt-master)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-master" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-master(x86-64)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/bin/sh" pre="1"/>
      <rpm:entry name="/bin/sh"/>
      <rpm:entry name="/usr/bin/mkdir" pre="1"/>
      <rpm:entry name="/usr/bin/python3"/>
      <rpm:entry name="/usr/bin/touch" pre="1"/>
      <rpm:entry name="dmidecode"/>
      <rpm:entry name="fillup" pre="1"/>
      <rpm:entry name="group(salt)" pre="1"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="systemd" pre="1"/>
      <rpm:entry name="systemd"/>
      <rpm:entry name="user(salt)" pre="1"/>
    </rpm:requires>
    <rpm:recommends>
      <rpm:entry name="python3-pygit2" flags="GE" epoch="0" ver="0.20.3"/>
    </rpm:recommends>
    <file>/etc/salt/master</file>
    <file type="dir">/etc/salt/master.d</file>
    <file type="dir">/etc/salt/pki/master</file>
    <file type="dir">/etc/salt/pki/master/minions</file>
    <file type="dir">/etc/salt/pki/master/minions_autosign</file>
    <file type="dir">/etc/salt/pki/master/minions_denied</file>
    <file type="dir">/etc/salt/pki/master/minions_pre</file>
    <file type="dir">/etc/salt/pki/master/minions_rejected</file>
    <file>/etc/salt/roster</file>
    <file>/usr/bin/salt</file>
    <file>/usr/bin/salt-cp</file>
    <file>/usr/bin/salt-key</file>
    <file>/usr/bin/salt-master</file>
    <file>/usr/bin/salt-run</file>
    <file>/usr/sbin/rcsalt-master</file>
  </format>
</package>
<package type="rpm">
  <name>salt-master</name>
  <arch>i586</arch>
  <version epoch="0" ver="3006.0" rel="2.435"/>
  <checksum type="sha512" pkgid="YES">e1ab2a4c747d94eaf24c161baebdbf4c55f67229076f56e9a9d457b6d495b3a647cd82aadd916d3bc12d4027fb5ad7ecca521e1f3df07915742d0d0f2a3e1433</checksum>
  <summary>The management component of Saltstack with zmq protocol supported</summary>
  <description>The Salt master is the central server to which all minions connect.
Enabled commands to remote systems to be called in parallel rather
than serially.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783248877" build="1707299555"/>
  <size package="3401119" installed="3408811" archive="3413244"/>
  <location href="i586/salt-master-3006.0-2.435.i586.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.435.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="29617"/>
    <rpm:provides>
      <rpm:entry name="config(salt-master)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-master" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-master(x86-32)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/bin/sh" pre="1"/>
      <rpm:entry name="/bin/sh"/>
      <rpm:entry name="/usr/bin/mkdir" pre="1"/>
      <rpm:entry name="/usr/bin/python3"/>
      <rpm:entry name="/usr/bin/touch" pre="1"/>
      <rpm:entry name="dmidecode"/>
      <rpm:entry name="fillup" pre="1"/>
      <rpm:entry name="group(salt)" pre="1"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="systemd" pre="1"/>
      <rpm:entry name="systemd"/>
      <rpm:entry name="user(salt)" pre="1"/>
    </rpm:requires>
    <rpm:recommends>
      <rpm:entry name="python3-pygit2" flags="GE" epoch="0" ver="0.20.3"/>
    </rpm:recommends>
    <file>/etc/salt/master</file>
    <file type="dir">/etc/salt/master.d</file>
    <file type="dir">/etc/salt/pki/master</file>
    <file type="dir">/etc/salt/pki/master/minions</file>
    <file type="dir">/etc/salt/pki/master/minions_autosign</file>
    <file type="dir">/etc/salt/pki/master/minions_denied</file>
    <file type="dir">/etc/salt/pki/master/minions_pre</file>
    <file type="dir">/etc/salt/pki/master/minions_rejected</file>
    <file>/etc/salt/roster</file>
    <file>/usr/bin/salt</file>
    <file>/usr/bin/salt-cp</file>
    <file>/usr/bin/salt-key</file>
    <file>/usr/bin/salt-master</file>
    <file>/usr/bin/salt-run</file>
    <file>/usr/sbin/rcsalt-master</file>
  </format>
</package>
<package type="rpm">
  <name>salt-master</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="3006.0" rel="2.435"/>
  <checksum type="sha512" pkgid="YES">ed264aa33619b73e8cb13cda3c992561e96e00951bec52c2caa1f28e8dcd8caa7e547bd903f3e7c47f0529c29891fa9f33393d6c2c80ee61c848e2799b606bce</checksum>
  <summary>The management component of Saltstack with zmq protocol supported</summary>
  <description>The Salt master is the central server to which all minions connect.
Enabled commands to remote systems to be called in parallel rather
than serially.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783249043" build="1707299555"/>
  <size package="3401119" installed="3408811" archive="3413244"/>
  <location href="x86_64/salt-master-3006.0-2.435.x86_64.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.435.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="29617"/>
    <rpm:provides>
      <rpm:entry name="config(salt-master)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-master" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-master(x86-64)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/bin/sh" pre="1"/>
      <rpm:entry name="/bin/sh"/>
      <rpm:entry name="/usr/bin/mkdir" pre="1"/>
      <rpm:entry name="/usr/bin/python3"/>
      <rpm:entry name="/usr/bin/touch" pre="1"/>
      <rpm:entry name="dmidecode"/>
      <rpm:entry name="fillup" pre="1"/>
      <rpm:entry name="group(salt)" pre="1"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="systemd" pre="1"/>
      <rpm:entry name="systemd"/>
      <rpm:entry name="user(salt)" pre="1"/>
    </rpm:requires>
    <rpm:recommends>
      <rpm:entry name="python3-pygit2" flags="GE" epoch="0" ver="0.20.3"/>
    </rpm:recommends>
    <file>/etc/salt/master</file>
    <file type="dir">/etc/salt/master.d</file>
    <file type="dir">/etc/salt/pki/master</file>
    <file type="dir">/etc/salt/pki/master/minions</file>
    <file type="dir">/etc/salt/pki/master/minions_autosign</file>
    <file type="dir">/etc/salt/pki/master/minions_denied</file>
    <file type="dir">/etc/salt/pki/master/minions_pre</file>
    <file type="dir">/etc/salt/pki/master/minions_rejected</file>
    <file>/etc/salt/roster</file>
    <file>/usr/bin/salt</file>
    <file>/usr/bin/salt-cp</file>
    <file>/usr/bin/salt-key</file>
    <file>/usr/bin/salt-master</file>
    <file>/usr/bin/salt-run</file>
    <file>/usr/sbin/rcsalt-master</file>
  </format>
</package>
<package type="rpm">
  <name>salt-minion</name>
  <arch>i586</arch>
  <version epoch="0" ver="3006.0" rel="2.432"/>
  <checksum type="sha512" pkgid="YES">b580562c72cdd4c2bab54274dde6ecc8e297cdbce098a1eeea64979d168714ffea874e43d8beacdefb23fb6e44ffcd5957bb16b70750dc7c83451e9bca185964</checksum>
  <summary>The client component for Saltstack</summary>
  <description>Salt minion is queried and controlled from the master.
Listens to the salt master and execute the commands.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783248888" build="1707299555"/>
  <size package="41883" installed="44284" archive="45668"/>
  <location href="i586/salt-minion-3006.0-2.432.i586.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.432.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="25745"/>
    <rpm:provides>
      <rpm:entry name="config(salt-minion)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-minion" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-minion(x86-32)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="(salt-transactional-update = 3006.0-2.432 if read-only-root-fs)"/>
      <rpm:entry name="/bin/sh" pre="1"/>
      <rpm:entry name="/bin/sh"/>
      <rpm:entry name="/usr/bin/mkdir" pre="1"/>
      <rpm:entry name="/usr/bin/python3"/>
      <rpm:entry name="/usr/bin/touch" pre="1"/>
      <rpm:entry name="fillup" pre="1"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="systemd" pre="1"/>
      <rpm:entry name="systemd"/>
    </rpm:requires>
    <file>/etc/salt/minion</file>
    <file type="dir">/etc/salt/minion.d</file>
    <file type="ghost">/etc/salt/minion_id</file>
    <file type="dir">/etc/salt/pki/minion</file>
    <file>/usr/bin/salt-minion</file>
    <file>/usr/sbin/rcsalt-minion</file>
  </format>
</package>
<package type="rpm">
  <name>salt-minion</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="3006.0" rel="2.432"/>
  <checksum type="sha512" pkgid="YES">b49f193bc87f5c7356aaed9b30953ea02e479e00ddb47d7f7e68f6c43f45cf5816e41d85cc997dbf199b8bb3ce8fdd0db76c6a23eb59ea137a5ea0a4ea0637e5</checksum>
  <summary>The client component for Saltstack</summary>
  <description>Salt minion is queried and controlled from the master.
Listens to the salt master and execute the commands.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783249050" build="1707299555"/>
  <size package="41883" installed="44284" archive="45668"/>
  <location href="x86_64/salt-minion-3006.0-2.432.x86_64.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.432.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="25745"/>
    <rpm:provides>
      <rpm:entry name="config(salt-minion)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-minion" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-minion(x86-64)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="(salt-transactional-update = 3006.0-2.432 if read-only-root-fs)"/>
      <rpm:entry name="/bin/sh" pre="1"/>
      <rpm:entry name="/bin/sh"/>
      <rpm:entry name="/usr/bin/mkdir" pre="1"/>
      <rpm:entry name="/usr/bin/python3"/>
      <rpm:entry name="/usr/bin/touch" pre="1"/>
      <rpm:entry name="fillup" pre="1"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="systemd" pre="1"/>
      <rpm:entry name="systemd"/>
    </rpm:requires>
    <file>/etc/salt/minion</file>
    <file type="dir">/etc/salt/minion.d</file>
    <file type="ghost">/etc/salt/minion_id</file>
    <file type="dir">/etc/salt/pki/minion</file>
    <file>/usr/bin/salt-minion</file>
    <file>/usr/sbin/rcsalt-minion</file>
  </format>
</package>
<package type="rpm">
  <name>salt-minion</name>
  <arch>i586</arch>
  <version epoch="0" ver="3006.0" rel="2.435"/>
  <checksum type="sha512" pkgid="YES">8f4f3bac848558e7ae289c12723f131d2f938d3802f84b59e59aa85d543f16b29408a918605a2d7e9e3d62df74fba5b9a25f8814d8f93ea8c05b2d4fc9981300</checksum>
  <summary>The client component for Saltstack</summary>
  <description>Salt minion is queried and controlled from the master.
Listens to the salt master and execute the commands.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783248878" build="1707299555"/>
  <size package="41863" installed="44284" archive="45668"/>
  <location href="i586/salt-minion-3006.0-2.435.i586.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.435.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="25725"/>
    <rpm:provides>
      <rpm:entry name="config(salt-minion)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-minion" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-minion(x86-32)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="(salt-transactional-update = 3006.0-2.435 if read-only-root-fs)"/>
      <rpm:entry name="/bin/sh" pre="1"/>
      <rpm:entry name="/bin/sh"/>
      <rpm:entry name="/usr/bin/mkdir" pre="1"/>
      <rpm:entry name="/usr/bin/python3"/>
      <rpm:entry name="/usr/bin/touch" pre="1"/>
      <rpm:entry name="fillup" pre="1"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="systemd" pre="1"/>
      <rpm:entry name="systemd"/>
    </rpm:requires>
    <file>/etc/salt/minion</file>
    <file type="dir">/etc/salt/minion.d</file>
    <file type="ghost">/etc/salt/minion_id</file>
    <file type="dir">/etc/salt/pki/minion</file>
    <file>/usr/bin/salt-minion</file>
    <file>/usr/sbin/rcsalt-minion</file>
  </format>
</package>
<package type="rpm">
  <name>salt-minion</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="3006.0" rel="2.435"/>
  <checksum type="sha512" pkgid="YES">4c15068223634ea025628a9548bcca3f60a52e190bb36319c73b5b1e7237954a9fc536981a9d3880b266f408244824951f7d62576ce456e00eb6027538e841c2</checksum>
  <summary>The client component for Saltstack</summary>
  <description>Salt minion is queried and controlled from the master.
Listens to the salt master and execute the commands.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783249043" build="1707299555"/>
  <size package="41867" installed="44284" archive="45668"/>
  <location href="x86_64/salt-minion-3006.0-2.435.x86_64.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.435.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="25729"/>
    <rpm:provides>
      <rpm:entry name="config(salt-minion)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-minion" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-minion(x86-64)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="(salt-transactional-update = 3006.0-2.435 if read-only-root-fs)"/>
      <rpm:entry name="/bin/sh" pre="1"/>
      <rpm:entry name="/bin/sh"/>
      <rpm:entry name="/usr/bin/mkdir" pre="1"/>
      <rpm:entry name="/usr/bin/python3"/>
      <rpm:entry name="/usr/bin/touch" pre="1"/>
      <rpm:entry name="fillup" pre="1"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="systemd" pre="1"/>
      <rpm:entry name="systemd"/>
    </rpm:requires>
    <file>/etc/salt/minion</file>
    <file type="dir">/etc/salt/minion.d</file>
    <file type="ghost">/etc/salt/minion_id</file>
    <file type="dir">/etc/salt/pki/minion</file>
    <file>/usr/bin/salt-minion</file>
    <file>/usr/sbin/rcsalt-minion</file>
  </format>
</package>
<package type="rpm">
  <name>salt-proxy</name>
  <arch>i586</arch>
  <version epoch="0" ver="3006.0" rel="2.432"/>
  <checksum type="sha512" pkgid="YES">8bc40fc1de8859a62e47f317c076e26b13601b52f32067866bb444db79dd078289a8e2d2225d383da03c1e2c373eb957102b7a670aec4e8cc34213bcc99a2827</checksum>
  <summary>Component for salt that enables controlling arbitrary devices</summary>
  <description>Proxy minions are a developing Salt feature that enables controlling devices that,
for whatever reason, cannot run a standard salt-minion.
Examples include network gear that has an API but runs a proprietary OS,
devices with limited CPU or memory, or devices that could run a minion, but for
security reasons, will not.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783248888" build="1707299555"/>
  <size package="27278" installed="2499" archive="3064"/>
  <location href="i586/salt-proxy-3006.0-2.432.i586.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.432.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="25093"/>
    <rpm:provides>
      <rpm:entry name="salt-proxy" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-proxy(x86-32)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/bin/sh" pre="1"/>
      <rpm:entry name="/bin/sh"/>
      <rpm:entry name="/usr/bin/mkdir" pre="1"/>
      <rpm:entry name="/usr/bin/python3"/>
      <rpm:entry name="/usr/bin/touch" pre="1"/>
      <rpm:entry name="fillup" pre="1"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="systemd" pre="1"/>
      <rpm:entry name="systemd"/>
    </rpm:requires>
    <file>/usr/bin/salt-proxy</file>
  </format>
</package>
<package type="rpm">
  <name>salt-proxy</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="3006.0" rel="2.432"/>
  <checksum type="sha512" pkgid="YES">2898fb40b23b9215abc3c756efa343a8c4451ff13728f8c8bd4b6e9440776bf6eb7f8f10f99a60244bd1c410b4cd0b35692c25b114bb44e006fff02346e1350f</checksum>
  <summary>Component for salt that enables controlling arbitrary devices</summary>
  <description>Proxy minions are a developing Salt feature that enables controlling devices that,
for whatever reason, cannot run a standard salt-minion.
Examples include network gear that has an API but runs a proprietary OS,
devices with limited CPU or memory, or devices that could run a minion, but for
security reasons, will not.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783249050" build="1707299555"/>
  <size package="27282" installed="2499" archive="3064"/>
  <location href="x86_64/salt-proxy-3006.0-2.432.x86_64.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.432.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="25097"/>
    <rpm:provides>
      <rpm:entry name="salt-proxy" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-proxy(x86-64)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/bin/sh" pre="1"/>
      <rpm:entry name="/bin/sh"/>
      <rpm:entry name="/usr/bin/mkdir" pre="1"/>
      <rpm:entry name="/usr/bin/python3"/>
      <rpm:entry name="/usr/bin/touch" pre="1"/>
      <rpm:entry name="fillup" pre="1"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="systemd" pre="1"/>
      <rpm:entry name="systemd"/>
    </rpm:requires>
    <file>/usr/bin/salt-proxy</file>
  </format>
</package>
<package type="rpm">
  <name>salt-proxy</name>
  <arch>i586</arch>
  <version epoch="0" ver="3006.0" rel="2.435"/>
  <checksum type="sha512" pkgid="YES">e6d40eed081b6b8ca13673919d20aa3cef5364a5fcd6148528bdb094fe1297cbf90789a5c77125b653cd4f9cb5c474e154f081696700d6443a69f786e1c47a09</checksum>
  <summary>Component for salt that enables controlling arbitrary devices</summary>
  <description>Proxy minions are a developing Salt feature that enables controlling devices that,
for whatever reason, cannot run a standard salt-minion.
Examples include network gear that has an API but runs a proprietary OS,
devices with limited CPU or memory, or devices that could run a minion, but for
security reasons, will not.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783248878" build="1707299555"/>
  <size package="27262" installed="2499" archive="3064"/>
  <location href="i586/salt-proxy-3006.0-2.435.i586.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.435.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="25077"/>
    <rpm:provides>
      <rpm:entry name="salt-proxy" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-proxy(x86-32)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/bin/sh" pre="1"/>
      <rpm:entry name="/bin/sh"/>
      <rpm:entry name="/usr/bin/mkdir" pre="1"/>
      <rpm:entry name="/usr/bin/python3"/>
      <rpm:entry name="/usr/bin/touch" pre="1"/>
      <rpm:entry name="fillup" pre="1"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="systemd" pre="1"/>
      <rpm:entry name="systemd"/>
    </rpm:requires>
    <file>/usr/bin/salt-proxy</file>
  </format>
</package>
<package type="rpm">
  <name>salt-proxy</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="3006.0" rel="2.435"/>
  <checksum type="sha512" pkgid="YES">f3c4a6fc64916fdd31fca8f035123803d66512da866d5ebfb4518e124c4505c3038c01e4bcedd6a8b325963e28abe0d843d825d13dab3df58beb3910a1b32b58</checksum>
  <summary>Component for salt that enables controlling arbitrary devices</summary>
  <description>Proxy minions are a developing Salt feature that enables controlling devices that,
for whatever reason, cannot run a standard salt-minion.
Examples include network gear that has an API but runs a proprietary OS,
devices with limited CPU or memory, or devices that could run a minion, but for
security reasons, will not.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783249043" build="1707299555"/>
  <size package="27262" installed="2499" archive="3064"/>
  <location href="x86_64/salt-proxy-3006.0-2.435.x86_64.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.435.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="25077"/>
    <rpm:provides>
      <rpm:entry name="salt-proxy" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-proxy(x86-64)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/bin/sh" pre="1"/>
      <rpm:entry name="/bin/sh"/>
      <rpm:entry name="/usr/bin/mkdir" pre="1"/>
      <rpm:entry name="/usr/bin/python3"/>
      <rpm:entry name="/usr/bin/touch" pre="1"/>
      <rpm:entry name="fillup" pre="1"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="systemd" pre="1"/>
      <rpm:entry name="systemd"/>
    </rpm:requires>
    <file>/usr/bin/salt-proxy</file>
  </format>
</package>
<package type="rpm">
  <name>salt-ssh</name>
  <arch>i586</arch>
  <version epoch="0" ver="3006.0" rel="2.432"/>
  <checksum type="sha512" pkgid="YES">94494aec5d09d7d210b5ffbe2ff2fb50cf8985a3098e0d455d642af65c7e9efb15a67ec16f33ac537d6c1a6e1ff5107ee7299117845b612af9f30122bd6def29</checksum>
  <summary>Management component for Saltstack with ssh protocol</summary>
  <description>Salt ssh is a master running without zmq.
it enables the management of minions over a ssh connection.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783248888" build="1707299555"/>
  <size package="26561" installed="3638" archive="4048"/>
  <location href="i586/salt-ssh-3006.0-2.432.i586.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.432.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="22797"/>
    <rpm:provides>
      <rpm:entry name="salt-ssh" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-ssh(x86-32)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/usr/bin/mkdir" pre="1"/>
      <rpm:entry name="/usr/bin/python3"/>
      <rpm:entry name="/usr/bin/touch" pre="1"/>
      <rpm:entry name="fillup" pre="1"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-master" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="systemd" pre="1"/>
      <rpm:entry name="systemd"/>
    </rpm:requires>
    <rpm:recommends>
      <rpm:entry name="sshpass"/>
    </rpm:recommends>
    <file>/usr/bin/salt-ssh</file>
  </format>
</package>
<package type="rpm">
  <name>salt-ssh</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="3006.0" rel="2.432"/>
  <checksum type="sha512" pkgid="YES">2ba934b1d6facf4ab9d7537967e3b54b9b351bc5f87a5e131ad9807816dc8207e8188adba25fe221f9f22c9c5a124af264b035ef275aa919d90154258fc4bbb2</checksum>
  <summary>Management component for Saltstack with ssh protocol</summary>
  <description>Salt ssh is a master running without zmq.
it enables the management of minions over a ssh connection.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783249050" build="1707299555"/>
  <size package="26557" installed="3638" archive="4048"/>
  <location href="x86_64/salt-ssh-3006.0-2.432.x86_64.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.432.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="22793"/>
    <rpm:provides>
      <rpm:entry name="salt-ssh" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-ssh(x86-64)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/usr/bin/mkdir" pre="1"/>
      <rpm:entry name="/usr/bin/python3"/>
      <rpm:entry name="/usr/bin/touch" pre="1"/>
      <rpm:entry name="fillup" pre="1"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-master" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="systemd" pre="1"/>
      <rpm:entry name="systemd"/>
    </rpm:requires>
    <rpm:recommends>
      <rpm:entry name="sshpass"/>
    </rpm:recommends>
    <file>/usr/bin/salt-ssh</file>
  </format>
</package>
<package type="rpm">
  <name>salt-ssh</name>
  <arch>i586</arch>
  <version epoch="0" ver="3006.0" rel="2.435"/>
  <checksum type="sha512" pkgid="YES">9d6f4fa5d53a2ad2bd64b72fa76f27d4deb3e5df82411387911c215473eecc5d69bd68d44f6a3c4628256db21217da7ba58a462da68b869aa1abf694930698fe</checksum>
  <summary>Management component for Saltstack with ssh protocol</summary>
  <description>Salt ssh is a master running without zmq.
it enables the management of minions over a ssh connection.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783248878" build="1707299555"/>
  <size package="26541" installed="3638" archive="4048"/>
  <location href="i586/salt-ssh-3006.0-2.435.i586.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.435.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="22777"/>
    <rpm:provides>
      <rpm:entry name="salt-ssh" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-ssh(x86-32)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/usr/bin/mkdir" pre="1"/>
      <rpm:entry name="/usr/bin/python3"/>
      <rpm:entry name="/usr/bin/touch" pre="1"/>
      <rpm:entry name="fillup" pre="1"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-master" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="systemd" pre="1"/>
      <rpm:entry name="systemd"/>
    </rpm:requires>
    <rpm:recommends>
      <rpm:entry name="sshpass"/>
    </rpm:recommends>
    <file>/usr/bin/salt-ssh</file>
  </format>
</package>
<package type="rpm">
  <name>salt-ssh</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="3006.0" rel="2.435"/>
  <checksum type="sha512" pkgid="YES">4f3ec4768907f5e5f2be3c45b66bc1b91f7a9d92ccd07f8927d4646c466f79f38c6d7ada88e671539f01bfce4c8538f425f28284cc4c0544a3d794faa8f2a668</checksum>
  <summary>Management component for Saltstack with ssh protocol</summary>
  <description>Salt ssh is a master running without zmq.
it enables the management of minions over a ssh connection.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783249043" build="1707299555"/>
  <size package="26541" installed="3638" archive="4048"/>
  <location href="x86_64/salt-ssh-3006.0-2.435.x86_64.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.435.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="22777"/>
    <rpm:provides>
      <rpm:entry name="salt-ssh" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-ssh(x86-64)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/usr/bin/mkdir" pre="1"/>
      <rpm:entry name="/usr/bin/python3"/>
      <rpm:entry name="/usr/bin/touch" pre="1"/>
      <rpm:entry name="fillup" pre="1"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-master" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="systemd" pre="1"/>
      <rpm:entry name="systemd"/>
    </rpm:requires>
    <rpm:recommends>
      <rpm:entry name="sshpass"/>
    </rpm:recommends>
    <file>/usr/bin/salt-ssh</file>
  </format>
</package>
<package type="rpm">
  <name>salt-standalone-formulas-configuration</name>
  <arch>i586</arch>
  <version epoch="0" ver="3006.0" rel="2.432"/>
  <checksum type="sha512" pkgid="YES">4629f19da28c9ce5889ed40566ec330f25a2bfde99aa1a12f59a70f8337668a51e4c7eb12aac03bb3222683302de7d2b6c0b4187ac04c1e07baafd0a1cfd7b5c</checksum>
  <summary>Standalone Salt configuration to make the packaged formulas available for the Salt master</summary>
  <description>This package adds the standalone configuration for the Salt master in order to make the packaged Salt formulas available on the Salt master</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783248889" build="1707299555"/>
  <size package="23445" installed="148" archive="1312"/>
  <location href="i586/salt-standalone-formulas-configuration-3006.0-2.432.i586.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.432.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="23205"/>
    <rpm:provides>
      <rpm:entry name="config(salt-standalone-formulas-configuration)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-formulas-configuration"/>
      <rpm:entry name="salt-standalone-formulas-configuration" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-standalone-formulas-configuration(x86-32)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="group(salt)" pre="1"/>
      <rpm:entry name="salt"/>
    </rpm:requires>
    <rpm:conflicts>
      <rpm:entry name="otherproviders(salt-formulas-configuration)"/>
    </rpm:conflicts>
    <file type="dir">/etc/salt/master.d</file>
    <file>/etc/salt/master.d/standalone-formulas-configuration.conf</file>
    <file type="dir">/etc/salt/minion.d</file>
    <file>/etc/salt/minion.d/standalone-formulas-configuration.conf</file>
  </format>
</package>
<package type="rpm">
  <name>salt-standalone-formulas-configuration</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="3006.0" rel="2.432"/>
  <checksum type="sha512" pkgid="YES">6eed64be49bbb631c8c99918cfbb43e9c697cb04402957d1e698405e34431cf1128f65f5ab12fd535926864517613789026ba2b456d786a438d37c06a4c39600</checksum>
  <summary>Standalone Salt configuration to make the packaged formulas available for the Salt master</summary>
  <description>This package adds the standalone configuration for the Salt master in order to make the packaged Salt formulas available on the Salt master</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783249050" build="1707299555"/>
  <size package="23445" installed="148" archive="1312"/>
  <location href="x86_64/salt-standalone-formulas-configuration-3006.0-2.432.x86_64.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.432.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="23205"/>
    <rpm:provides>
      <rpm:entry name="config(salt-standalone-formulas-configuration)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-formulas-configuration"/>
      <rpm:entry name="salt-standalone-formulas-configuration" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-standalone-formulas-configuration(x86-64)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="group(salt)" pre="1"/>
      <rpm:entry name="salt"/>
    </rpm:requires>
    <rpm:conflicts>
      <rpm:entry name="otherproviders(salt-formulas-configuration)"/>
    </rpm:conflicts>
    <file type="dir">/etc/salt/master.d</file>
    <file>/etc/salt/master.d/standalone-formulas-configuration.conf</file>
    <file type="dir">/etc/salt/minion.d</file>
    <file>/etc/salt/minion.d/standalone-formulas-configuration.conf</file>
  </format>
</package>
<package type="rpm">
  <name>salt-standalone-formulas-configuration</name>
  <arch>i586</arch>
  <version epoch="0" ver="3006.0" rel="2.435"/>
  <checksum type="sha512" pkgid="YES">6d1be2914e983640782e01379ff835c9714d080640050641c87430f3e2dadb91091c39b473b6b378fcb4de16d47f61232097617da6e0b2590d564a3ef70c7e3a</checksum>
  <summary>Standalone Salt configuration to make the packaged formulas available for the Salt master</summary>
  <description>This package adds the standalone configuration for the Salt master in order to make the packaged Salt formulas available on the Salt master</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783248878" build="1707299555"/>
  <size package="23429" installed="148" archive="1312"/>
  <location href="i586/salt-standalone-formulas-configuration-3006.0-2.435.i586.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.435.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="23189"/>
    <rpm:provides>
      <rpm:entry name="config(salt-standalone-formulas-configuration)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-formulas-configuration"/>
      <rpm:entry name="salt-standalone-formulas-configuration" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-standalone-formulas-configuration(x86-32)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="group(salt)" pre="1"/>
      <rpm:entry name="salt"/>
    </rpm:requires>
    <rpm:conflicts>
      <rpm:entry name="otherproviders(salt-formulas-configuration)"/>
    </rpm:conflicts>
    <file type="dir">/etc/salt/master.d</file>
    <file>/etc/salt/master.d/standalone-formulas-configuration.conf</file>
    <file type="dir">/etc/salt/minion.d</file>
    <file>/etc/salt/minion.d/standalone-formulas-configuration.conf</file>
  </format>
</package>
<package type="rpm">
  <name>salt-standalone-formulas-configuration</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="3006.0" rel="2.435"/>
  <checksum type="sha512" pkgid="YES">10644eb8e2569f7fb0e29b97ffba9872ee6aa14790388d29b878529f04b02ba1548be1f09d2ffd253d60a8c7012c192e7842c0a9ad6aedf7c96e65be29fda8f4</checksum>
  <summary>Standalone Salt configuration to make the packaged formulas available for the Salt master</summary>
  <description>This package adds the standalone configuration for the Salt master in order to make the packaged Salt formulas available on the Salt master</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783249043" build="1707299555"/>
  <size package="23425" installed="148" archive="1312"/>
  <location href="x86_64/salt-standalone-formulas-configuration-3006.0-2.435.x86_64.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.435.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="23185"/>
    <rpm:provides>
      <rpm:entry name="config(salt-standalone-formulas-configuration)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-formulas-configuration"/>
      <rpm:entry name="salt-standalone-formulas-configuration" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-standalone-formulas-configuration(x86-64)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="group(salt)" pre="1"/>
      <rpm:entry name="salt"/>
    </rpm:requires>
    <rpm:conflicts>
      <rpm:entry name="otherproviders(salt-formulas-configuration)"/>
    </rpm:conflicts>
    <file type="dir">/etc/salt/master.d</file>
    <file>/etc/salt/master.d/standalone-formulas-configuration.conf</file>
    <file type="dir">/etc/salt/minion.d</file>
    <file>/etc/salt/minion.d/standalone-formulas-configuration.conf</file>
  </format>
</package>
<package type="rpm">
  <name>salt-syndic</name>
  <arch>i586</arch>
  <version epoch="0" ver="3006.0" rel="2.432"/>
  <checksum type="sha512" pkgid="YES">1274c56b401824d98a24aaa7abcd7c4f817aa1a16a3435cdd0b24b827a543550d32c46d785a8c9c5ec27490ce0836364542642c9874429d01f5b3e8bc4d912d6</checksum>
  <summary>The syndic component for saltstack</summary>
  <description>Salt syndic is the master-of-masters for salt
The master of masters for salt-- it enables
the management of multiple masters at a time..</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783248889" build="1707299555"/>
  <size package="26697" installed="1604" archive="2304"/>
  <location href="i586/salt-syndic-3006.0-2.432.i586.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.432.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="25005"/>
    <rpm:provides>
      <rpm:entry name="salt-syndic" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-syndic(x86-32)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/bin/sh" pre="1"/>
      <rpm:entry name="/bin/sh"/>
      <rpm:entry name="/usr/bin/mkdir" pre="1"/>
      <rpm:entry name="/usr/bin/python3"/>
      <rpm:entry name="/usr/bin/touch" pre="1"/>
      <rpm:entry name="fillup" pre="1"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-master" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="systemd" pre="1"/>
      <rpm:entry name="systemd"/>
    </rpm:requires>
    <file>/usr/bin/salt-syndic</file>
    <file>/usr/sbin/rcsalt-syndic</file>
  </format>
</package>
<package type="rpm">
  <name>salt-syndic</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="3006.0" rel="2.432"/>
  <checksum type="sha512" pkgid="YES">385b02d55c53f4bbfb1547dab16da3ebddcc8eeaadc624723731d9876319b62d24c764998bf746847e03ffaa3b495f6eeb00a80fdc51d05777eade60acb30b41</checksum>
  <summary>The syndic component for saltstack</summary>
  <description>Salt syndic is the master-of-masters for salt
The master of masters for salt-- it enables
the management of multiple masters at a time..</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783249051" build="1707299555"/>
  <size package="26697" installed="1604" archive="2304"/>
  <location href="x86_64/salt-syndic-3006.0-2.432.x86_64.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.432.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="25005"/>
    <rpm:provides>
      <rpm:entry name="salt-syndic" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-syndic(x86-64)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/bin/sh" pre="1"/>
      <rpm:entry name="/bin/sh"/>
      <rpm:entry name="/usr/bin/mkdir" pre="1"/>
      <rpm:entry name="/usr/bin/python3"/>
      <rpm:entry name="/usr/bin/touch" pre="1"/>
      <rpm:entry name="fillup" pre="1"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-master" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="systemd" pre="1"/>
      <rpm:entry name="systemd"/>
    </rpm:requires>
    <file>/usr/bin/salt-syndic</file>
    <file>/usr/sbin/rcsalt-syndic</file>
  </format>
</package>
<package type="rpm">
  <name>salt-syndic</name>
  <arch>i586</arch>
  <version epoch="0" ver="3006.0" rel="2.435"/>
  <checksum type="sha512" pkgid="YES">2bcca71d26ec4b3289f2eaea1021db5c95ad7a2041cb7555a2406eee03608453645a1a8b545c8daf388eeb2dfcf78095745ba87112a102b90a464a3bb90ddaa9</checksum>
  <summary>The syndic component for saltstack</summary>
  <description>Salt syndic is the master-of-masters for salt
The master of masters for salt-- it enables
the management of multiple masters at a time..</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783248878" build="1707299555"/>
  <size package="26677" installed="1604" archive="2304"/>
  <location href="i586/salt-syndic-3006.0-2.435.i586.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.435.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="24985"/>
    <rpm:provides>
      <rpm:entry name="salt-syndic" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-syndic(x86-32)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/bin/sh" pre="1"/>
      <rpm:entry name="/bin/sh"/>
      <rpm:entry name="/usr/bin/mkdir" pre="1"/>
      <rpm:entry name="/usr/bin/python3"/>
      <rpm:entry name="/usr/bin/touch" pre="1"/>
      <rpm:entry name="fillup" pre="1"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-master" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="systemd" pre="1"/>
      <rpm:entry name="systemd"/>
    </rpm:requires>
    <file>/usr/bin/salt-syndic</file>
    <file>/usr/sbin/rcsalt-syndic</file>
  </format>
</package>
<package type="rpm">
  <name>salt-syndic</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="3006.0" rel="2.435"/>
  <checksum type="sha512" pkgid="YES">47053861e5fbb2bf4adc9cff77e3dd200347ff9a99d9e43cc8e88b8855b39328113ffeddf8a1997563b3bc684187f9f59f3642a01e56eed6bdb6c11ef2ea9407</checksum>
  <summary>The syndic component for saltstack</summary>
  <description>Salt syndic is the master-of-masters for salt
The master of masters for salt-- it enables
the management of multiple masters at a time..</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783249043" build="1707299555"/>
  <size package="26681" installed="1604" archive="2304"/>
  <location href="x86_64/salt-syndic-3006.0-2.435.x86_64.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.435.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="24989"/>
    <rpm:provides>
      <rpm:entry name="salt-syndic" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-syndic(x86-64)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/bin/sh" pre="1"/>
      <rpm:entry name="/bin/sh"/>
      <rpm:entry name="/usr/bin/mkdir" pre="1"/>
      <rpm:entry name="/usr/bin/python3"/>
      <rpm:entry name="/usr/bin/touch" pre="1"/>
      <rpm:entry name="fillup" pre="1"/>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-master" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="systemd" pre="1"/>
      <rpm:entry name="systemd"/>
    </rpm:requires>
    <file>/usr/bin/salt-syndic</file>
    <file>/usr/sbin/rcsalt-syndic</file>
  </format>
</package>
<package type="rpm">
  <name>salt-transactional-update</name>
  <arch>i586</arch>
  <version epoch="0" ver="3006.0" rel="2.432"/>
  <checksum type="sha512" pkgid="YES">b467a1413b969595ab2dd29c896a0c781013bbfae455b533d8962925f819c51ff6ec2ae689b574a3b36bcc6065d1c20005a442195c15196b29ac7e7d3b9d1909</checksum>
  <summary>Transactional update executor configuration</summary>
  <description>For transactional systems, like MicroOS, Salt can operate
transparently if the executor "transactional-update" is registered in
list of active executors.  This package add the configuration file.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783248889" build="1707299555"/>
  <size package="22683" installed="102" archive="384"/>
  <location href="i586/salt-transactional-update-3006.0-2.432.i586.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.432.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="22521"/>
    <rpm:provides>
      <rpm:entry name="config(salt-transactional-update)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-transactional-update" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-transactional-update(x86-32)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-minion" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="tar"/>
    </rpm:requires>
    <file>/etc/salt/minion.d/transactional_update.conf</file>
  </format>
</package>
<package type="rpm">
  <name>salt-transactional-update</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="3006.0" rel="2.432"/>
  <checksum type="sha512" pkgid="YES">ee70c5edda17143b6398870110a8e4af207649085d09ce9614e14b462f0e816a11d8a8edf0965d7b3693bd34ab0f4d672b191883ee64199c0a1fd6c7a1ff8c76</checksum>
  <summary>Transactional update executor configuration</summary>
  <description>For transactional systems, like MicroOS, Salt can operate
transparently if the executor "transactional-update" is registered in
list of active executors.  This package add the configuration file.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783249051" build="1707299555"/>
  <size package="22679" installed="102" archive="384"/>
  <location href="x86_64/salt-transactional-update-3006.0-2.432.x86_64.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.432.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="22517"/>
    <rpm:provides>
      <rpm:entry name="config(salt-transactional-update)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-transactional-update" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-transactional-update(x86-64)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-minion" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="tar"/>
    </rpm:requires>
    <file>/etc/salt/minion.d/transactional_update.conf</file>
  </format>
</package>
<package type="rpm">
  <name>salt-transactional-update</name>
  <arch>i586</arch>
  <version epoch="0" ver="3006.0" rel="2.435"/>
  <checksum type="sha512" pkgid="YES">0fece11e592c0fa6f600a365be0bb6ed2152684ba8e0513cbfbdb696b8320fad92d707f24ac18b9d229e2bedc283830c3419e04fdcad65ee62f9e1ea8cfb9ff1</checksum>
  <summary>Transactional update executor configuration</summary>
  <description>For transactional systems, like MicroOS, Salt can operate
transparently if the executor "transactional-update" is registered in
list of active executors.  This package add the configuration file.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783248878" build="1707299555"/>
  <size package="22663" installed="102" archive="384"/>
  <location href="i586/salt-transactional-update-3006.0-2.435.i586.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.435.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="22501"/>
    <rpm:provides>
      <rpm:entry name="config(salt-transactional-update)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-transactional-update" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-transactional-update(x86-32)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-minion" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="tar"/>
    </rpm:requires>
    <file>/etc/salt/minion.d/transactional_update.conf</file>
  </format>
</package>
<package type="rpm">
  <name>salt-transactional-update</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="3006.0" rel="2.435"/>
  <checksum type="sha512" pkgid="YES">089ec1658ff8c8bd41dc9701b53138189366752c6f6944d1a16aa466860eacd0b588200098eb9a3d0c931e7e0afde450d5e1ec12325aac0da433463e79d8ace7</checksum>
  <summary>Transactional update executor configuration</summary>
  <description>For transactional systems, like MicroOS, Salt can operate
transparently if the executor "transactional-update" is registered in
list of active executors.  This package add the configuration file.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783249043" build="1707299555"/>
  <size package="22663" installed="102" archive="384"/>
  <location href="x86_64/salt-transactional-update-3006.0-2.435.x86_64.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.435.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="22501"/>
    <rpm:provides>
      <rpm:entry name="config(salt-transactional-update)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-transactional-update" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-transactional-update(x86-64)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-minion" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="tar"/>
    </rpm:requires>
    <file>/etc/salt/minion.d/transactional_update.conf</file>
  </format>
</package>
<package type="rpm">
  <name>salt-zsh-completion</name>
  <arch>noarch</arch>
  <version epoch="0" ver="3006.0" rel="2.432"/>
  <checksum type="sha512" pkgid="YES">be25c79d021f4d4c2e3f9f7f3763cf06e997763fbe9f279f363a1d188aa4e7480f905c20dcde0f1d165d8031d53e9ac3cdb9067faeddf8bc6c38c89a7d306179</checksum>
  <summary>Zsh Completion for salt</summary>
  <description>Zsh command line completion support for salt.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783248889" build="1707299555"/>
  <size package="26592" installed="13407" archive="13808"/>
  <location href="noarch/salt-zsh-completion-3006.0-2.432.noarch.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.432.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="22309"/>
    <rpm:provides>
      <rpm:entry name="config(salt-zsh-completion)" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="salt-zsh-completion" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.432"/>
      <rpm:entry name="zsh"/>
    </rpm:requires>
    <file type="dir">/etc/zsh_completion.d</file>
    <file>/etc/zsh_completion.d/salt</file>
  </format>
</package>
<package type="rpm">
  <name>salt-zsh-completion</name>
  <arch>noarch</arch>
  <version epoch="0" ver="3006.0" rel="2.435"/>
  <checksum type="sha512" pkgid="YES">3d226b3c88db98ab2e481177782c214c02fbc72c58b8d812110a387cd1cb0489d2d5f3ffc5707e6fdeceb0381861dad198157d47595ac2899a1f13ce7e181210</checksum>
  <summary>Zsh Completion for salt</summary>
  <description>Zsh command line completion support for salt.</description>
  <packager></packager>
  <url>https://saltproject.io/</url>
  <time file="1783248878" build="1707299555"/>
  <size package="26576" installed="13407" archive="13808"/>
  <location href="noarch/salt-zsh-completion-3006.0-2.435.noarch.rpm"/>
  <format>
    <rpm:license>Apache-2.0</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/Management</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>salt-3006.0-2.435.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="22293"/>
    <rpm:provides>
      <rpm:entry name="config(salt-zsh-completion)" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="salt-zsh-completion" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="salt" flags="EQ" epoch="0" ver="3006.0" rel="2.435"/>
      <rpm:entry name="zsh"/>
    </rpm:requires>
    <file type="dir">/etc/zsh_completion.d</file>
    <file>/etc/zsh_completion.d/salt</file>
  </format>
</package>
<package type="rpm">
  <name>spectool</name>
  <arch>noarch</arch>
  <version epoch="0" ver="1.0.11" rel="1.2"/>
  <checksum type="sha512" pkgid="YES">27ad9d423e0470513b310e1fa4bb4b67c0faa5116c4dafc664ec550036d7f55d94d64b78d5fcc6ec6010d6d0febb0a3e7f7eb516f49b1c30b923888849afbb56</checksum>
  <summary>Utility to expand and download sources and patches to build RPMs</summary>
  <description>Spectool is a utility to expand and download sources and patches to build RPMs.</description>
  <packager></packager>
  <url>http://people.redhat.com/nphilipp/spectool/</url>
  <time file="1722887018" build="1323470304"/>
  <size package="17195" installed="27285" archive="27992"/>
  <location href="noarch/spectool-1.0.11-1.2.noarch.rpm"/>
  <format>
    <rpm:license>GPL-2.0+</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Tools/Other</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm>spectool-1.0.11-1.2.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4504" end="7333"/>
    <rpm:provides>
      <rpm:entry name="spectool" flags="EQ" epoch="0" ver="1.0.11" rel="1.2"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="/usr/bin/perl"/>
      <rpm:entry name="wget"/>
    </rpm:requires>
    <file>/usr/bin/spectool</file>
  </format>
</package>
<package type="rpm">
  <name>spectool</name>
  <arch>src</arch>
  <version epoch="0" ver="1.0.11" rel="1.2"/>
  <checksum type="sha512" pkgid="YES">5a835e1203f6c23ccbf964a3ba6e87dc730c4beb93a8d8d9ea01142698e930db33bb606c0fa7270a39ad31e920f8052fc1fb0782e17cc18358c806ad4e780813</checksum>
  <summary>Utility to expand and download sources and patches to build RPMs</summary>
  <description>Spectool is a utility to expand and download sources and patches to build RPMs.</description>
  <packager></packager>
  <url>http://people.redhat.com/nphilipp/spectool/</url>
  <time file="1722887018" build="1323470304"/>
  <size package="19807" installed="12468" archive="12984"/>
  <location href="src/spectool-1.0.11-1.2.src.rpm"/>
  <format>
    <rpm:license>GPL-2.0+</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>Development/Tools/Other</rpm:group>
    <rpm:buildhost>reproducible</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4504" end="8247"/>
    <rpm:provides>
      <rpm:entry name="spectool" flags="EQ" epoch="0" ver="1.0.11" rel="1.2"/>
    </rpm:provides>
  </format>
</package>
<package type="rpm">
  <name>wmname</name>
  <arch>i586</arch>
  <version epoch="0" ver="0.1" rel="1.12"/>
  <checksum type="sha512" pkgid="YES">67a786c9ff62e8ae136eed200bae4aba7df074edb1748d24c5d930ef103e91549f0a1ec19ad1d431bee89c4462eba8e3d075b52d85896bc46101136b4d4cabe1</checksum>
  <summary>Prints or sets the window manager name property</summary>
  <description>wmname prints/sets the window manager name
property of the root window similar to how
hostname(1) behaves.

wmname is a nice utility to fix problems with
JDK versions and other broken programs assuming
a reparenting window manager for instance.</description>
  <packager></packager>
  <url>http://tools.suckless.org/wmname</url>
  <time file="1473587151" build="1473587145"/>
  <size package="10600" installed="7371" archive="8076"/>
  <location href="i586/wmname-0.1-1.12.i586.rpm"/>
  <format>
    <rpm:license>X11/MIT</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/GUI/Other</rpm:group>
    <rpm:buildhost>lamb03</rpm:buildhost>
    <rpm:sourcerpm>wmname-0.1-1.12.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4552" end="7300"/>
    <rpm:provides>
      <rpm:entry name="wmname" flags="EQ" epoch="0" ver="0.1" rel="1.12"/>
      <rpm:entry name="wmname(x86-32)" flags="EQ" epoch="0" ver="0.1" rel="1.12"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="libX11.so.6"/>
      <rpm:entry name="libc.so.6(GLIBC_2.0)"/>
    </rpm:requires>
    <file>/usr/bin/wmname</file>
  </format>
</package>
<package type="rpm">
  <name>wmname</name>
  <arch>src</arch>
  <version epoch="0" ver="0.1" rel="1.12"/>
  <checksum type="sha512" pkgid="YES">e1cceefbc2b74a3d418aa8870e70bc8fb365970d60516e36dc30f4436f0f5868025a17051e30c401bcf3b7f45434407503940bca720126cf184589b28fa677dd</checksum>
  <summary>Prints or sets the window manager name property</summary>
  <description>wmname prints/sets the window manager name
property of the root window similar to how
hostname(1) behaves.

wmname is a nice utility to fix problems with
JDK versions and other broken programs assuming
a reparenting window manager for instance.</description>
  <packager></packager>
  <url>http://tools.suckless.org/wmname</url>
  <time file="1473587151" build="1473587145"/>
  <size package="10778" installed="5673" archive="6324"/>
  <location href="src/wmname-0.1-1.12.src.rpm"/>
  <format>
    <rpm:license>X11/MIT</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/GUI/Other</rpm:group>
    <rpm:buildhost>lamb03</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4552" end="6579"/>
    <rpm:requires>
      <rpm:entry name="xorg-x11-devel"/>
      <rpm:entry name="xorg-x11-util-devel"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>wmname</name>
  <arch>src</arch>
  <version epoch="0" ver="0.1" rel="6.22"/>
  <checksum type="sha512" pkgid="YES">6446a4c0a948d7ead32b749b21c104eb000098254739a1eaaaae376c5cb86a9360217b23916491b410794c6c5ac066301a225abb517586ead293cb64aa0a1d92</checksum>
  <summary>Prints or sets the window manager name property</summary>
  <description>wmname prints/sets the window manager name
property of the root window similar to how
hostname(1) behaves.

wmname is a nice utility to fix problems with
JDK versions and other broken programs assuming
a reparenting window manager for instance.</description>
  <packager></packager>
  <url>http://tools.suckless.org/wmname</url>
  <time file="1685150830" build="1685150826"/>
  <size package="13394" installed="5701" archive="6352"/>
  <location href="src/wmname-0.1-6.22.src.rpm"/>
  <format>
    <rpm:license>X11/MIT</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/GUI/Other</rpm:group>
    <rpm:buildhost>sheep87</rpm:buildhost>
    <rpm:sourcerpm></rpm:sourcerpm>
    <rpm:header-range start="4664" end="9182"/>
    <rpm:provides>
      <rpm:entry name="wmname" flags="EQ" epoch="0" ver="0.1" rel="6.22"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="xorg-x11-devel"/>
      <rpm:entry name="xorg-x11-util-devel"/>
    </rpm:requires>
  </format>
</package>
<package type="rpm">
  <name>wmname</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="0.1" rel="6.22"/>
  <checksum type="sha512" pkgid="YES">309df5bf1a6611af6ac2537a9470417fc776c9829dd2e96d7b335c29b16080c099be34a90da4b493fe0c423e08cc7b2cfec6664f5f0c7fced307b0b0ccd1f35b</checksum>
  <summary>Prints or sets the window manager name property</summary>
  <description>wmname prints/sets the window manager name
property of the root window similar to how
hostname(1) behaves.

wmname is a nice utility to fix problems with
JDK versions and other broken programs assuming
a reparenting window manager for instance.</description>
  <packager></packager>
  <url>http://tools.suckless.org/wmname</url>
  <time file="1685150830" build="1685150826"/>
  <size package="11602" installed="16195" archive="16908"/>
  <location href="x86_64/wmname-0.1-6.22.x86_64.rpm"/>
  <format>
    <rpm:license>X11/MIT</rpm:license>
    <rpm:vendor>obs://build.opensuse.org/home:cschneemann</rpm:vendor>
    <rpm:group>System/GUI/Other</rpm:group>
    <rpm:buildhost>sheep87</rpm:buildhost>
    <rpm:sourcerpm>wmname-0.1-6.22.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="4664" end="7869"/>
    <rpm:provides>
      <rpm:entry name="wmname" flags="EQ" epoch="0" ver="0.1" rel="6.22"/>
      <rpm:entry name="wmname(x86-64)" flags="EQ" epoch="0" ver="0.1" rel="6.22"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="libX11.so.6()(64bit)"/>
      <rpm:entry name="libc.so.6(GLIBC_2.34)(64bit)"/>
    </rpm:requires>
    <file>/usr/local/bin/wmname</file>
  </format>
</package>
</metadata>