Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
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:
list
add
update
remove
play
logs
Remote resources can be:
forms
hooks
jobs
files
vars
packages
subdomain
dash
List 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/ ./
vars
Examples:
abstra add vars ENVIRONMENT=production VERSION=1.0.0
abstra add vars -f .env
abstra add vars --file .env
packages
requirements.txt
Examples:
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:
forms
form_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 * *"
hooks
hook_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
hooks
It 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
jobs
It 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
job
It 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
workspace
It 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
FAQs
Abstra CLI
We found that abstra-cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.