Skip to main content

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

  • Generate a web page with CSS from a DOAP file (using hdoap)

  • Search for DOAP using a Gentoo Linux pacakge name (Thanks GLEP 46)

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))

Release files for doapfiend 0.3.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for doapfiend 0.3.3
File Size Uploaded
doapfiend-0.3.3.tar.gz 263.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for doapfiend 0.3.3
File Interpreter ABI Platform
doapfiend-0.3.3-py2.5.egg Legacy Egg format - - Details

Total release size: 331.0 kB

Release files / doapfiend-0.3.3.tar.gz

Download URL doapfiend-0.3.3.tar.gz
Size 263.5 kB
Tags Source
SHA-256 checksum
How to use checksums
d85887938e79468f2a1320d6c90bcc79f34e789ddc05b02c6beaaddae3b56ea8
BLAKE2b-256 checksum
How to use checksums
08d6f50d1afa5006544c16e95fd5953a78b81bdf1a779fe287eee98a9d82f620
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / doapfiend-0.3.3-py2.5.egg

Download URL doapfiend-0.3.3-py2.5.egg
Size 67.5 kB
Tags Egg
SHA-256 checksum
How to use checksums
5f7162d5677a805e5ebc728cf61853be29aeb699a19e4b34c12cd04c390682ae
BLAKE2b-256 checksum
How to use checksums
c4787ae1abbffad8554a2dd9e2f4d4677a52f114d0c612b36824d2b3dbb23236
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.3.3 This release

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page