Observed since 20 Oct, 17:39 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Abstra CLI
Command Line Interface for Abstra Cloud
Download preferably using pipx:
pipx install abstra-cli
Or using pip:
pip install abstra-cli
You will need to be authenticated to run most commands.
abstra login
Credentials are stored at .abstra/credentials path inside current directory.
Alternatively you can set the ABSTRA_API_TOKEN environment variable.
Alternatively you can run abstra configure <token> if you already have a token.
The general structure of the commands follows the pattern below:
abstra <command> <resource> [<argument>...] [--<optional-argument-name> <optional-argument-value> ...]
The available commands are:
listaddupdateremoveplaylogsRemote resources can be:
formshooksjobsfilesvarspackagessubdomaindashList remote resources on your workspace.
abstra list RESOURCE{forms, hooks, jobs, files, vars, packages}
Examples:
abstra list packages
abstra list vars
abstra list files
abstra list forms
abstra list hooks
abstra list jobs
abstra list subdomain
# Saving cloud packages to a requirements.txt file
abstra list packages > requirements.txt
# Saving cloud environment variables to a .env file
abstra list vars > .env
Adds remote resources on your workspace.
abstra add RESOURCE [...OPTIONS]
The current options for each resource are:
forms:--name or --n or --title: string--path: string--file or --f: file_path*--code or --c: string*--enabled: boolean--background: image_path or string--main-color: string--start-message: string--error-message: string--end-message: string--start-button-text: string--restart-button-text: string--timeout-message: string--logo-url: string--show-sidebar: boolean--log-messages: boolean--font-color: string--auto-start: boolean--allow-restart: boolean--welcome-title: string--brand-name: string--upsert: boolean* Note: set either file or code, not both.
Examples:
abstra add form --name="my_form" -f main.py --background '#fffeee'
abstra add form --path=test -f test.py --enabled=False
abstra add form --name="Form Name" --code "from hackerforms import * \n\ndisplay('hello_world')" --background '#fffeee' --main-color red --start-message 'start message' --error-message 'error-message' --end-message 'end message' --start-button-text 'start button text' --show-sidebar --allow-restart
hooks--name or --n or --title: string--path: string--file or --f: file_path*--code or --c: string*--enabled: boolean--upsert: boolean* Note: set either file or code, but not both.
Examples:
abstra add hook --name="test hook" -f main.py --upsert
abstra add hook --path=test -f test.py --enabled=False
jobs--name or --n or --title: string--identifier or --idt: string--schedule or --crontab: string--file or --f: file_path--code or --c: string--enabled: boolean--upsert: boolean* Note: set either file or code, but not both.
Examples:
abstra add job --idt new-job --noenabled --name="Test Job" --upsert
abstra add job --idt daily --schedule="00 00 1 * *" --name="Every midnight"
files.Examples:
abstra add files foo.txt bar.log
abstra add files foo/ ./
varsExamples:
abstra add vars ENVIRONMENT=production VERSION=1.0.0
abstra add vars -f .env
abstra add vars --file .env
packagesrequirements.txtExamples:
abstra add packages pandas numpy=1.0.1 scipy>=1.0.1
abstra add packages -f requirements.txt
abstra add packages -r requirements.txt
abstra add packages --file requirements.txt
abstra add packages --requirement requirements.txt
Updates remote resources on your workspace.
Currently only available for forms, hooks and jobs
abstra update [IDENTIFIER OR PATH] [...OPTIONS]
The options for each resource are:
formsform_path: string (required parameter)--name: string--path: string--file: file_path--code: string--enabled: boolean--background: image_path or string--main-color: string--start-message: string--error-message: string--end-message: string--start-button-text: string--restart-button-text: string--timeout-message: string--logo-url: string--show-sidebar: boolean--log-messages: boolean--font-color: string--auto-start: boolean--allow-restart: boolean--welcome-title: string--brand-name: stringExamples:
abstra update form new-onboarding --name="Another name" --allow-restart
jobs:identifier: string (required parameter)--name or --n or --title: string--identifier or --idt: string--schedule or --crontab: string--file or --f: file_path--code or --c: string--enabled: booleanExample:
abstra update job daily --schedule="00 00 5 * *"
hookshook_path: string (required parameter)--name or --n or --title: string--path: string--file or --f: file_path--code or --c: string--enabled: booleanExamples:
abstra update hook stripe-callback --enabled
subdomain--name: string (required parameter)Examples:
abstra update subdomain new-subdomain-name
Remove remote resources from your workspace.
abstra remove RESOURCE [...OPTIONS]
Examples:
abstra remove form sales-onboarding
abstra remove job monthly
abstra remove hook stripe-test
abstra remove files foo.txt bar.log
abstra remove vars ENVIRONMENT VERSION
abstra remove packages pandas numpy scipy
Run the resource on Abstra Cloud. Currently only available for forms.
abstra play RESOURCE [...OPTIONS]
Examples:
abstra play form b2b-ingestion
This command allows you to specify several resources in a JSON file and deploy them in one command (great for CI/CD workflows).
The default path is abstra.json in the root directory.
abstra deploy [--file or -f]
Examples:
abstra deploy -f prod.json
The file shoud follow a structure similar to what you can pass in each resource add command (using deploy the upsert flag will be added).
Example file:
{
"forms": [
{
"name": "Main Form",
"path": "main",
"file": "forms/main.py"
},
{
"name": "Secondary Form",
"path": "secondary",
"code": "forms/secondary.py",
"enabled": false
}
],
"hooks": [
{
"name": "Test",
"path": "test",
"file": "hooks/test.py"
},
{
"name": "Stripe",
"path": "stripe",
"file": "hooks/stripe.py"
}
],
"jobs": [
{
"name": "Monthly",
"idt": "month",
"file": "jobs/month.py",
"schedule": "00 00 1 * *",
"enabled": false
},
{
"name": "Weekly",
"idt": "week",
"file": "jobs/week.py",
"schedule": "00 00 * * 1"
}
],
"files": ["root.json", "files/"],
"packages": {
"file": "requirements.txt"
},
"vars": {
"file": ".env"
}
}
For packages and vars you can also specify manually:
{
"packages": ["pydash", "stripe==1.1.0"],
"vars": ["ABSTRA_CLOUD=test", "STRIPE_KEY=foobar"]
}
This command allows you to see the logs of one resource in your workspace.
abstra logs RESOURCE [...OPTIONS]
The options for each resource are:
dash--path: string (optional)--limit: integer (optional, default to 20. To disable set to 0)--offset: integer (optional, default to 0)Examples:
abstra logs dash --path my-dash --limit 10 --offset 0
form--id: string (optional)--limit: integer (optional, default to 20. To disable set to 0)--offset: integer (optional, default to 0)abstra logs form --limit 10 --offset 0
hooksIt lists all the logs in your workspace.
--limit: integer (optional, default to 20. To disable set to 0)--offset: integer (optional, default to 0)abstra logs hooks --limit 10 --offset 0
hook--id or --log_id: string--limit: integer (optional, default to 20. To disable set to 0)--offset: integer (optional, default to 0)abstra logs hook --id 6a7788c1-7eaf-46a6-93d5-13dfba962e90 --limit 10 --offset 0
jobsIt lists all the logs in your workspace.
--limit: integer (optional, default to 20. To disable set to 0)--offset: integer (optional, default to 0)abstra logs jobs --limit 10 --offset 0
jobIt lists all the logs within a specific job or a specific log.
--id or --log_id: string--limit: integer (optional, default to 20. To disable set to 0)--offset: integer (optional, default to 0)abstra logs job --id 6a7788c1-7eaf-46a6-93d5-13dfba962e90 --limit 10 --offset 0
workspaceIt lists the logs of all resources in your workspace.
--limit: integer (optional, default to 20. To disable set to 0)--offset: integer (optional, default to 0)abstra logs workspace
Some commands have aliases.
upload# Alias for `abstra add files` with default argument `.`
abstra upload [FILES or DIRECTORIES, default: .]
ls# Alias for `abstra list files`
abstra ls
rm# Alias for `abstra remove files`
abstra rm
install# Alias for `abstra add packages`
abstra install [PACKAGES]
You can ignore files placing a text file named .abstraignore at the target directory. The file .abstraignore itself will always be ignored.
Example:
__pycache__
tests/
*.ipynb
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.26.0Yanked | 15 May 2023 | 7 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 17:39 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:fb6374a77534ec2369bed6f3a369871a68bf7b4fc7b3b1f11a2550a6dda83535