Напиши юнит для Systemd (если он есть в системе)
[Unit]
Description=Python Demo Service
[Service]
# Command to execute when the service is started
ExecStart=/usr/bin/python3 path/to/your/python_demo_service.py
так-же можно вместо системного питона указать путь к нему в виртуальном окружении.
Вот-тут и
тут довольно понятно расписано как это сделать, остальное несложно нагуглить.
Upd: Для винды
Используй виндовый Task Scheduler (так-же известный как "Планировщик заданий" и taskschd.msc)
https://stackoverflow.com/a/44727480/2981702