Python client for the Lynqa API
Project description
pylynqa
pylynqa is a Python client for the Lynqa REST API.
Lynqa is a test execution AI Agent: you describe a test (plain steps or a Gherkin scenario) and Lynqa runs it against your web application. This library provides a wrapper around the REST API, covering test run management, step inspection, screenshot retrieval, and account operations.
Disclaimers
[!IMPORTANT] This is an unofficial project. pylynqa is not affiliated with, endorsed by, or maintained by Smartesting, the company that develops Lynqa. "Lynqa" and "Smartesting" are the property of their respective owners.
[!NOTE] Lynqa is a commercial product. Using this client requires a Lynqa account and an API key, and running tests consumes paid credits. See https://my.lynqa.smartesting.com/integration to create an API key.
Requirements
- Python 3.9+
- A Lynqa account and API key (test executions consume credits)
Installation
pip install pylynqa
At this early stage the package may not be published on PyPI yet. In the meantime you can install it from source:
pip install git+https://github.com/petit-robot/pylynqa.git
Quick start
from pylynqa import CreateTestStep, LynqaClient
client = LynqaClient(api_key="your-api-key")
run_id = client.add_test_run(
url="https://lemonde.fr",
steps=[
CreateTestStep(
action="Go to the website",
expected_result="The website is open",
),
CreateTestStep(
action='Search an article on "france ia"',
expected_result='Should have an article on "IA agentique"',
),
],
name="Smoke - Search an article",
)
status = client.get_test_run_status(run_id)
print(status["status"]) # e.g. "running"
Bruno Collection
The project provides a Bruno Collection to interact with Lynqa API. A Bruno environment named "production" was also provided in addition to the collection.
You can access the collection here.
Prerequisites
Before using this collection, make sure you have:
- Bruno 3.4.2+
- A valid Lynqa API Key that you get once you have a Lynqa account
Where to put your API Key
To securely use the API, you must configure your API key inside a Bruno environment.
For that you should:
- Select the environment named "production".
- Click on "Configure" to get access to the environment variable
In the environment variable:
- Paste your Lynqa API Key in the Value field
- Make sure to mark it as Secret (enable the checkbox)
- Click Save
This ensures your API key is never exposed in Bruno files.
Collaboration
This project is at an early stage, so external contributions are limited for now. This may be opened up more broadly later as the project matures.
In the meantime, you are very welcome to open an issue to report a bug or ask any question.
License
Licensed under the Apache License 2.0.
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 pylynqa-0.1.0b2.tar.gz.
File metadata
- Download URL: pylynqa-0.1.0b2.tar.gz
- Upload date:
- Size: 57.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8894247d58c598c24755e2d6c4f4bf44bf1c7bcc37f934642c05772018d1b818
|
|
| MD5 |
fd885734382f7f828a9ebb18ab7c95d1
|
|
| BLAKE2b-256 |
8f831d69e81b9a9b0870b0fc82d4dd3415cc077db5b853ebbdde08f8045b0712
|
Provenance
The following attestation bundles were made for pylynqa-0.1.0b2.tar.gz:
Publisher:
release.yml on petit-robot/pylynqa
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pylynqa-0.1.0b2.tar.gz -
Subject digest:
8894247d58c598c24755e2d6c4f4bf44bf1c7bcc37f934642c05772018d1b818 - Sigstore transparency entry: 1923552414
- Sigstore integration time:
-
Permalink:
petit-robot/pylynqa@23c4bfa1ad0ad60fe86594f684dad0828a47d8c7 -
Branch / Tag:
refs/tags/v0.1.0b2 - Owner: https://github.com/petit-robot
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@23c4bfa1ad0ad60fe86594f684dad0828a47d8c7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file pylynqa-0.1.0b2-py3-none-any.whl.
File metadata
- Download URL: pylynqa-0.1.0b2-py3-none-any.whl
- Upload date:
- Size: 26.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c685675cfbfb430d0fa6916092b55134ac85a94d8951f0692c802bd22f357133
|
|
| MD5 |
e6b26884c86e0c88ac1c3c18befa74e9
|
|
| BLAKE2b-256 |
f30031c4646c9fef865ff1510bb20fc99187547cb6fad2a61bc516fd7eb4e515
|
Provenance
The following attestation bundles were made for pylynqa-0.1.0b2-py3-none-any.whl:
Publisher:
release.yml on petit-robot/pylynqa
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pylynqa-0.1.0b2-py3-none-any.whl -
Subject digest:
c685675cfbfb430d0fa6916092b55134ac85a94d8951f0692c802bd22f357133 - Sigstore transparency entry: 1923552562
- Sigstore integration time:
-
Permalink:
petit-robot/pylynqa@23c4bfa1ad0ad60fe86594f684dad0828a47d8c7 -
Branch / Tag:
refs/tags/v0.1.0b2 - Owner: https://github.com/petit-robot
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@23c4bfa1ad0ad60fe86594f684dad0828a47d8c7 -
Trigger Event:
release
-
Statement type: