An optimizing chunking command runner
Project description
Orbiteer
A tool to control time-range based scripts, programs, and more.
Goals
- Provide a consistent, elegant way of running a script repeatedly with varied inputs in a useful way, such as fitting a goal run-time.
- Provide clear error handling and notification, failing gracefully.
- Be highly configurable.
- Be highly tested.
Wanted Features
Legend:
Symbol | Meaning |
---|---|
:white_check_mark: | Merged |
:yellow_square: | In progress |
:red_square: | Not yet begun |
Input Generation:
- :white_check_mark: Datetime range
- :white_check_mark: Old -> New
- :white_check_mark: New -> Old
- :red_square: Iterate over item chunks
- :red_square: In presented order
- :red_square: Sorted
Target Measurement
- :white_check_mark: Direct time taken by command
- :white_check_mark: Number returned by command
Optimization Strategy
- :white_check_mark: Direct ratio
- :white_check_mark: With damping
- :red_square: PID
Targets
- :white_check_mark: Run command line
- :white_check_mark: Args at end of command string
- :red_square: Command line formatting
- :white_check_mark: Python Callable
- :red_square: Call URL
- :red_square: Via request parameters
- :red_square: Via request body
- :red_square: Append to file
Failure retries
- :white_check_mark: Quit
- :red_square: N retries (before quit)
- :red_square: Immediately
- :red_square: Timed wait
- :red_square: Exponential backoff
- :red_square: Skip
- :red_square: Retry pattern and then skip
- :red_square: Skip and retry again at end of run
Notification methods
- :yellow_square: Logs
- :red_square: User-named scripts
- :red_square: PushOver
Notification events
- :yellow_square: Nominal completion
- :yellow_square: Erroring out
- :red_square: N% completion
- :red_square: Time passed
Development
Setup
- Install Poetry
- Run
./scripts/setup.sh
Check lint & formatting
make lint
Fix formatting
make format
Run tests & view coverage
make test
Check lint & run tests
make
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
orbiteer-0.2.0.tar.gz
(9.3 kB
view hashes)
Built Distribution
orbiteer-0.2.0-py3-none-any.whl
(11.9 kB
view hashes)