Skip to main content

No project description provided

Project description

Automata Linq SDK

LINQ SDK. This README is for installation and development of the SDK.

Getting started

For local development, these are the steps for getting up and running:

  • Install python3.11
  • Install poetry: curl -sSL https://install.python-poetry.org | python3 -
  • Start a virtual environment using python3.11 poetry env use python3.11
  • Install dependencies: poetry install
  • Install pre-commit git hook: poetry run pre-commit install
  • (Optional) For Jupyter Notebook functionality, install ipykernel

Alternatively, you can also open this directory with a VSCode Dev Container.

Activating poetry virtual env

$(poetry env activate)

Running the SDK from your local repo

To install your local repo as a package, run the following from the top level of the repo directory:

pip install -e .

This will allow you to run the linq cli tool and have it execute your modified python files in the repo.

Overwriting settings

For local development, settings can be overwritten by adding a .env file. Check workflow_builder/settings.py for a list of settings that can be overwritten.

Running the tests

To run the tests, run

poetry run pytest

Or, activate the poetry shell first and then execute commands as usual:

$(poetry env activate)
pytest

To configure Pact tests run locally please see the docs: Consumer Pact test

By default, Pytest will ignore the directory with pact tests, so as not to make other tests dependent on the pact configuration.

To run pact tests, use command:

poetry run pytest tests/pact

Linting and formatting

The project uses ruff for formatting and linting - you can run each task directly either via poetry or manually:

# Linting
poetry run task lint
# or
ruff check .

# Formatting
poetry run task format
# or
ruff format .

Documentation

The SDK's documentation is built with sphinx, all docs files can be found in docs/.

All documentation pages except the index should be written in markdown, the docs use myst-parser to allow writing markdown with sphinx. HookRequests are defined in the maestro repo and must be imported to correctly generate all docs. Therefore, you must ensure you have a GIT_TOKEN setup in your local .env before running either of the build-docs commands. To learn how to add a new GIT_TOKEN to your account visit official GitHub documentation.

  • To build the docs, run poetry run task build-docs
  • To build the docs continuously and serve them on a local server on port 3001, run poetry run task serve-docs.

Updating the schema

If the API schema changes, we need to keep the schema up to date in the SDK.

To do this, ensure you have the latest version of linq-workflow-builder-api running locally, then run poetry run task update-api-schema in this repository.

Run the test suite after updating the schema; some test fixtures may need to be updated along with the schema changes. Commit the updated schema(s) and any tests.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

automata_linq_sdk-1.10.2.tar.gz (80.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

automata_linq_sdk-1.10.2-py3-none-any.whl (95.2 kB view details)

Uploaded Python 3

File details

Details for the file automata_linq_sdk-1.10.2.tar.gz.

File metadata

  • Download URL: automata_linq_sdk-1.10.2.tar.gz
  • Upload date:
  • Size: 80.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for automata_linq_sdk-1.10.2.tar.gz
Algorithm Hash digest
SHA256 a39fd6e02f7d55eb817e8b58bd600dba7c1528c54095ac71e60a1a1cde29d985
MD5 d478b525dfba4a77c70f45eac4aac563
BLAKE2b-256 4077c3e5a3b9178e4c4d298df2351b810f0980c1f8992b950dd06c5fc1a40e43

See more details on using hashes here.

File details

Details for the file automata_linq_sdk-1.10.2-py3-none-any.whl.

File metadata

File hashes

Hashes for automata_linq_sdk-1.10.2-py3-none-any.whl
Algorithm Hash digest
SHA256 90e34dda7fef6d4a99d32128aa62ad79a2dba6b153f047085dd4ebc7906f2a66
MD5 8ed163a0dbfc03cc3c38036624b7f376
BLAKE2b-256 ea61830eaf73eb9df357c26c3a4a28d58673a276185fbcf0b56aeefcc0dd9adc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page