Automatically created environment for python package
Project description
cronvice
maintain your programs running under SCREEN using AT job scheduler
Example
# example
cronvice --help
Installation
# you need the scheduler
# sudo apt install at # NOT HERE
sudo apt install crontab
# you nee the code (anti PEP 668 way)
pip3 install cronvice
All scripts must be in ~/.myservice/anyname/tag
- where ~/.myservice is the S-PATH, path to scripts structure
- anyname - can be number of different subfolders
- tag must be a executable script with a uniqe name in all ~/.myservice
- ~/.config/cronvice/cfg.json - contains the S-PATH ("services")
- without a parameter, interactive tui is run, quit it with .q
Usage
Harmless calls
cris l
cris t syncthing
cris p syncthing
cris c syncthing
Enter to screen enviroment when running
cris e syncthing
- r(un)
- a(dd)
- d(elete)
- e(nter)
- c(omment show)
- t(ime show)
- p(ath show)
- l(ist cron)
- x (block service call with impossible timestamp)
Important services
PI
- inet/ap
switch - inet/piaddr.py
- warning/lowdisk
- hwdevs/tele012
ntc(technic) - image/flashcam8000
- image/flashcam5000
BUGS
- crashes when no crontab defined
- DATE MUST BE `Sat 12 Apr 17:09:55 CEST 2025`
- NOT `Sat Apr 12 15:09:39 UTC 2025`
- use install.me script to repair
Appendix
these are comments for using uv and uvx.... this is new stuff
New workflow with environments
Workflow
-
./distcheck.sh (no pip3 inside)
- if
twine{.verbatim} not present,uv tool install --force twine - same with
uv tool install --force bump2version
- if
-
uv tool install --upgrade cronviceand if hidden errors:uv tool install --upgrade cronvice==0.1.31force to reveal
-
NEVERTHELESS, environment is needed
make ~/.venvcd ~/.venvuv venv myservicenvand it is in this user folder.- ANY USE NEEDS
source ~/.venv/myservicenv/bin/activate - All stuff needs to be installed via uv: like
uv pip install fire - When all is installed,
source ...activateis run before python call- which works for
tele01that callste01.py - that has normal shebang
- which works for
-
PROBLEM for
influx_chrony- no idea now...
-
NO PROBLEM
telegrf, only telegraf needs to get installedUsing local venv is even better
uv venvcreates local .venv in the project, see more and more about lock
Hybrid shebang
two cases with different environemnts are hard
#!/bin/bash
#myservice_description: disk and ntp to INFLUX
"""" 2>/dev/null
# BASH CODE STARTS HERE
echo "Hello world from Bash!"
sleep 1
if [ -e "$HOME/.venv/myservicenv/bin/activate" ]; then
source $HOME/.venv/myservicenv/bin/activate
echo i... myservicenev is activated
else
echo i... not activated
fi
sleep 2
# BASH CODE ENDS HERE
/usr/bin/env python3 $0
exit
"""
#Python code goes here
"""
...
PEP668 UV UVX.... I dont know how to use environment....
"""
import fire
import subprocess as sp
import socket
if __name__=="__main__":
fire.Fire( main )
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
File details
Details for the file cronvice-0.1.52.tar.gz.
File metadata
- Download URL: cronvice-0.1.52.tar.gz
- Upload date:
- Size: 40.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c5f7125adc8da831ff289896e9e54fbda2121f7f2daac1f14463b6d81e359c5a
|
|
| MD5 |
4b6f19a88cd1adbce361778afc0fa788
|
|
| BLAKE2b-256 |
0f44478a8cdc1e9e2b74905d82d9b01b3f9d7688380d435705d839dd0b7086a5
|