%global _empty_manifest_terminate_build 0
Name: python-daktari
Version: 0.0.103
Release: 1
Summary: Assist in setting up and maintaining developer environments
License: MIT
URL: https://github.com/sonocent/daktari
Source0: https://mirrors.nju.edu.cn/pypi/web/packages/66/e1/44b3a26d1fea4dbb376a21d74cbbd9cdd445a0203804e53f306124a52ccb/daktari-0.0.103.tar.gz
BuildArch: noarch
Requires: python3-PyYAML
Requires: python3-ansicolors
Requires: python3-distro
Requires: python3-dpath
Requires: python3-importlib-resources
Requires: python3-packaging
Requires: python3-pyOpenSSL
Requires: python3-pyfiglet
Requires: python3-hosts
Requires: python3-requests-unixsocket
Requires: python3-requests
Requires: python3-semver
Requires: python3-setuptools
Requires: python3-tabulate
Requires: python3-types-PyYAML
Requires: python3-types-pyOpenSSL
Requires: python3-types-tabulate
Requires: python3-dataclasses
Requires: python3-types-dataclasses
Requires: python3-pyobjc-core
Requires: python3-pyobjc-framework-Cocoa
%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,
```python
from daktari.checks.git import *
version = "0.0.103"
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 of a check implementation:
```python
class GitCryptInstalled(Check):
name = "git.crypt.installed"
depends_on = [GitInstalled]
suggestions = {
OS.OS_X: "brew install git-crypt",
OS.UBUNTU: "sudo apt install git-crypt",
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 installed")
```
## Testing Daktari changes locally
Having cloned the repo into `~/daktari`, you can make use of PYTHONPATH to run daktari using your local changes.
To do this, navigate into a directory that has a `.daktari.py` (e.g. another repository intending to use your change) and run:
```bash
PYTHONPATH=~/daktari python3 -m daktari --debug
```
## Release instructions
Daktari is continuously deployed via a github action - see [release.yaml](.github/workflows/release.yaml).
In case of a need to manually release, the steps are:
```
bumpversion --verbose patch
python setup.py sdist bdist_wheel
twine check dist/*
twine upload dist/*
```
%package -n python3-daktari
Summary: Assist in setting up and maintaining developer environments
Provides: python-daktari
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pip
%description -n python3-daktari
**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,
```python
from daktari.checks.git import *
version = "0.0.103"
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 of a check implementation:
```python
class GitCryptInstalled(Check):
name = "git.crypt.installed"
depends_on = [GitInstalled]
suggestions = {
OS.OS_X: "brew install git-crypt",
OS.UBUNTU: "sudo apt install git-crypt",
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 installed")
```
## Testing Daktari changes locally
Having cloned the repo into `~/daktari`, you can make use of PYTHONPATH to run daktari using your local changes.
To do this, navigate into a directory that has a `.daktari.py` (e.g. another repository intending to use your change) and run:
```bash
PYTHONPATH=~/daktari python3 -m daktari --debug
```
## Release instructions
Daktari is continuously deployed via a github action - see [release.yaml](.github/workflows/release.yaml).
In case of a need to manually release, the steps are:
```
bumpversion --verbose patch
python setup.py sdist bdist_wheel
twine check dist/*
twine upload dist/*
```
%package help
Summary: Development documents and examples for daktari
Provides: python3-daktari-doc
%description help
**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,
```python
from daktari.checks.git import *
version = "0.0.103"
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 of a check implementation:
```python
class GitCryptInstalled(Check):
name = "git.crypt.installed"
depends_on = [GitInstalled]
suggestions = {
OS.OS_X: "brew install git-crypt",
OS.UBUNTU: "sudo apt install git-crypt",
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 installed")
```
## Testing Daktari changes locally
Having cloned the repo into `~/daktari`, you can make use of PYTHONPATH to run daktari using your local changes.
To do this, navigate into a directory that has a `.daktari.py` (e.g. another repository intending to use your change) and run:
```bash
PYTHONPATH=~/daktari python3 -m daktari --debug
```
## Release instructions
Daktari is continuously deployed via a github action - see [release.yaml](.github/workflows/release.yaml).
In case of a need to manually release, the steps are:
```
bumpversion --verbose patch
python setup.py sdist bdist_wheel
twine check dist/*
twine upload dist/*
```
%prep
%autosetup -n daktari-0.0.103
%build
%py3_build
%install
%py3_install
install -d -m755 %{buildroot}/%{_pkgdocdir}
if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
pushd %{buildroot}
if [ -d usr/lib ]; then
find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/lib64 ]; then
find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/bin ]; then
find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/sbin ]; then
find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
fi
touch doclist.lst
if [ -d usr/share/man ]; then
find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
fi
popd
mv %{buildroot}/filelist.lst .
mv %{buildroot}/doclist.lst .
%files -n python3-daktari -f filelist.lst
%dir %{python3_sitelib}/*
%files help -f doclist.lst
%{_docdir}/*
%changelog
* Tue May 30 2023 Python_Bot - 0.0.103-1
- Package Spec generated