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.11.0.tar.gz (81.6 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.11.0-py3-none-any.whl (96.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: automata_linq_sdk-1.11.0.tar.gz
  • Upload date:
  • Size: 81.6 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.11.0.tar.gz
Algorithm Hash digest
SHA256 efacfb5a580ad95e60c7aa7523153a987ae6563a81774dc0d218642221f408ce
MD5 878a88516c4284fca5d75dc78914b0a9
BLAKE2b-256 870307ef763ea57e2d3a93a2c0d7976325976d7f545fe2017028a208753419d3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for automata_linq_sdk-1.11.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e1e639a093ae9db743512d73e9576589c39b453e52cf13a71ced0290d48c9eee
MD5 259dbea64053412309b1a7371e704e24
BLAKE2b-256 680da8028a8c8dca1f754f46820f1ea0ba37a0ce682f387a0385daedaca8a5f8

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