<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl"?>
<rdf:RDF xml:lang="en"
         xmlns="http://usefulinc.com/ns/doap#" 
         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
         xmlns:asfext="http://projects.apache.org/ns/asfext#"
         xmlns:foaf="http://xmlns.com/foaf/0.1/">
<!--
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
    this work for additional information regarding copyright ownership.
    The ASF licenses this file to You under the Apache License, Version 2.0
    (the "License"); you may not use this file except in compliance with
    the License.  You may obtain a copy of the License at
   
         http://www.apache.org/licenses/LICENSE-2.0
   
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
-->
  <Project rdf:about="https://kibble.apache.org">
    <created>2018-03-19</created>
    <license rdf:resource="http://spdx.org/licenses/Apache-2.0" />
    <name>Apache Kibble</name>
    <homepage rdf:resource="https://kibble.apache.org" />
    <asfext:pmc rdf:resource="https://kibble.apache.org" />
    <shortdesc>Apache Kibble is a suite of tools for collecting, aggregating and visualizing activity in software projects. </shortdesc>
    <description>Apache Kibble is a suite of tools for collecting, aggregating and visualizing activity in software projects. </description>
    <bug-database rdf:resource="https://github.com/apache/kibble/issues" />
    <mailing-list rdf:resource="https://lists.apache.org/list.html?dev@kibble.apache.org" />
    <download-page rdf:resource="https://kibble.apache.org/docs/downloads.html" />
    <programming-language>Python</programming-language>
    <category rdf:resource="http://projects.apache.org/category/big-data" />
    <repository>
      <GitRepository>
        <location rdf:resource="https://github.com/apache/kibble.git"/>
        <browse rdf:resource="https://github.com/apache/kibble"/>
      </GitRepository>
      <GitRepository>
        <location rdf:resource="https://github.com/apache/kibble-1.git"/>
        <browse rdf:resource="https://github.com/apache/kibble-1"/>
      </GitRepository>
    </repository>
  </Project>
</rdf:RDF>

