Skip to main content

Assist in setting up and maintaining developer environments

Project description

Daktari is a tool to help the initial setup and ongoing maintenance of developer environments. It runs a series of checks (for example, that required software is installed) and provides suggestions on how to fix the issue if the check fails.

Configuration

In the root of the project repository, create a .daktari.py configuration file listing the checks you want run. For example,

from daktari.checks.git import *

version = "0.0.22"
title = "My Project"

checks = [
    GitInstalled(),
    GitLfsInstalled(),
    GitLfsSetUpForUser(),
    GitLfsFilesDownloaded(),
    GitCryptInstalled(),
]

Then run daktari to diagnose your environment:

$ daktari
✅ [git.installed] Git is installed
✅ [git.lfs.installed] Git LFS is installed
✅ [git.lfs.setUpForUser] Git LFS is set up for the current user
✅ [git.lfs.filesDownloaded] Git LFS files have been downloaded
❌ [git.crypt.installed] git-crypt is not installed
┌─💡 Suggestion ─────────┐
│ brew install git-crypt │
└────────────────────────┘

Custom Check

You can write a custom check as a Python class within .daktari.py, and include it in your list of checks. Example check implementation:

class GitCryptInstalled(Check):
    name = "git.crypt.installed"
    depends_on = [GitInstalled]

    suggestions = {
        OS.OS_X: "<cmd>brew install git-crypt</cmd>",
        OS.UBUNTU: "<cmd>sudo apt install git-crypt</cmd>",
        OS.GENERIC: "Install git-crypt (https://www.agwa.name/projects/git-crypt/)",
    }

    def check(self):
        return self.verify(can_run_command("git crypt version"), "git-crypt is <not/> installed")

Release instructions

bumpversion --verbose patch
python setup.py sdist bdist_wheel
twine check dist/*
twine upload dist/*

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

daktari-0.0.22.tar.gz (12.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

daktari-0.0.22-py3-none-any.whl (19.8 kB view details)

Uploaded Python 3

File details

Details for the file daktari-0.0.22.tar.gz.

File metadata

  • Download URL: daktari-0.0.22.tar.gz
  • Upload date:
  • Size: 12.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for daktari-0.0.22.tar.gz
Algorithm Hash digest
SHA256 43aa94da664b55c811390f0d9f918b58074909541e5dfa885ede392b719aa6b2
MD5 ed580b12d285e1b92ef43b65cd950c57
BLAKE2b-256 af625d6ceca589660e12f3af55c5d4bc1b8cfe255adc08ea6c17399909102bfa

See more details on using hashes here.

File details

Details for the file daktari-0.0.22-py3-none-any.whl.

File metadata

  • Download URL: daktari-0.0.22-py3-none-any.whl
  • Upload date:
  • Size: 19.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

File hashes

Hashes for daktari-0.0.22-py3-none-any.whl
Algorithm Hash digest
SHA256 e003eeb8141e550d86e9fc14cacaee2b3832e68fbfbd4468363338f22daeccf5
MD5 843acb0c4f1b2c6574adfaabf67fabab
BLAKE2b-256 f4c3b54ecee5b24d59e1ac02a8db81548c9511455c2754668a1cd83c8cfa71a5

See more details on using hashes here.

Supported by

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