Metadata-Version: 2.3
Name: onboot
Version: 1.0.0
Project-URL: Homepage, https://github.com/nbdy/onboot
Project-URL: Repository, https://github.com/nbdy/onboot.git
Project-URL: Issues, https://github.com/nbdy/onboot/issues
Author: nbdy
Maintainer: nbdy
License: MIT License
License-File: LICENSE
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.8
Description-Content-Type: text/markdown

# onboot

cross-platform autostart installer(s)

## features

- Linux
  - [X] XDG
  - [X] Cron
  - [X] Profile.d
  - [X] KDE Plasma
  - [X] Init.d
- Darwin
  - [X] PList
  - [X] Cron
- Windows
  - [X] StartMenu
  - [X] Registry
    - [X] HKCU
    - [X] HKLM
    - [ ] IFEO
    - [ ] UserInit (Winlogon)
  - [ ] WMCI
  - [X] Task scheduler
  - [ ] Cortana
  - [ ] People

## todo

- Tests
- Handling of specific exceptions instead of the catch-all "except:"

## install

```shell
pip install onboot
```
## usage

### try all available installers for a certain os

```python
from onboot import install_linux, InstallerConfiguration

# install
install_successful, used_installer = install_linux(InstallerConfiguration("/home/user/", "myapp"))

# uninstall
if install_successful:
    used_installer.uninstall()
```

### only use a specific installer

```python
from onboot.windows import HKCUInstaller
from onboot import InstallerConfiguration

# install
installer = HKCUInstaller(InstallerConfiguration("C:\\", "myapp"))
installer.install()

# uninstall
installer.uninstall()
```
