watchmen-rust


Namewatchmen-rust JSON
Version 0.0.1 PyPI version JSON
download
home_pagehttps://docs.ahriknow.com/watchmen
SummaryWatchmen is a daemon process manager that for you manage and keep your application online 24/7
upload_time2024-01-02 13:01:00
maintainer
docs_urlNone
authorahriknow
requires_python
licenseApache-2.0
keywords watchmen ahriknow daemon process manager
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Watchmen (0.0.1)

`
Watchmen is a daemon process manager that for you manage and keep your application online 24/7
`

[中文简体](README.md) | [English](README_EN.md)

## Install

### Build from source

```shell
# Clone the repository
git clone https://github.com/ahriroot/watchmen.git

# Go into the repository
cd watchmen

# Install watchmen daemon
cargo install --path watchmend

# Install cli tool
cargo install --path watchmen
```

### Install from crates.io

```shell
# Install watchmen daemon
cargo install watchmend

# Install cli tool
cargo install watchmen
```

## Getting Started

### Generate config file

> "" Default is ${HOME}/.watchmen/config.toml

`watchmen -g ""`

```toml
[watchmen]
# The engine to use for the watchmen server
# Valid values are "sock", "socket", "http", "redis"
# sock: Unix socket
# socket: TCP socket
# http: HTTP Api (Include Web panel)
# redis: Redis pub/sub
engines = ["sock"]

# The default engine to use for connecting to the watchmen server
engine = "sock"

# The log directory of the watchmen server
log_dir = "$HOME/.watchmen/logs"

# The log level of the watchmen server
# Valid values are "debug", "info", "warn", "error". Default is "info"
log_level = "info"

# The standard output of the watchmen server
# Default is None
stdout = "$HOME/.watchmen/watchmen.stdout.log"

# The standard error of the watchmen server
# Default is None
stderr = "$HOME/.watchmen/watchmen.stderr.log"

# The pid file of the watchmen server
# Default is `$HOME/.watchmen/watchmen.pid`
pid = "$HOME/.watchmen/watchmen.pid"

# The task config file name matching pattern
# Default is `^.*\\.(toml|ini|json)$`
mat = "^.*\\.(toml|ini|json)$"

# Tasks cache file, json format
cache = "$HOME/.watchmen/cache.json"


[sock]
# The unix socket path of the watchmen server
path = "/tmp/watchmen.sock"


[socket]
host = "127.0.0.1"
port = 1949


[http]
host = "127.0.0.1"
port = 1997


[redis]
host = "localhost"
port = 6379
username = ""
password = ""
queue_index = 0
queue_name = "watchmen"
subscribe_channels = ["watchmen"]
subscribe_name = "watchmen"
```

### Start watchmen daemon

`watchmend`

### Task Config file

```toml
[[task]]
id = 1
name = "Async Task 1"
command = "command"
args = ["arg1", "arg2"]
dir = "/path/to/directory"
env = { key1 = "value1", key2 = "value2" }
stdin = true
stdout = "output.txt"
stderr = "error.txt"
task_type = { Async = { max_restart = 2, has_restart = 0, started_at = 0, stopped_at = 0 } }

[[task]]
id = 2
name = "Periodic Task 1"
command = "command"
args = ["arg1", "arg2"]
dir = "/path/to/directory"
env = { key1 = "value1", key2 = "value2" }
stdin = false
stdout = "output.txt"
stderr = "error.txt"
task_type = { Periodic = { started_after = 0, interval = 60, last_run = 0, sync = false } }
```

```ini
[Async Task]
id = 1
name = Async Task 1
command = command
args = arg1 arg2
dir = /path/to/directory
env = key1=value1 key2=value2
stdin = true
stdout = "output.txt"
stderr = "error.txt"
task_type = async
max_restart = 2

[Periodic Task]
id = 2
name = Periodic Task 1
command = command
args = arg1 arg2
dir = /path/to/directory
env = key1=value1 key2=value2
stdin = false
stdout = "output.txt"
stderr = "error.txt"
task_type = periodic
started_after = 0
interval = 60
sync = false
```

```json
[
    {
        "id": 1,
        "name": "Async Task 1",
        "command": "command",
        "args": ["arg1", "arg2"],
        "dir": "/path/to/directory",
        "env": {},
        "stdin": true,
        "stdout": "output.txt",
        "stderr": "error.txt",
        "created_at": 0,
        "task_type": { "Async": { "max_restart": 2, "has_restart": 0, "started_at": 0, "stopped_at": 0 } }
    },
    {
        "id": 2,
        "name": "Periodic Task 1",
        "command": "command",
        "args": ["arg1", "arg2"],
        "dir": "/path/to/directory",
        "env": {},
        "stdin": false,
        "stdout": "output.txt",
        "stderr": "error.txt",
        "created_at": 0,
        "task_type": { "Periodic": { "started_after": 0, "interval": 60, "last_run": 0, "sync": false } }
    }
]
```

## Command

### watchmen -h

```shell
Watchmen is a daemon process manager that for you manage and keep your application online 24/7

Usage: watchmen [OPTIONS] [COMMAND]

Commands:
  run      Add and run tasks
  add      Add tasks
  reload   Reload tasks
  start    Start tasks
  restart  Restart tasks
  stop     Stop tasks
  remove   Remove tasks
  list     Get tasks list
  help     Print this message or the help of the given subcommand(s)

Options:
  -c, --config <CONFIG>      Config file path. Default: $HOME/.watchmen/config.toml
  -g, --generate <GENERATE>  Generate config file
  -e, --engine <ENGINE>      Engine for send message [default: sock]
  -v, --version              Print version
  -h, --help                 Print help
```

### watchmen run -h

```shell
Add and run tasks

Usage: watchmen run [OPTIONS]

Options:
  -p, --path <PATH>        Task config directory
  -r, --regex <REGEX>      Task config filename regex pattern [default: ^.*\.(toml|ini|json)$]
  -f, --config <CONFIG>    Task config file
  -n, --name <NAME>        Task name (unique)
  -c, --command <COMMAND>  Task command
  -a, --args <ARGS>        Task arguments
  -d, --dir <DIR>          Task working directory
  -e, --env <ENV>          Task environment variables
  -i, --stdin              Task standard input
  -o, --stdout <STDOUT>    Task standard output
  -w, --stderr <STDERR>    Task standard error
  -h, --help               Print help
```

### watchmen add -h

```shell
Add tasks

Usage: watchmen add [OPTIONS]

Options:
  -p, --path <PATH>        Task config directory
  -r, --regex <REGEX>      Task config filename regex pattern [default: ^.*\.(toml|ini|json)$]
  -f, --config <CONFIG>    Task config file
  -n, --name <NAME>        Task name (unique)
  -c, --command <COMMAND>  Task command
  -a, --args <ARGS>        Task arguments
  -d, --dir <DIR>          Task working directory
  -e, --env <ENV>          Task environment variables
  -i, --stdin              Task standard input
  -o, --stdout <STDOUT>    Task standard output
  -w, --stderr <STDERR>    Task standard error
  -h, --help               Print help
```

### watchmen reload -h

```shell
Reload tasks

Usage: watchmen reload [OPTIONS]

Options:
  -p, --path <PATH>        Task config directory
  -r, --regex <REGEX>      Task config filename regex pattern [default: ^.*\.(toml|ini|json)$]
  -f, --config <CONFIG>    Task config file
  -n, --name <NAME>        Task name (unique)
  -c, --command <COMMAND>  Task command
  -a, --args <ARGS>        Task arguments
  -d, --dir <DIR>          Task working directory
  -e, --env <ENV>          Task environment variables
  -i, --stdin              Task standard input
  -o, --stdout <STDOUT>    Task standard output
  -w, --stderr <STDERR>    Task standard error
  -h, --help               Print help
```

### watchmen start -h

```shell
Start tasks

Usage: watchmen start [OPTIONS]

Options:
  -p, --path <PATH>      Task config directory
  -r, --regex <REGEX>    Task config filename regex pattern [default: ^.*\.(toml|ini|json)$]
  -f, --config <CONFIG>  Task config file
  -i, --id <ID>          Task id (unique)
  -n, --name <NAME>      Task name (unique)
  -m, --mat              Is match regex pattern by namae
  -h, --help             Print help
```

### watchmen restart -h

```shell
Restart tasks

Usage: watchmen restart [OPTIONS]

Options:
  -p, --path <PATH>      Task config directory
  -r, --regex <REGEX>    Task config filename regex pattern [default: ^.*\.(toml|ini|json)$]
  -f, --config <CONFIG>  Task config file
  -i, --id <ID>          Task id (unique)
  -n, --name <NAME>      Task name (unique)
  -m, --mat              Is match regex pattern by namae
  -h, --help             Print help
```

### watchmen stop -h

```shell
Stop tasks

Usage: watchmen stop [OPTIONS]

Options:
  -p, --path <PATH>      Task config directory
  -r, --regex <REGEX>    Task config filename regex pattern [default: ^.*\.(toml|ini|json)$]
  -f, --config <CONFIG>  Task config file
  -i, --id <ID>          Task id (unique)
  -n, --name <NAME>      Task name (unique)
  -m, --mat              Is match regex pattern by namae
  -h, --help             Print help
```

### watchmen remove -h

```shell
Remove tasks

Usage: watchmen remove [OPTIONS]

Options:
  -p, --path <PATH>      Task config directory
  -r, --regex <REGEX>    Task config filename regex pattern [default: ^.*\.(toml|ini|json)$]
  -f, --config <CONFIG>  Task config file
  -i, --id <ID>          Task id (unique)
  -n, --name <NAME>      Task name (unique)
  -m, --mat              Is match regex pattern by namae
  -h, --help             Print help
```

### watchmen pause -h

```shell
Pause interval tasks

Usage: watchmen pause [OPTIONS]

Options:
  -p, --path <PATH>      Task config directory
  -r, --regex <REGEX>    Task config filename regex pattern [default: ^.*\.(toml|ini|json)$]
  -f, --config <CONFIG>  Task config file
  -i, --id <ID>          Task id (unique)
  -n, --name <NAME>      Task name (unique)
  -m, --mat              Is match regex pattern by namae
  -h, --help             Print help
```

### watchmen resume -h

```shell
Resume interval tasks

Usage: watchmen resume [OPTIONS]

Options:
  -p, --path <PATH>      Task config directory
  -r, --regex <REGEX>    Task config filename regex pattern [default: ^.*\.(toml|ini|json)$]
  -f, --config <CONFIG>  Task config file
  -i, --id <ID>          Task id (unique)
  -n, --name <NAME>      Task name (unique)
  -m, --mat              Is match regex pattern by namae
  -h, --help             Print help
```

### watchmen list -h

```shell
Get tasks list

Usage: watchmen list [OPTIONS]

Options:
  -p, --path <PATH>      Task config directory
  -r, --regex <REGEX>    Task config filename regex pattern [default: ^.*\.(toml|ini|json)$]
  -f, --config <CONFIG>  Task config file
  -i, --id <ID>          Task id (unique)
  -n, --name <NAME>      Task name (unique)
  -R, --mat              Is match regex pattern by name
  -m, --more             Show more info
  -l, --less             Show less info
  -h, --help             Print help
```

## Apache License 2.0
[License](./LICENSE)

## Copyright ahriknow 2022


            

Raw data

            {
    "_id": null,
    "home_page": "https://docs.ahriknow.com/watchmen",
    "name": "watchmen-rust",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "watchmen,ahriknow,daemon,process,manager",
    "author": "ahriknow",
    "author_email": "ahriknow@ahriknow.com",
    "download_url": "https://files.pythonhosted.org/packages/b0/ba/ea19cfc5a6101f5d7e38c8925fa813e445f6a6f367766f05cd9c6f7685cc/watchmen_rust-0.0.1.tar.gz",
    "platform": null,
    "description": "# Watchmen (0.0.1)\n\n`\nWatchmen is a daemon process manager that for you manage and keep your application online 24/7\n`\n\n[\u4e2d\u6587\u7b80\u4f53](README.md) | [English](README_EN.md)\n\n## Install\n\n### Build from source\n\n```shell\n# Clone the repository\ngit clone https://github.com/ahriroot/watchmen.git\n\n# Go into the repository\ncd watchmen\n\n# Install watchmen daemon\ncargo install --path watchmend\n\n# Install cli tool\ncargo install --path watchmen\n```\n\n### Install from crates.io\n\n```shell\n# Install watchmen daemon\ncargo install watchmend\n\n# Install cli tool\ncargo install watchmen\n```\n\n## Getting Started\n\n### Generate config file\n\n> \"\" Default is ${HOME}/.watchmen/config.toml\n\n`watchmen -g \"\"`\n\n```toml\n[watchmen]\n# The engine to use for the watchmen server\n# Valid values are \"sock\", \"socket\", \"http\", \"redis\"\n# sock: Unix socket\n# socket: TCP socket\n# http: HTTP Api (Include Web panel)\n# redis: Redis pub/sub\nengines = [\"sock\"]\n\n# The default engine to use for connecting to the watchmen server\nengine = \"sock\"\n\n# The log directory of the watchmen server\nlog_dir = \"$HOME/.watchmen/logs\"\n\n# The log level of the watchmen server\n# Valid values are \"debug\", \"info\", \"warn\", \"error\". Default is \"info\"\nlog_level = \"info\"\n\n# The standard output of the watchmen server\n# Default is None\nstdout = \"$HOME/.watchmen/watchmen.stdout.log\"\n\n# The standard error of the watchmen server\n# Default is None\nstderr = \"$HOME/.watchmen/watchmen.stderr.log\"\n\n# The pid file of the watchmen server\n# Default is `$HOME/.watchmen/watchmen.pid`\npid = \"$HOME/.watchmen/watchmen.pid\"\n\n# The task config file name matching pattern\n# Default is `^.*\\\\.(toml|ini|json)$`\nmat = \"^.*\\\\.(toml|ini|json)$\"\n\n# Tasks cache file, json format\ncache = \"$HOME/.watchmen/cache.json\"\n\n\n[sock]\n# The unix socket path of the watchmen server\npath = \"/tmp/watchmen.sock\"\n\n\n[socket]\nhost = \"127.0.0.1\"\nport = 1949\n\n\n[http]\nhost = \"127.0.0.1\"\nport = 1997\n\n\n[redis]\nhost = \"localhost\"\nport = 6379\nusername = \"\"\npassword = \"\"\nqueue_index = 0\nqueue_name = \"watchmen\"\nsubscribe_channels = [\"watchmen\"]\nsubscribe_name = \"watchmen\"\n```\n\n### Start watchmen daemon\n\n`watchmend`\n\n### Task Config file\n\n```toml\n[[task]]\nid = 1\nname = \"Async Task 1\"\ncommand = \"command\"\nargs = [\"arg1\", \"arg2\"]\ndir = \"/path/to/directory\"\nenv = { key1 = \"value1\", key2 = \"value2\" }\nstdin = true\nstdout = \"output.txt\"\nstderr = \"error.txt\"\ntask_type = { Async = { max_restart = 2, has_restart = 0, started_at = 0, stopped_at = 0 } }\n\n[[task]]\nid = 2\nname = \"Periodic Task 1\"\ncommand = \"command\"\nargs = [\"arg1\", \"arg2\"]\ndir = \"/path/to/directory\"\nenv = { key1 = \"value1\", key2 = \"value2\" }\nstdin = false\nstdout = \"output.txt\"\nstderr = \"error.txt\"\ntask_type = { Periodic = { started_after = 0, interval = 60, last_run = 0, sync = false } }\n```\n\n```ini\n[Async Task]\nid = 1\nname = Async Task 1\ncommand = command\nargs = arg1 arg2\ndir = /path/to/directory\nenv = key1=value1 key2=value2\nstdin = true\nstdout = \"output.txt\"\nstderr = \"error.txt\"\ntask_type = async\nmax_restart = 2\n\n[Periodic Task]\nid = 2\nname = Periodic Task 1\ncommand = command\nargs = arg1 arg2\ndir = /path/to/directory\nenv = key1=value1 key2=value2\nstdin = false\nstdout = \"output.txt\"\nstderr = \"error.txt\"\ntask_type = periodic\nstarted_after = 0\ninterval = 60\nsync = false\n```\n\n```json\n[\n    {\n        \"id\": 1,\n        \"name\": \"Async Task 1\",\n        \"command\": \"command\",\n        \"args\": [\"arg1\", \"arg2\"],\n        \"dir\": \"/path/to/directory\",\n        \"env\": {},\n        \"stdin\": true,\n        \"stdout\": \"output.txt\",\n        \"stderr\": \"error.txt\",\n        \"created_at\": 0,\n        \"task_type\": { \"Async\": { \"max_restart\": 2, \"has_restart\": 0, \"started_at\": 0, \"stopped_at\": 0 } }\n    },\n    {\n        \"id\": 2,\n        \"name\": \"Periodic Task 1\",\n        \"command\": \"command\",\n        \"args\": [\"arg1\", \"arg2\"],\n        \"dir\": \"/path/to/directory\",\n        \"env\": {},\n        \"stdin\": false,\n        \"stdout\": \"output.txt\",\n        \"stderr\": \"error.txt\",\n        \"created_at\": 0,\n        \"task_type\": { \"Periodic\": { \"started_after\": 0, \"interval\": 60, \"last_run\": 0, \"sync\": false } }\n    }\n]\n```\n\n## Command\n\n### watchmen -h\n\n```shell\nWatchmen is a daemon process manager that for you manage and keep your application online 24/7\n\nUsage: watchmen [OPTIONS] [COMMAND]\n\nCommands:\n  run      Add and run tasks\n  add      Add tasks\n  reload   Reload tasks\n  start    Start tasks\n  restart  Restart tasks\n  stop     Stop tasks\n  remove   Remove tasks\n  list     Get tasks list\n  help     Print this message or the help of the given subcommand(s)\n\nOptions:\n  -c, --config <CONFIG>      Config file path. Default: $HOME/.watchmen/config.toml\n  -g, --generate <GENERATE>  Generate config file\n  -e, --engine <ENGINE>      Engine for send message [default: sock]\n  -v, --version              Print version\n  -h, --help                 Print help\n```\n\n### watchmen run -h\n\n```shell\nAdd and run tasks\n\nUsage: watchmen run [OPTIONS]\n\nOptions:\n  -p, --path <PATH>        Task config directory\n  -r, --regex <REGEX>      Task config filename regex pattern [default: ^.*\\.(toml|ini|json)$]\n  -f, --config <CONFIG>    Task config file\n  -n, --name <NAME>        Task name (unique)\n  -c, --command <COMMAND>  Task command\n  -a, --args <ARGS>        Task arguments\n  -d, --dir <DIR>          Task working directory\n  -e, --env <ENV>          Task environment variables\n  -i, --stdin              Task standard input\n  -o, --stdout <STDOUT>    Task standard output\n  -w, --stderr <STDERR>    Task standard error\n  -h, --help               Print help\n```\n\n### watchmen add -h\n\n```shell\nAdd tasks\n\nUsage: watchmen add [OPTIONS]\n\nOptions:\n  -p, --path <PATH>        Task config directory\n  -r, --regex <REGEX>      Task config filename regex pattern [default: ^.*\\.(toml|ini|json)$]\n  -f, --config <CONFIG>    Task config file\n  -n, --name <NAME>        Task name (unique)\n  -c, --command <COMMAND>  Task command\n  -a, --args <ARGS>        Task arguments\n  -d, --dir <DIR>          Task working directory\n  -e, --env <ENV>          Task environment variables\n  -i, --stdin              Task standard input\n  -o, --stdout <STDOUT>    Task standard output\n  -w, --stderr <STDERR>    Task standard error\n  -h, --help               Print help\n```\n\n### watchmen reload -h\n\n```shell\nReload tasks\n\nUsage: watchmen reload [OPTIONS]\n\nOptions:\n  -p, --path <PATH>        Task config directory\n  -r, --regex <REGEX>      Task config filename regex pattern [default: ^.*\\.(toml|ini|json)$]\n  -f, --config <CONFIG>    Task config file\n  -n, --name <NAME>        Task name (unique)\n  -c, --command <COMMAND>  Task command\n  -a, --args <ARGS>        Task arguments\n  -d, --dir <DIR>          Task working directory\n  -e, --env <ENV>          Task environment variables\n  -i, --stdin              Task standard input\n  -o, --stdout <STDOUT>    Task standard output\n  -w, --stderr <STDERR>    Task standard error\n  -h, --help               Print help\n```\n\n### watchmen start -h\n\n```shell\nStart tasks\n\nUsage: watchmen start [OPTIONS]\n\nOptions:\n  -p, --path <PATH>      Task config directory\n  -r, --regex <REGEX>    Task config filename regex pattern [default: ^.*\\.(toml|ini|json)$]\n  -f, --config <CONFIG>  Task config file\n  -i, --id <ID>          Task id (unique)\n  -n, --name <NAME>      Task name (unique)\n  -m, --mat              Is match regex pattern by namae\n  -h, --help             Print help\n```\n\n### watchmen restart -h\n\n```shell\nRestart tasks\n\nUsage: watchmen restart [OPTIONS]\n\nOptions:\n  -p, --path <PATH>      Task config directory\n  -r, --regex <REGEX>    Task config filename regex pattern [default: ^.*\\.(toml|ini|json)$]\n  -f, --config <CONFIG>  Task config file\n  -i, --id <ID>          Task id (unique)\n  -n, --name <NAME>      Task name (unique)\n  -m, --mat              Is match regex pattern by namae\n  -h, --help             Print help\n```\n\n### watchmen stop -h\n\n```shell\nStop tasks\n\nUsage: watchmen stop [OPTIONS]\n\nOptions:\n  -p, --path <PATH>      Task config directory\n  -r, --regex <REGEX>    Task config filename regex pattern [default: ^.*\\.(toml|ini|json)$]\n  -f, --config <CONFIG>  Task config file\n  -i, --id <ID>          Task id (unique)\n  -n, --name <NAME>      Task name (unique)\n  -m, --mat              Is match regex pattern by namae\n  -h, --help             Print help\n```\n\n### watchmen remove -h\n\n```shell\nRemove tasks\n\nUsage: watchmen remove [OPTIONS]\n\nOptions:\n  -p, --path <PATH>      Task config directory\n  -r, --regex <REGEX>    Task config filename regex pattern [default: ^.*\\.(toml|ini|json)$]\n  -f, --config <CONFIG>  Task config file\n  -i, --id <ID>          Task id (unique)\n  -n, --name <NAME>      Task name (unique)\n  -m, --mat              Is match regex pattern by namae\n  -h, --help             Print help\n```\n\n### watchmen pause -h\n\n```shell\nPause interval tasks\n\nUsage: watchmen pause [OPTIONS]\n\nOptions:\n  -p, --path <PATH>      Task config directory\n  -r, --regex <REGEX>    Task config filename regex pattern [default: ^.*\\.(toml|ini|json)$]\n  -f, --config <CONFIG>  Task config file\n  -i, --id <ID>          Task id (unique)\n  -n, --name <NAME>      Task name (unique)\n  -m, --mat              Is match regex pattern by namae\n  -h, --help             Print help\n```\n\n### watchmen resume -h\n\n```shell\nResume interval tasks\n\nUsage: watchmen resume [OPTIONS]\n\nOptions:\n  -p, --path <PATH>      Task config directory\n  -r, --regex <REGEX>    Task config filename regex pattern [default: ^.*\\.(toml|ini|json)$]\n  -f, --config <CONFIG>  Task config file\n  -i, --id <ID>          Task id (unique)\n  -n, --name <NAME>      Task name (unique)\n  -m, --mat              Is match regex pattern by namae\n  -h, --help             Print help\n```\n\n### watchmen list -h\n\n```shell\nGet tasks list\n\nUsage: watchmen list [OPTIONS]\n\nOptions:\n  -p, --path <PATH>      Task config directory\n  -r, --regex <REGEX>    Task config filename regex pattern [default: ^.*\\.(toml|ini|json)$]\n  -f, --config <CONFIG>  Task config file\n  -i, --id <ID>          Task id (unique)\n  -n, --name <NAME>      Task name (unique)\n  -R, --mat              Is match regex pattern by name\n  -m, --more             Show more info\n  -l, --less             Show less info\n  -h, --help             Print help\n```\n\n## Apache License 2.0\n[License](./LICENSE)\n\n## Copyright ahriknow 2022\n\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "Watchmen is a daemon process manager that for you manage and keep your application online 24/7",
    "version": "0.0.1",
    "project_urls": {
        "Homepage": "https://docs.ahriknow.com/watchmen",
        "Repository": "https://github.com/ahriroot/watchmen.git"
    },
    "split_keywords": [
        "watchmen",
        "ahriknow",
        "daemon",
        "process",
        "manager"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a66d5e244e86aa4e03a265ed6f432c05c3f82b8d1b3cc56dc4b58beba3aced1a",
                "md5": "8f3e297f645cdbf4e72c0d5fcba3899d",
                "sha256": "0b11fe4fa2cbb92e2d064251e8d5ca6b5f531b54804e9de41a27823942be9302"
            },
            "downloads": -1,
            "filename": "watchmen_rust-0.0.1-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8f3e297f645cdbf4e72c0d5fcba3899d",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": null,
            "size": 6657316,
            "upload_time": "2024-01-02T13:00:57",
            "upload_time_iso_8601": "2024-01-02T13:00:57.059848Z",
            "url": "https://files.pythonhosted.org/packages/a6/6d/5e244e86aa4e03a265ed6f432c05c3f82b8d1b3cc56dc4b58beba3aced1a/watchmen_rust-0.0.1-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b0baea19cfc5a6101f5d7e38c8925fa813e445f6a6f367766f05cd9c6f7685cc",
                "md5": "b6f219c5e776e19373b430bd0f00f48a",
                "sha256": "2f2a1e7de7b82e730cd00044b0622dc51f96ae15f77b5d34629aee137190474c"
            },
            "downloads": -1,
            "filename": "watchmen_rust-0.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "b6f219c5e776e19373b430bd0f00f48a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 6597351,
            "upload_time": "2024-01-02T13:01:00",
            "upload_time_iso_8601": "2024-01-02T13:01:00.599531Z",
            "url": "https://files.pythonhosted.org/packages/b0/ba/ea19cfc5a6101f5d7e38c8925fa813e445f6a6f367766f05cd9c6f7685cc/watchmen_rust-0.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-02 13:01:00",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ahriroot",
    "github_project": "watchmen",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "watchmen-rust"
}
        
Elapsed time: 0.24198s