Getting started
uvx --from longlink longlink init --folder .
uv sync --group dev
uv run longlink dev
See
xLongLink/samplefor a minimal LongLink Solution.
Documentation
Check LongLink Documentation or use the cli (designed for agents):
longlink docs --help
HTML-style forms
Use named fields instead of maintaining draft state:
/** Creates an item through the Solution request bridge. */
export default function CreateItem() {
return (
<Form action="/api/items" method="post">
<Stack gap={3}>
<TextInput name="name" label="Name" required />
<NumberInput name="price" label="Price" min={0} defaultValue={0} required />
<Button type="submit" label="Create" />
</Stack>
</Form>
);
}
name keeps the themed Astryx control and includes its value in form submissions.
Use defaultValue or defaultChecked for initial values, or value and onChange
when the interface needs reactive state. Ordinary HTML inputs also work inside Form.
Receive the fields with payload: Annotated[ItemCreate, fastapi.Form()] in your Python
route (Annotated comes from typing; install python-multipart). Form validation
provides immediate feedback; the backend schema validates and parses submitted strings.
Repeated names and files are preserved, and unchecked checkboxes are omitted.
Form prevents duplicate submissions and displays request errors. Successful writes
refresh cached View data but do not reset the form. Use onSuccess to close a dialog
or navigate, or a reset button to restore defaults.
Use name, required, disabled, value, and multiple as the public field props.
The former htmlName, isRequired, isDisabled, checked, isMultiple, and
read-only aliases are no longer supported on fields (isDisabled is also removed
from Button). Keep defaultValue and defaultChecked for uncontrolled defaults.
Run longlink dev after upgrading to refresh editor declarations.
Views have their own viewport-sized scroll region. Dialogs and pickers are modal within that View only; Platform navigation remains available. Button and Card destinations use the same Solution-scoped host navigation as Link.
Requests and responses are limited to 2,000,000 bytes, with at most 32 form entries
and 8 pending operations. The sample limits files to 1.9 MB to leave room for other
fields. FileViewer previews images and provides a download action for all file
types, including PDFs; use the attachment filename as its title.
Development
make sdk
Requirements: Python 3.12 or newer,
uv, and Docker if you want to build an image. SeeCONTRIBUTING.mdfor more details.
Testing
uv sync --group dev
uv run pytest --cov --cov-report=term-missing
Metadata
Release files for longlink 0.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| longlink-0.6.0.tar.gz | 2.9 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| longlink-0.6.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 5.7 MB
Release files / longlink-0.6.0.tar.gz
| Download URL | longlink-0.6.0.tar.gz |
|---|---|
| Size | 2.9 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
21981b84ec526ed2a935d9c513f0be6ba74ff44d13e0f2b9546c0242f6413fd6
|
|
BLAKE2b-256 checksum How to use checksums |
46d4666be3c5bfbdd01580ecf361fd503be1828c0c1b29acce5ef4a2d47f9673
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / longlink-0.6.0-py3-none-any.whl
| Download URL | longlink-0.6.0-py3-none-any.whl |
|---|---|
| Size | 2.8 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ca8258954b3e1a0d0fa5c21125257f7fb78b12793684ea033abecdb2ea60897c
|
|
BLAKE2b-256 checksum How to use checksums |
3319ba23a0e561368f782d04675697365c81ebaa8a8842da8a4540c55d6afe58
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|