alai
A fast package and environment manager for Ansible collections, heavily inspired by uv.
Preview: alai is released in preview, as a 0.x version under semantic versioning. Its interface can still change as workflows are worked out, so a release that breaks something bumps the minor version, from 0.1 to 0.2, and lists the change in the changelog. A patch release, such as 0.1.1, only fixes bugs.
A word on how alai is made: alai is written with the help of AI coding tools. That doesn't mean a model was handed a prompt and left to get on with it: a human argues over every design decision, the reasoning behind them is written down in the repository, and features are tried by hand against real projects before they land, then tried again when they don't behave. Think of it as pair programming where one of the pair never needs a coffee break.
I respect your decision if you'd rather not use software built this way, and it seemed better to say so outright rather than after you've read the docs or started using the software.
alai installs the collections an Ansible project needs into the project
itself, in collections/ansible_collections/ next to your playbooks, where
ansible-playbook finds them with no extra configuration. It records the
exact versions it chose in a lock file, so every machine and CI run gets the
same collections. Installing them takes a fraction of the time
ansible-galaxy takes.
Documentation: https://docs.alai.sh/
Why alai
- Lock files.
alai.lockrecords the exact version of every collection, dependencies included, and only changes when you change what the project needs or ask to upgrade.alai sync --lockedchecks in CI thatalai.tomlandalai.lockagree. - Faster installs. A first install of
community.generaltakes about 1.2 s whereansible-galaxytakes 14.6 s. Each collection is downloaded once and linked from a cache, so installing it again into another project takes 0.26 s. - Reliability. Every download is checked against its SHA-256 in the lock,
and every file against the collection's own
FILES.json. Installs don't depend on the Galaxy API being available, and an interrupted install never leaves half a collection. When there's no network,--offlineinstalls from the cache. - Collections per project. Each project has its own collections,
rather than one shared
~/.ansible/collectionswhere one project's upgrade changes another's.alai runmakes sure Ansible loads only the project's collections. - Collection development. A collection project no longer needs to be in
the
ansible_collections/<namespace>/<name>directory layout, and its dependencies never end up in the collection you build or the filesansible-test sanitychecks. - No Ansible needed. alai doesn't need Ansible installed, so CI can fetch collections before, or without, installing ansible-core.
- Familiar commands.
alai add,alai remove,alai lockandalai syncwork as uv's do for Python packages.
alai runs on Linux and macOS. Other *nix-like platforms should work but aren't officially tested. There's no Windows support, as Ansible itself can't run on Windows.
Installing
alai is published on PyPI as alai-sh. Install it as a tool with
uv, which puts
the alai command on your PATH:
$ uv tool install alai-sh
To update, run uv tool upgrade alai-sh. To try alai without installing it,
uvx --from alai-sh alai runs it in a temporary environment, such as
uvx --from alai-sh alai --version.
The wheels on PyPI cover Linux on x86_64 and aarch64, with glibc or musl,
and macOS on Apple silicon. On any other platform, such as an Intel Mac, uv
builds alai from the source distribution, which needs Rust 1.92 or later
with cargo on your PATH (rustup installs it).
Getting started
An alai.toml marks the project, so create one beside your playbooks, then
add the collections they use:
$ touch alai.toml
$ alai add ansible.posix 'community.general>=10,<12'
Resolved 2 collections in 522ms
Prepared 2 collections in 1.21s
Installed 2 collections in 41ms
+ ansible.posix==2.2.2
+ community.general==11.4.9
alai.toml now lists what the project needs, alai.lock has the exact
versions chosen, and collections/ holds them:
[project]
collections = [
"ansible.posix>=2.2.2",
"community.general>=10,<12",
]
Commit alai.toml and alai.lock, and ignore collections/. Anyone who
clones the project gets the same collections with alai sync:
$ alai sync
Resolved 2 collections in 1ms
Installed 2 collections in 35ms
+ ansible.posix==2.2.2
+ community.general==11.4.9
Common tasks
| Task | Command |
|---|---|
| Add a collection, or change its requirement | alai add cisco.ios |
| Add one only some workflows need | alai add --group test ansible.utils |
| Remove a collection | alai remove cisco.ios |
Install what alai.lock lists, after a pull |
alai sync |
Fail CI if alai.lock is out of date |
alai sync --locked |
| Upgrade one collection, a group, or everything | alai lock -P cisco.ios, alai lock --upgrade-group test, alai lock -U |
Put back a collection edited in place (if its files were hardlinked or symlinked, see link_mode first) |
alai sync --reinstall-collection cisco.ios |
| Install a collection by hand, outside the lock | alai collection install ansible.posix |
| See where each setting comes from | alai config show |
Coming from ansible-galaxy and a requirements.yml? The
migration guide covers moving a
project over and the differences you may run into.
Learn more
- Projects: how alai finds your project, playbook and collection projects, and where collections are installed.
- Managing collections: adding, locking and installing, and workflows for teams and CI.
- Running Ansible: running
ansible-playbookand the other Ansible commands withalai run. - Configuration and
alai.toml: every setting and key. - CLI reference: every command and option, with recordings of them running.
- Roadmap: what's planned next.
- Acknowledgements: the projects alai is inspired by and built on.
Bugs and ideas are welcome in the issue tracker.
License
MIT, see LICENSE.
Metadata
Release files for alai-sh 0.1.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 | Provenance | Actions |
|---|---|---|---|---|
| alai_sh-0.1.0.tar.gz | 182.5 kB | With provenance | Details for alai_sh-0.1.0.tar.gz |
Built distributions (wheels)
Total release size: 44.4 MB
Release files / alai_sh-0.1.0.tar.gz
| Download URL | alai_sh-0.1.0.tar.gz |
|---|---|
| Size | 182.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
50e6b2a9cd9215d3c08566c2a410db2bbf6b1b2f314dac79589454228e203e89
|
|
BLAKE2b-256 checksum How to use checksums |
f7ee0f132b5b417bf9e98a6a441fa1440c61fca591c93044bfb795905d1112cf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 5, 2026.
Transparency logRelease files / alai_sh-0.1.0-cp315-abi3.abi3t-musllinux_1_2_x86_64.whl
| Download URL | alai_sh-0.1.0-cp315-abi3.abi3t-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 3.2 MB |
| Tags | CPython 3.15 Linux musl 1.2+ x86-64 abi3 abi3t |
|
SHA-256 checksum How to use checksums |
81e8a8e6fdbc2ab1d1b7327087a0a60e71d236107f6681e8f62ddee8f1e8e980
|
|
BLAKE2b-256 checksum How to use checksums |
922c7ecae401eb1cc4d92821029fa449e6d3cebb92f2936263c98fd36c400b9e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 5, 2026.
Transparency logRelease files / alai_sh-0.1.0-cp315-abi3.abi3t-musllinux_1_2_aarch64.whl
| Download URL | alai_sh-0.1.0-cp315-abi3.abi3t-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 2.9 MB |
| Tags | CPython 3.15 Linux musl 1.2+ ARM64 abi3 abi3t |
|
SHA-256 checksum How to use checksums |
e3c3c5ba5b56ce94dfb95a0d4035120a719728561e0a85c4c019bf2f5619a451
|
|
BLAKE2b-256 checksum How to use checksums |
0f4eb14f5b666c9074090ef7827d758b5437d13cdd581a7ec034f3476e831c35
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 5, 2026.
Transparency logRelease files / alai_sh-0.1.0-cp315-abi3.abi3t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | alai_sh-0.1.0-cp315-abi3.abi3t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 3.0 MB |
| Tags | CPython 3.15 Linux glibc 2.17+ x86-64 abi3 abi3t |
|
SHA-256 checksum How to use checksums |
a378d0bb1bab0cc18aa34af02746727bc3c39a081783903dee30cd7c14b51607
|
|
BLAKE2b-256 checksum How to use checksums |
4513479e185fd3c623579ede96b2fe1f8129639895a11486be8b635eca20ec4d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 5, 2026.
Transparency logRelease files / alai_sh-0.1.0-cp315-abi3.abi3t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | alai_sh-0.1.0-cp315-abi3.abi3t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 2.9 MB |
| Tags | CPython 3.15 Linux glibc 2.17+ ARM64 abi3 abi3t |
|
SHA-256 checksum How to use checksums |
d8be643417409fcb7c593d7ed9978298e912813e9e503dfef65de0ff6640e887
|
|
BLAKE2b-256 checksum How to use checksums |
7fddbaec992eca6355b19614f0496e7f04c725e06aa2af289bb7b12401bf6f76
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 5, 2026.
Transparency logRelease files / alai_sh-0.1.0-cp315-abi3.abi3t-macosx_11_0_arm64.whl
| Download URL | alai_sh-0.1.0-cp315-abi3.abi3t-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.8 MB |
| Tags | CPython 3.15 abi3 abi3t macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
4c1c9eee2f0ee5d6e0fb8eba02c9c2a0ed685e86727b585accf28acb14ea3961
|
|
BLAKE2b-256 checksum How to use checksums |
ae9a5437f1109ac6bf69a150c86c6569157fd20c670d9bc29eb6165654ca4d9a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 5, 2026.
Transparency logRelease files / alai_sh-0.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl
| Download URL | alai_sh-0.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 3.1 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
e6e060d47fde032f738f2d1017b1804554898aec9b9d725bab5209dec8f9f932
|
|
BLAKE2b-256 checksum How to use checksums |
5aba347061d430163eaa866fa850801c83fb07d92cafb4230ae0a84ec8f21b41
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 5, 2026.
Transparency logRelease files / alai_sh-0.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl
| Download URL | alai_sh-0.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 2.9 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
c0b5f28ac812a0f26ba9cc20389b788f6231c1251ba970ff4ffc4d4e2d282f6e
|
|
BLAKE2b-256 checksum How to use checksums |
5e3aa01911ae497523f0cea4aa80920f6b6d980e712a3a6d6637554ad78ed0f7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 5, 2026.
Transparency logRelease files / alai_sh-0.1.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | alai_sh-0.1.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 3.0 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
c596301d05923d408890034b4f10a09f21891ae4fbf6c4da07e9d179475f7a2f
|
|
BLAKE2b-256 checksum How to use checksums |
5870815451778b33394db3e97b7b2316a4e463d2af05a9ab6936f8aa75d26dc2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 5, 2026.
Transparency logRelease files / alai_sh-0.1.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | alai_sh-0.1.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 2.9 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
b1bccbafe61c509fa7c5a3378484035145ebfb4d67f0f79f20a504b139bb29fc
|
|
BLAKE2b-256 checksum How to use checksums |
bf670715431d07d813bf71bff5e717e91cd5593b3a329640fdfde6fd3a00ac48
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 5, 2026.
Transparency logRelease files / alai_sh-0.1.0-cp314-cp314t-macosx_11_0_arm64.whl
| Download URL | alai_sh-0.1.0-cp314-cp314t-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.8 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
32f9b5d9f61a1de836ded2674a28df0a02ff9ef0df4dc9bd3abe8c19d305e19b
|
|
BLAKE2b-256 checksum How to use checksums |
a47e4a18e44ab7a5ead5782a82dcb7741404009ccb3388cc59e954c72eb8dda5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 5, 2026.
Transparency logRelease files / alai_sh-0.1.0-cp310-abi3-musllinux_1_2_x86_64.whl
| Download URL | alai_sh-0.1.0-cp310-abi3-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 3.2 MB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
52b45774844ea83dc2537d1bbe52f7064f9ca7d30440bd78befde44549f93040
|
|
BLAKE2b-256 checksum How to use checksums |
a8bb74e4973d3baea5346e9d749e219731d20795c2e8a4e12e936ea84acaa55b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 5, 2026.
Transparency logRelease files / alai_sh-0.1.0-cp310-abi3-musllinux_1_2_aarch64.whl
| Download URL | alai_sh-0.1.0-cp310-abi3-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 2.9 MB |
| Tags | CPython 3.10 Linux musl 1.2+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
3c3ca8cd0fe479f57ce05d456db4f2b9da000ad7a8b969acfe784fa2fc9784f3
|
|
BLAKE2b-256 checksum How to use checksums |
b879fbd8f708811346ebaef72aceb97d82b8b3c4aa98185db96ea93031622814
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 5, 2026.
Transparency logRelease files / alai_sh-0.1.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | alai_sh-0.1.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 3.0 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
3188a6930dcd3d2b1cccf2ec49d3510d04cf6235ed1875c7d2a84529a061d820
|
|
BLAKE2b-256 checksum How to use checksums |
e4021a577a657a1e7d7ed405d932e5052c761b75f110aecb3efec93b8684fc62
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 5, 2026.
Transparency logRelease files / alai_sh-0.1.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | alai_sh-0.1.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 2.9 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
c42bd7134573f97159612b2128ffe903d7b322ae5d527384b90c41f8817d33c9
|
|
BLAKE2b-256 checksum How to use checksums |
349235f12d3e46ce573bf7df47a1d24de74d54f7e6f730883377b47eb1d499e2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 5, 2026.
Transparency logRelease files / alai_sh-0.1.0-cp310-abi3-macosx_11_0_arm64.whl
| Download URL | alai_sh-0.1.0-cp310-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.8 MB |
| Tags | CPython 3.10 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
0a66976f2af7620efe24fae98f2ae6ba77a601f938c74ab3cd8ddfde31a31bd1
|
|
BLAKE2b-256 checksum How to use checksums |
0a4e290254b589588f1aff632be6ed5b44ef2d4ddbde1ef5f6726f988e0a40bd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 5, 2026.
Transparency logSecurity for alai-sh 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 16 files in this release have been uploaded with provenance metadata.
Attestation for alai_sh-0.1.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 5, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.