Drove Command Line Interface
Project description
Drove CLI
Command line interface for the Drove Container Orchestrator.
Getting Started
Installation
You can install the CLI from PyPI.
pip install drove-cli
To install in a virtual env
Create virtual environment
mkdir -p ${HOME}/venvs
cd ${HOME}/venvs
python3 -m venv drove_cli
cd drove_cli
source bin/activate
pip install drove-cli
To activate in another shell:
source ${HOME}/venvs/drove_cli/bin/activate
To deactivate the venv (run when in activated environment):
deactivate
Running using docker
The cli is pushed as a docker for easy access. This also eliminates the need for having python etc setup on your system.
- Pull the image:
docker pull ghcr.io/phonepe/drove-cli:latest
- Create a shell script called
drovewith the following content:
#! /bin/sh
docker run \
--rm --interactive --tty --network host \
--name drove-cli -v ${HOME}/.drove:/root/.drove:ro \
ghcr.io/phonepe/drove-cli:latest "$@"
- Make the script executable
chmod a+x drove
- Put the path to this script in your
~/.bashrc.
export PATH="${PATH}:/path/to/your/script"
-
Logout/login or run
. ~/.bashrcto load the new [path] -
Run drove cli
drove -h
Requirements
The CLI is written in Python 3x
Accessing the Documentation
The arguments needed by the script are self documenting. Please use -h or --help in different sections and sub-sections of the CLI to get descriptions of commands, sub-commands, their arguments and options.
To see basic help:
$ drove -h
usage: drove [-h] [--file FILE] [--cluster CLUSTER] [--endpoint ENDPOINT] [--auth-header AUTH_HEADER] [--insecure INSECURE] [--username USERNAME] [--password PASSWORD] [--debug]
{executor,cluster,apps,appinstances,tasks,config} ...
positional arguments:
{executor,cluster,apps,appinstances,tasks,config}
Available plugins
lsinstances Drove local service instance related commands
executor Drove cluster executor related commands
cluster Drove cluster related commands
apps Drove application related commands
appinstances Drove application instance related commands
tasks Drove task related commands
config Manage drove cluster configurations
options:
-h, --help show this help message and exit
--file FILE, -f FILE Configuration file for drove client
--cluster CLUSTER, -c CLUSTER
Cluster name as specified in config file
--endpoint ENDPOINT, -e ENDPOINT
Drove endpoint. (For example: https://drove.test.com)
--auth-header AUTH_HEADER, -t AUTH_HEADER
Authorization header value for the provided drove endpoint
--insecure, -i Do not verify SSL cert for server
--username USERNAME, -u USERNAME
Drove cluster username
--password PASSWORD, -p PASSWORD
Drove cluster password
--debug, -d Print details of errors
To see documentation for a command/section:
$ drove cluster -h
usage: drove cluster [-h] {ping,summary,leader,endpoints,events,maintenance-on,maintenance-off} ...
positional arguments:
{ping,summary,leader,endpoints,events,maintenance-on,maintenance-off}
Available commands for cluster management
ping Ping the cluster
summary Show cluster summary
leader Show leader for cluster
endpoints Show all exposed endpoints
events Events on the cluster
maintenance-on Set cluster to maintenance mode
maintenance-off Removed maintenance mode on cluster
options:
-h, --help show this help message and exit
To further drill down into options for a sub-command/subsection:
$ drove cluster events -h
usage: drove cluster events [-h] [--follow] [--type TYPE] [--count COUNT] [--textfmt TEXTFMT]
optional arguments:
-h, --help show this help message and exit
--follow, -f Follow events (Press CTRL-C to kill)
--type TYPE, -t TYPE Output events of only the matching type
--count COUNT, -c COUNT
Fetch <count> events at a time.
--textfmt TEXTFMT, -s TEXTFMT
Use the format string to print message
Connecting to the Drove cluster
In order to use the CLI, we need to provide coordinates to the cluster to connect to. This can be done in the following manner:
Drove CLI config file
The config file can be located in the following paths:
.drovefile in your home directory (Typically used for the default cluster you frequently connect to)- A file in any path that can be passed as a parameter to the CLI with the
-f FILEoption
Config File format
This file is in ini format and is arranged in sections.
[DEFAULT]
...
stage_token = <token1>
prod_token = <token2>
[local]
endpoint = http://localhost:10000
username = admin
password = admin
[stage]
endpoint = https://stage.testdrove.io
auth_header = %(stage_token)s
[production]
endpoint = https://prod.testdrove.io
auth_header = %(prod_token)s
..
Setting a Default Cluster
You can set a default cluster so you don't need to specify -c cluster on every command:
[DEFAULT]
current_cluster = local
...
When current_cluster is set, commands will automatically use that cluster unless overridden with -c.
Priority order for cluster selection:
-c cluster command line flag >current_cluster in [DEFAULT] section > DEFAULT section endpoint
The DEFAULT section can be used to define common variables like Insecure etc. The local, stage, production etc are names for individual clusters and these sections can be used to define configuration for individual clusters. Cluster name is referred to in the command line by using the -c command line option.
Interpolation of values is supported and can be achieved by using %(variable_name)s references.
- Note: The
DEFAULTsection is mandatory- Note: The
sat the end of%(var)sis mandatory for interpolation
Contents of a Section
endpoint = https://yourcluster.yourdomain.com # Endpoint for cluster
insecure = true
username = <your_username>
password = <your_password>
auth_header= <Authorization value here if using header based auth>
Authentication priority:
- If both
usernameandpasswordare provided, basic auth is used. - If a value is provided in the
auth_headerparameter, it is passed as the value for theAuthorizationheader in the upstream HTTP calls to the Drove server verbatim. - If neither, no auth is set
NOTE: Use the
insecureoption to skip certificate checks on the server endpoint (comes in handy for internal domains)
To use a custom config file, invoke drove in the following form:
$ drove -f custom.conf ...
This will connect to the cluster if an endpoint is mentioned in the DEFAULT section.
$ drove -f custom.conf -c stage ...
This will connect to the cluster whose config is mentioned in the [stage] config section.
$ drove -c stage ...
This will connect to the cluster whose config is mentioned in the [stage] config section in $HOME/.drove config file.
Command line options
Pass the endpoint and other options using --endpoint|-e etc etc. Options can be obtained using -h as mentioned above. Invocation will be in the form:
$ drove -e http://localhost:10000 -u guest -p guest ...
CLI format
The following CLI format is followed:
usage: drove [-h] [--file FILE] [--cluster CLUSTER] [--endpoint ENDPOINT] [--auth-header AUTH_HEADER] [--insecure INSECURE] [--username USERNAME] [--password PASSWORD] [--debug]
{executor,cluster,apps,appinstances,tasks,config} ...
Basic Arguments
-h, --help show this help message and exit
--file FILE, -f FILE Configuration file for drove client
--cluster CLUSTER, -c CLUSTER
Cluster name as specified in config file
--endpoint ENDPOINT, -e ENDPOINT
Drove endpoint. (For example: https://drove.test.com)
--auth-header AUTH_HEADER, -t AUTH_HEADER
Authorization header value for the provided drove endpoint
--insecure, -i Do not verify SSL cert for server
--username USERNAME, -u USERNAME
Drove cluster username
--password PASSWORD, -p PASSWORD
Drove cluster password
--debug, -d Print details of errors
Commands
Commands in drove are meant to address specific functionality. They can be summarized as follows:
list List all executors
info Show details about executor
appinstances Show app instances running on this executor
tasks Show tasks running on this executor
lsinstances Show local service instances running on this executor
blacklist Blacklist executors
unblacklist Un-blacklist executors
executor
Drove cluster executor related commands
drove executor [-h] {list,info,appinstances,tasks} ...
Sub-commands
list
List all executors
drove executor list [-h]
info
Show details about executor
drove executor info [-h] executor-id
Positional Arguments
executor-id - Executor id for which info is to be shown
appinstances
Show app instances running on this executor
drove executor appinstances [-h] [--sort {0,1,2,3,4,5}] [--reverse] executor-id
Positional Arguments
executor-id - Executor id for which info is to be shown
Arguments
--sort {0,1,2,3,4,5}, -s {0,1,2,3,4,5}
Sort output by column
--reverse, -r Sort in reverse order
tasks
Show tasks running on this executor
drove executor tasks [-h] [--sort {0,1,2,3,4,5}] [--reverse] executor-id
Positional Arguments
executor-id - Executor id for which info is to be shown
Named Arguments
--sort {0,1,2,3,4,5}, -s {0,1,2,3,4,5}
Sort output by column
--reverse, -r Sort in reverse order
lsinstances
Show local service instances running on this executor
drove executor lsinstances [-h] [--sort {0,1,2,3,4,5}] [--reverse] executor-id
Positional Arguments
executor-id - Executor id for which info is to be shown
Arguments
--sort {0,1,2,3,4,5}, -s {0,1,2,3,4,5}
Sort output by column
--reverse, -r Sort in reverse order
blacklist
Take executors out of rotation.
drove executor blacklist executor-id [executor-id ...]
Positional Arguments
executor-id - List of executor ids to be blacklisted. At least one is mandatory.
unblacklist
Bring blacklisted executors back into rotation.
drove executor unblacklist executor-id [executor-id ...]
Positional Arguments
executor-id - List of executor ids to be brought in to the rotation. At least one is mandatory.
cluster
Drove cluster related commands
drove cluster [-h] {ping,summary,leader,endpoints,events} ...
Sub-commands
ping
Ping the cluster
drove cluster ping [-h]
summary
Show cluster summary
drove cluster summary [-h]
leader
Show leader for cluster
drove cluster leader [-h]
endpoints
Show all exposed endpoints
drove cluster endpoints [-h] [--vhost VHOST]
Named Arguments
--vhost VHOST, -v VHOST
Show details only for the specific vhost
events
Events on the cluster
drove cluster events [-h] [--follow] [--type TYPE] [--count COUNT] [--textfmt TEXTFMT]
Named Arguments
--follow, -f Follow events (Press CTRL-C to kill)
--type TYPE, -t TYPE Output events of only the matching type
--count COUNT, -c COUNT
Fetch <count> events at a time.
--textfmt TEXTFMT, -s TEXTFMT
Use the format string to print message
Default: “{type: <25} | {id: <36} | {time: <20} | {metadata}”
maintenance-on
Set cluster to maintenance mode.
drove cluster maintenance-on
maintenance-off
Set cluster to normal mode.
drove cluster maintenance-off
apps
Drove application related commands
drove apps [-h] {list,summary,spec,create,destroy,deploy,scale,suspend,restart,cancelop} ...
Sub-commands
list
List all applications
drove apps list [-h] [--sort {0,1,2,3,4,5,6,7,8}] [--reverse]
Named Arguments
--sort {0,1,2,3,4,5,6,7,8}, -s {0,1,2,3,4,5,6,7,8}
Sort output by column
--reverse, -r Sort in reverse order
summary
Show a summary for an application
drove apps summary [-h] app-id
Positional Arguments
app-id - Application ID
spec
Print the raw json spec for an application
drove apps spec [-h] app-id
Positional Arguments
app-id - Application ID
create
Create application on cluster
drove apps create [-h] spec-file
Positional Arguments
spec-file - JSON spec file for the application
destroy
Destroy an app with zero instances
drove apps destroy [-h] app-id
Positional Arguments
app-id - Application ID
deploy
Deploy new app instances.
drove apps deploy [-h] [--parallelism PARALLELISM] [--timeout TIMEOUT] app-id instances
Positional Arguments
app-id - Application ID
instances - Number of new instances to be created
Named Arguments
--parallelism PARALLELISM, -p PARALLELISM
Number of parallel threads to be used to execute operation (default: 1)
--timeout TIMEOUT, -t TIMEOUT
Timeout for the operation on the cluster (default: 5 minutes)
--wait, -w Wait to ensure instance count is reached
scale
Scale app to required instances. Will increase or decrease instances on the cluster to match this number
drove apps scale [-h] [--parallelism PARALLELISM] [--timeout TIMEOUT] app-id instances
Positional Arguments
app-id - Application ID
instances - Number of instances. Setting this to 0 will suspend the app
Named Arguments
--parallelism PARALLELISM, -p PARALLELISM
Number of parallel threads to be used to execute operation (default: 1)
--timeout TIMEOUT, -t TIMEOUT
Timeout for the operation on the cluster (default: 5 minutes)
--wait, -w Wait to ensure instance count is reached
suspend
Suspend the app
drove apps suspend [-h] [--parallelism PARALLELISM] [--timeout TIMEOUT] app-id
Positional Arguments¶
app-id - Application ID
Named Arguments
--parallelism PARALLELISM, -p PARALLELISM
Number of parallel threads to be used to execute operation (default: 1)
--timeout TIMEOUT, -t TIMEOUT
Timeout for the operation on the cluster (default: 5 minutes)
--wait, -w Wait to ensure all instances are suspended
restart
Restart am existing app instances.
drove apps restart [-h] [--parallelism PARALLELISM] [--timeout TIMEOUT] app-id
Positional Arguments
app-id - Application ID
Named Arguments
--parallelism PARALLELISM, -p PARALLELISM
Number of parallel threads to be used to execute operation (default: 1)
--timeout TIMEOUT, -t TIMEOUT
Timeout for the operation on the cluster (default: 5 minutes)
--wait, -w Wait to ensure all instances are replaced
cancelop
Cancel current operation
drove apps cancelop [-h] app-id
Positional Arguments
app-id - Application ID
appinstances
Drove application instance related commands
drove appinstances [-h] {list,info,logs,tail,download,replace,kill} ...
Sub-commands
list
List all application instances
drove appinstances list [-h] [--old] [--sort {0,1,2,3,4,5}] [--reverse] app-id
Positional Arguments
app-id - Application ID
Named Arguments
--parallelism PARALLELISM, -p PARALLELISM
Number of parallel threads to be used to execute operation (default: 1)
--timeout TIMEOUT, -t TIMEOUT
Timeout for the operation on the cluster (default: 5 minutes)
info
Print details for an application instance
drove appinstances info [-h] app-id instance-id
Positional Arguments
app-id - Application ID
instance-id - Application Instance ID
logs
Print list of logs for application instance
drove appinstances logs [-h] app-id instance-id
Positional Arguments
app-id - Application ID
instance-id - Application Instance ID
tail
Tail log for application instance
drove appinstances tail [-h] [--file FILE] app-id instance-id
Positional Arguments
app-id - Application ID
instance-id - Application Instance ID
Named Arguments
--log LOG, -l LOG Log filename to tail. Default is to tail output.log
download
Download log for application instance
drove appinstances download [-h] [--out OUT] app-id instance-id file
Positional Arguments
app-id - Application ID
instance-id - Application Instance ID
file - Log filename to download
Named Arguments
--out, -o Filename to download to. Default is the same filename as provided.
replace
Replace specific app instances with fresh instances
drove appinstances replace [-h] [--parallelism PARALLELISM] [--timeout TIMEOUT] app-id instance-id [instance-id ...]
Positional Arguments
app-id - Application ID
instance-id - Application Instance IDs
Named Arguments
--parallelism PARALLELISM, -p PARALLELISM
Number of parallel threads to be used to execute operation (default: 1)
--timeout TIMEOUT, -t TIMEOUT
Timeout for the operation on the cluster (default: 5 minutes)
--wait, -w Wait to ensure all instances are replaced
kill
Kill specific app instances
drove appinstances kill [-h] [--parallelism PARALLELISM] [--timeout TIMEOUT] app-id instance-id [instance-id ...]
Positional Arguments
app-id - Application ID
instance-id - Application Instance IDs
Named Arguments
--parallelism PARALLELISM, -p PARALLELISM
Number of parallel threads to be used to execute operation
--timeout TIMEOUT, -t TIMEOUT
Timeout for the operation on the cluster (default: 5 minutes)
--wait, -w Wait to ensure all instances are killed
tasks
Drove task related commands
drove tasks [-h] {create,kill,list,show,logs,tail,download} ...
Sub-commands
create
Create a task on cluster
drove tasks create [-h] spec-file
Positional Arguments
spec-file - JSON spec file for the task
kill
Kill a running task
drove tasks kill [-h] source-app-name task-id
Positional Arguments
source-app-name - Source app name as specified in spec
task-id - ID of the task as specified in the spec
list
List all active tasks
drove tasks list [-h] [--app APP] [--sort {0,1,2,3,4,5,6,7,8}] [--reverse]
Named Arguments
--app APP, -a APP Show tasks only for the given source app
--sort {0,1,2,3,4,5,6,7,8}, -s {0,1,2,3,4,5,6,7,8}
Sort output by column
--reverse, -r Sort in reverse order
show
Shows details about a task
drove tasks show [-h] source-app task-id
Positional Arguments
source-app - Name of the Drove application that started the task
task-id - Task ID
logs
Print list of logs for task
drove tasks logs [-h] source-app task-id
Positional Arguments
source-app - Name of the Drove application that started the task
task-id - Task ID
tail
Tail log for task
drove tasks tail [-h] [--file FILE] source-app task-id
Positional Arguments
source-app - Name of the Drove application that started the task
task-id - Task ID
Named Arguments
--file FILE, -f FILE Log filename to tail. Default is to tail output.log
download
Download log for task
drove tasks download [-h] [--out OUT] source-app task-id file
Positional Arguments
source-app - Name of the Drove application that started the task
task-id - Task ID
file - Log filename to download
Named Arguments
--out OUT, -o OUT Filename to download to. Default is the same filename as provided.
localservices
Drove local service related commands
drove localservices [-h] {list,summary,spec,create,destroy,activate,deactivate,restart,cancelop} ...
Sub-commands
list
List all local services
drove localservices list [-h] [--sort {0,1,2,3,4,5,6,7,8}] [--reverse]
Named Arguments
--sort {0,1,2,3,4,5,6,7,8}, -s {0,1,2,3,4,5,6,7,8}
Sort output by column
--reverse, -r Sort in reverse order
summary
Show a summary for a local service
drove localservices summary [-h] service-id
Positional Arguments
service-id - Local Service ID
spec
Print the raw json spec for a local service
drove localservices spec [-h] service-id
Positional Arguments
service-id - Local Service ID
create
Create local service on cluster
drove localservices create [-h] spec-file
Positional Arguments
spec-file - JSON spec file for the local service
destroy
Destroy an inactive local service
drove localservices destroy [-h] service-id
Positional Arguments
service-id - Local Service ID
activate
Activate a local service
drove localservices activate [-h] service-id
Positional Arguments
service-id - Local Service ID
deactivate
Deactivate a local service
drove localservices deactivate [-h] service-id
Positional Arguments
service-id - Local Service ID
update
Deactivate a local service
drove localservices update [-h] service-id count
Positional Arguments
service-id - Local Service ID
count - Number of instances per executor
restart
Restart a local service.
drove localservices restart [-h] [--stop] [--parallelism PARALLELISM] [--timeout TIMEOUT] [--wait] service-id
Positional Arguments
service-id - Local Service ID
Named Arguments
--stop, -s Stop current instance before spinning up new ones
--parallelism PARALLELISM, -p PARALLELISM
Number of parallel threads to be used to execute operation
--timeout TIMEOUT, -t TIMEOUT
Timeout for the operation on the cluster
--wait, -w Wait to ensure all instances are replaced
cancelop
Cancel current operation
drove localservices cancelop [-h] service-id
Positional Arguments
service-id - Service ID
lsinstances
Drove local service instance related commands
drove lsinstances [-h] {list,info,logs,tail,download,replace,kill} ...
Sub-commands
list
List all local service instances
drove lsinstances list [-h] [--old] [--sort {0,1,2,3,4,5}] [--reverse] service-id
Positional Arguments
service-id - Local Service ID
Named Arguments
--parallelism PARALLELISM, -p PARALLELISM
Number of parallel threads to be used to execute operation (default: 1)
--timeout TIMEOUT, -t TIMEOUT
Timeout for the operation on the cluster (default: 5 minutes)
info
Print details for an local service instance
drove lsinstances info [-h] service-id instance-id
Positional Arguments
service-id - Local Service ID
instance-id - Local Service Instance ID
logs
Print list of logs for local service instance
drove lsinstances logs [-h] service-id instance-id
Positional Arguments
service-id - Local Service ID
instance-id - Local Service Instance ID
tail
Tail log for local service instance
drove lsinstances tail [-h] [--file FILE] service-id instance-id
Positional Arguments
service-id - Local Service ID
instance-id - Local Service Instance ID
Named Arguments
--log LOG, -l LOG Log filename to tail. Default is to tail output.log
download
Download log for local service instance
drove lsinstances download [-h] [--out OUT] service-id instance-id file
Positional Arguments
service-id - Local Service ID
instance-id - Local Service Instance ID
file - Log filename to download
Named Arguments
--out, -o Filename to download to. Default is the same filename as provided.
replace
Replace specific local service instances with fresh instances
drove lsinstances replace [-h] [--stop] [--parallelism PARALLELISM] [--timeout TIMEOUT] [--wait] service-id instance-id [instance-id ...]
Positional Arguments
service-id - Local Service ID
instance-id - Local Service Instance IDs
Named Arguments
--stop, -s Stop the instance before spinning up a new one
--parallelism PARALLELISM, -p PARALLELISM
Number of parallel threads to be used to execute operation
--timeout TIMEOUT, -t TIMEOUT
Timeout for the operation on the cluster
--wait, -w Wait to ensure all instances are replaced
kill
Kill specific local service instances
drove lsinstances kill [-h] [--parallelism PARALLELISM] [--timeout TIMEOUT] service-id instance-id [instance-id ...]
Positional Arguments
service-id - Local Service ID
instance-id - Local Service Instance IDs
Named Arguments
--parallelism PARALLELISM, -p PARALLELISM
Number of parallel threads to be used to execute operation
--timeout TIMEOUT, -t TIMEOUT
Timeout for the operation on the cluster (default: 5 minutes)
--wait, -w Wait to ensure all instances are killed
config
Manage drove cluster configurations (similar to kubectl config). These commands do not require an active cluster connection.
drove config [-h] {get-clusters,current-cluster,use-cluster,view,init,add-cluster,delete-cluster} ...
Sub-commands
get-clusters
List all configured clusters
drove config get-clusters [-h]
Example output:
CURRENT NAME ENDPOINT AUTH INSECURE
-----------------------------------------------------------------------------------------------
* local http://localhost:4000 yes no
stage http://stage.drove.com:4000 yes no
Current cluster: local
current-cluster
Show the current default cluster
drove config current-cluster [-h]
use-cluster
Set the default cluster. After setting, all commands will use this cluster unless overridden with -c.
drove config use-cluster [-h] cluster-name
Positional Arguments
cluster-name - Name of the cluster to set as default
Example:
$ drove config use-cluster stage
Switched to cluster "stage".
view
Display the full configuration file
drove config view [-h] [--raw]
Named Arguments
--raw, -r Show raw config file content instead of formatted output
init
Initialize a new ~/.drove config file. Will fail if the file already exists.
drove config init [-h] --endpoint ENDPOINT [--name NAME] [--username USERNAME] [--password PASSWORD] [--auth-header AUTH_HEADER] [--insecure]
Named Arguments
--endpoint ENDPOINT, -e ENDPOINT
Drove endpoint URL (required)
--name NAME, -n NAME Cluster name (default: "default")
--username USERNAME, -u USERNAME
Username for basic auth
--password PASSWORD, -p PASSWORD
Password for basic auth
--auth-header AUTH_HEADER, -t AUTH_HEADER
Authorization header value
--insecure, -i Skip SSL verification
Example:
$ drove config init -e http://localhost:4000 -n local -u admin -p admin
Config initialized at: /home/user/.drove
Current cluster set to: local
add-cluster
Add a new cluster to the config file
drove config add-cluster [-h] --endpoint ENDPOINT [--username USERNAME] [--password PASSWORD] [--auth-header AUTH_HEADER] [--insecure] cluster-name
Positional Arguments
cluster-name - Name for this cluster
Named Arguments
--endpoint ENDPOINT, -e ENDPOINT
Drove endpoint URL (required)
--username USERNAME, -u USERNAME
Username for basic auth
--password PASSWORD, -p PASSWORD
Password for basic auth
--auth-header AUTH_HEADER, -t AUTH_HEADER
Authorization header value
--insecure, -i Skip SSL verification
Example:
$ drove config add-cluster production -e https://prod.drove.com -t "Bearer <token>"
Cluster 'production' added to /home/user/.drove
delete-cluster
Remove a cluster from the config file
drove config delete-cluster [-h] cluster-name
Positional Arguments
cluster-name - Name of the cluster to remove
Example:
$ drove config delete-cluster stage
Cluster 'staging' deleted from /home/user/.drove
Note: If you delete the current default cluster, it will be unset and you'll need to use
drove config use-clusterto set a new default.
©2024, Santanu Sinha.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file drove_cli-0.0.4.tar.gz.
File metadata
- Download URL: drove_cli-0.0.4.tar.gz
- Upload date:
- Size: 28.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.10.19 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f98cb6b75312272136d13ce9a4901ba30b1ca4d204b7576ebdc0b6991145ea6c
|
|
| MD5 |
af0e8bcac8b42223ce5f8d6fc42225a2
|
|
| BLAKE2b-256 |
124a0b7edf34089ff3604a794f186c4402934efd8fb08d8f31d7eef6bc55a810
|
File details
Details for the file drove_cli-0.0.4-py3-none-any.whl.
File metadata
- Download URL: drove_cli-0.0.4-py3-none-any.whl
- Upload date:
- Size: 31.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.10.19 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2573c0d8d8c96965452cb7c3bf5b391dd59e16feda907ff8f44bcc063a02cab1
|
|
| MD5 |
d52f928f0456ea9c08fccc195f7167de
|
|
| BLAKE2b-256 |
54843645f783ab0ee05feca0cd2223c75da361ccb26ffbe81e47b35f66eb21c0
|