Skip to main content

Dap archives loader and checker

Project description

https://badge.fury.io/py/daploader.svg https://travis-ci.org/hroncok/daploader.png?branch=master https://pypip.in/d/daploader/badge.png

Python module that loads a dap file, check it for sanity/validity and provide access for metadata via a Python class.

You can also run daplint on your daps to see some errors or warnings.

Also provides very basic command line tool to install daps from Dapi (dapi).

dap

Dap is a format of extension for DevAssistant that contains custom assistants. The whole thing is now in development phase and the specification may change in the future. This module should define the standard.

http://devassistant.org

Structure

  • <package_name>-<version>/

    • assistants/

      • {crt,mod,prep,task}/

        • <package_name>.yaml and optionally <package_name>/*.yaml

    • files/

      • {crt,mod,prep,task,snippets}/

        • <package_name>/

          • additional files needed by your assistant(s) (scripts, templates, etc.)

    • icons/

      • {crt,mod,prep,task,snippets}/

        • <package_name>.{svg,png…}

    • snippets/

      • <package_name>.yaml and optionally <package_name>/*.yaml

    • doc/

      • <package_name>/

        • LICENSE or COPYING file

        • README

        • other documentation

    • meta.yaml

      • metadata

Basically only meta.yaml is mandatory, but a dap with meta.yaml only makes no sense. All content is wrapped in tar.gz archive and renamed to <package_name>-<version>.dap. Both .yaml and icons file extension (currently only .svg and .png) must be lower case. The archive should contain one top level directory named <package_name>-<version>.

meta.yaml

package_name: foo # required
version: 1.0.0 # required
license: GPLv2 # required
authors: [Bohuslav Kabrda <bkabrda@mailserver.com>, ...] # required
homepage: https://github.com/bkabrda/assistant-foo # optional
summary: Some brief one line text # required
bugreports: <a single URL or email address> # optional
description: |
    Some not-so-brief optional text.
    It can be split to multiple lines.
  • package name can contain lowercase letters (ASCII only), numbers, underscore and dash (while it can only start and end with a letter or digit), it has to be unique, several names are reserved by DevAssitant itself (e.g. python, ruby)

  • version follows this scheme: <num>[.<num>]*[dev|a|b], where 1.0.5 < 1.1dev < 1.1a < 1.1b < 1.1

  • license is specified via license tag used in Fedora https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#Good_Licenses

  • authors is a list of authors with their e-mail addresses (_at_ can be used instead of @)

  • homepage is an URL to existing webpage that describes the dap or contains the code (such as in example), only http(s) or ftp is allowed, no IP addresses

  • summary and description are self-descriptive in the given example

  • bugreports defines where the user should report bugs, it can be either an URL (issue tracker) or an e-mail address (mailing list or personal)

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

daploader-0.0.9.tar.gz (32.3 kB view hashes)

Uploaded Source

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