How to install doapfiend
- Download and install ActivePython
- Open Command Prompt
- Type
pypm install doapfiend
Lastest release
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
Optional Plugins available
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))