doapfiend 0.3.3
Command-line tool and library for DOAP (Description of a Project) RDF.
Doapfiend is a command-line client and library for fetching, displaying, creating, and manipulating DOAP (Description of a Project) files.
Doapfiend uses RDFAlchemy/rdflib as an ORM to query and create DOAP.
See docs/api for Epydoc generated API documentation.
Features
- Display metadata in DOAP in a human-readable format
- Get DOAP by a !SourceForge, Freshmeat, PyPI, Ohloh etc. project name
- Search all DOAP spidered on the web (pingthesemanticweb.com)
- Access the metadata in the DOAP file using Python dot notation
- Fetch DOAP by using the short name of a DOAP PURL doapurl.org
- Fetch and display DOAP mentioned in FOAF by project homepage
- Written in Python (Yes, that's a feature.)
- Extensible with plugins using setuptools
Plugins in development
- Search for DOAP by names you know, such as your distribution's package names
- Create a Gentoo ebuild from a DOAP file
Installaion
You can InstallDoapfiend using distutils, easy_install or subversion. There is also a Gentoo Linux ebuild available.
Example command-line usage
Fetch DOAP for SourceForge project named 'nut':
$ doapfiend --sf nut
You have a project's homepage, display DOAP if any has been spidered:
$ doapfiend -o http://librdf.org/raptor/
You have the URL or local path to a DOAP file:
$ doapfiend -d http://librdf.org/raptor/raptor.rdf
Display DOAP as RDF/XML for the SourceForge project 'nut':
$ doapfiend -x --sf nut
Display DOAP as N3 (Notation Three) for the SourceForge project 'nut':
$ doapfiend -n --sf nut
Example library usage
Use a Freshmeat project name to fetch and display DOAP:
>>> from doapfiend.doaplib import get_by_pkg_index
>>> print get_by_pkg_index('fm', 'nut')
Get some DOAP and access its metadata:
>>> from doapfiend.doaplib import get_by_pkg_index, load_graph
>>> doap = load_graph(get_by_pkg_index('fm', 'nut'))
>>> print doap.name
'nut'
>>> print doap.created
'2008-04-19'
Use a project's homepage to fetch DOAP and print the RDF/XML. Note there may be more than one DOAP profile out there; we just use the first found in our example.
>>> from doapfiend.doaplib import query_by_homepage, print_doap
>>> url = query_by_homepage('http://news.tiker.net/software/tagpy')[0][1]
>>> print fetch_doap(url)
Same as above but display DOAP in human readable text:
>>> print_doap(fetch_doap(url))
| File | Type | Py Version | Uploaded on | Size | # downloads |
|---|---|---|---|---|---|
| doapfiend-0.3.3-py2.5.egg (md5) | Python Egg | 2.5 | 2008-06-10 | 65KB | 654 |
| doapfiend-0.3.3.tar.gz (md5) | Source | 2008-06-10 | 257KB | 561 | |
- Author: Rob Cakebread
- Home Page: http://trac.doapspace.org/doapfiend
- Download URL: http://doapspace.org/static/doapfiend/dist/doapfiend-0.3.3.tar.gz
- Keywords: doap rdf semantic web
- License: BSD-2
- Categories
- Package Index Owner: pythonhead
- DOAP record: doapfiend-0.3.3.xml
