Skip to main content

Command-line tool and library for DOAP (Description of a Project) RDF.

Project description

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, !RubyForge 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

  • Written in Python (Yes, that’s a feature.)

  • Extensible with plugins using setuptools

Plugins in development

  • Create a Gentoo ebuild from a DOAP file

  • Find DOAP by a Gentoo package name (Thanks GLEP 46)

  • Search for DOAP by names you know such as your distribution’s package names, Source Forge name, etc.

  • Generate DOAP from well-known sites (Source Forge, PyPI etc.)

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

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 -s nut

You have a project’s homepage, display DOAP if any has been spidered:

$ doapfiend -o http://news.tiker.net/software/tagpy

You have the URL to a DOAP file:

$ doapfiend -d http://librdf.org/raptor/raptor.rdf

Display DOAP as RDF/XML for the SourceForge project ‘nut’:

$ doapfiend -xs nut

Display DOAP as N3 (Notation Three) for the SourceForge project ‘nut’:

$ doapfiend -ns 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
>>> doap = load(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, display_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:

>>> display_doap(fetch_doap(url))

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

doapfiend-0.1.0.tar.gz (72.5 kB view details)

Uploaded Source

Built Distribution

doapfiend-0.1.0-py2.5.egg (23.8 kB view details)

Uploaded Source

File details

Details for the file doapfiend-0.1.0.tar.gz.

File metadata

  • Download URL: doapfiend-0.1.0.tar.gz
  • Upload date:
  • Size: 72.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for doapfiend-0.1.0.tar.gz
Algorithm Hash digest
SHA256 415787a687aa98a9667a59d0e68bbac14c975e758392757a65367ea42bf19051
MD5 4de174d2575ff37ba5373e6ccabebb33
BLAKE2b-256 b8bcd5f666fb5345039494d142af6b50f5a3a07a611093e0716ea61038d93b1f

See more details on using hashes here.

File details

Details for the file doapfiend-0.1.0-py2.5.egg.

File metadata

File hashes

Hashes for doapfiend-0.1.0-py2.5.egg
Algorithm Hash digest
SHA256 d98cebced4fc1efd7b06922c253463b5950e87b3c2c76791651f9198a8ce474a
MD5 87752f0fa265eb41e6f94afdb4b5bd50
BLAKE2b-256 debda3b31358fdb3b0dbc46234860e3e574376c02b0aec840d6c3492112e6d45

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page