Skip to main content

Behaviorally realistic human mouse and keyboard I/O simulation and bot detection.

Project description

humanio

Behaviorally realistic human I/O simulation and bot detection — for both mouse and keyboard.

humanio generates human-like input data (mouse trajectories and keystroke event streams) grounded in motor-control and keystroke-dynamics research, and ships matching detectors that score input as human or bot.

The generators never touch the OS by default — they produce timed event data that you feed into whatever automation backend you use (PyAutoGUI, Playwright, Selenium, …). Actually moving the cursor is opt-in via MouseExecutor.

humanio is proprietary, subscription software distributed as compiled binaries. Generation and detection calls are metered. A metered free tier is available (anonymous or signed-in); a subscription removes the cap. See Licensing below. Source code is not provided.

humanio
├── mouse    HumanMouse · MovementDetector · MouseExecutor
└── typing   SimulationEngine · BotClassifier · TypistProfile · KeystrokeEvent

Demo

Human-like input (teal/green) vs a naive bot (red) — side by side, scored live by the matching detector. The human mouse path curves and corrects through submovements; the bot moves in straight constant-velocity lines. The human typing stream varies its timing and fixes a typo; the bot types at a perfectly uniform cadence.

humanio demo

Watch the video — regenerate it with pip install "humanio[viz]" then python examples/visualize.py.


Installation

pip install humanio

To enable real cursor replay (MouseExecutor), install the optional extra:

pip install "humanio[mouse-control]"   # adds pyautogui

On first use the library runs on the metered free tier with no setup. To run unmetered, subscribe on the web, then connect this machine:

humanio login              # opens your browser to approve — then you're unmetered
humanio login --token <T>  # headless / CI: a token from your account page

Mouse

Generate a human-like trajectory and check it against the detector:

from humanio.mouse import HumanMouse, MovementDetector

mouse = HumanMouse(seed=42)
trajectory = mouse.generate(start=(100, 200), end=(800, 450), target_width=20)
# trajectory is a list[Point] with (x, y, t) — t in seconds from movement start.

detector = MovementDetector()
result = detector.classify(trajectory)
print(result.label, f"{result.confidence:.0%}")   # e.g. "human 87%"
print(result.explanations)                         # which rules, if any, flagged it

Every trajectory models Fitts's Law timing, an asymmetric bell-shaped velocity profile, 2–5 overlapping minimum-jerk submovements, signal-dependent neuromotor noise, undershoot-and-correct behavior, lateral path curvature, and homing-phase micro-jitter. Per-user variation comes from a UserProfile:

from humanio._shared.types import UserProfile

profile = HumanMouse.random_profile(seed=7)   # plausible randomized individual
mouse = HumanMouse(profile=profile, seed=7)

Replaying through the real cursor (requires the mouse-control extra):

from humanio.mouse import MouseExecutor

executor = MouseExecutor(speed_multiplier=1.0)
executor.execute_with_click(trajectory, button="left")

Typing

The simulator produces a list of KeystrokeEvents with realistic inter-key timing, errors and corrections. It never sleeps — schedule the events yourself using event.press_time_ms.

from humanio.typing import SimulationEngine, BotClassifier, TypistProfile

profile = TypistProfile.average()      # or .expert() / .novice() / TypistProfile(base_wpm=55, error_rate=0.04)
engine = SimulationEngine(profile)

events = engine.type_text("Hello, world! This is a typing simulation.")
for ev in events[:5]:
    print(f"{ev.key!r:8}  press={ev.press_time_ms:7.1f}ms  dwell={ev.dwell_ms:5.1f}ms")

classifier = BotClassifier()
result = classifier.classify(events)
print(result.verdict, f"bot_probability={result.bot_probability:.2f}")
print(result.feature_scores)   # per-feature breakdown

See examples/typing_example.py for a fuller walkthrough, including scheduling events against pyautogui and contrasting a human-like stream with a perfectly-uniform bot stream.


Licensing

humanio is metered. Each generation/detection call costs one or more actions against your current tier:

Tier How to get it Allowance
Anonymous nothing — just run it small monthly quota
Free account humanio login (no subscription) larger monthly quota
Subscriber subscribe on the web, then humanio login unlimited

Connecting a subscription. Subscribe from your account page, then on the machine that runs humanio:

humanio login              # browser sign-in (gh/gcloud style)
humanio login --token <T>  # or headless: paste a token from your account page
humanio status             # tier, usage, quota
humanio logout             # forget the account

Equivalently from Python: humanio.login() (or humanio.login(token="…")). Only a durable refresh token is stored in your OS keyring; the licensing server re-validates it on every call and derives your account from it, so nothing is trusted from the client and a leaked account id is useless.

import humanio
print(humanio.status())    # tier, usage, quota, reset time

try:
    traj = HumanMouse(seed=1).generate((0, 0), (800, 400))
except humanio.QuotaExceeded as e:
    print("Free-tier limit reached — subscribe at", e.url)

Usage is metered server-side, so quotas can't be reset by clearing local state. Subscription status is cached with a short offline grace window and re-validated periodically. How this is enforced (compiled binaries, a device-bound tamper-evident ledger, server-anchored usage, per-release secret rotation, Ed25519-signed responses) is summarized in docs/architecture/licensing.md.

Try the whole flow locally (no Stripe/Cryptlex)

python examples/licensing_demo.py     # anonymous → free → subscriber, in-process

Or against the real reference server with signed responses:

pip install ".[server]"
uvicorn server.app:app --port 8000           # prints its signing public key
# in another shell:
HUMANIO_BACKEND_URL=http://127.0.0.1:8000 \
HUMANIO_SERVER_PUBKEY_HEX=<printed key> \
HUMANIO_DEV_TIER=anonymous \
python -c "import humanio; from humanio.mouse import HumanMouse; \
HumanMouse(seed=1).generate((0,0),(300,200)); print(humanio.status())"

Useful env vars for local/dev runs: HUMANIO_DEV_TIER (anonymous/free/ subscriber), HUMANIO_BACKEND_URL, HUMANIO_SERVER_PUBKEY_HEX, HUMANIO_LICENSE_KEY, HUMANIO_LEDGER_DIR.


Project layout

humanio/
├── src/humanio/
│   ├── mouse/         trajectory generation, detection, cursor replay
│   ├── typing/        keystroke simulation (simulation/) and detection (detection/)
│   ├── _license/      sign-in, subscription gating, metered free tier
│   └── _shared/       shared types (Point, Trajectory, UserProfile, …) and RNG
├── server/           reference licensing + metering server (FastAPI)
├── packaging/        per-build secret rotation + Nuitka compile
├── tests/
├── examples/
├── docs/
│   ├── research/      the research reports the models are built on
│   └── architecture/  licensing & hardening design
├── pyproject.toml
├── EULA.md
└── LICENSE

Documentation

The behavioral models are derived from the research compiled in docs/research/:

Development

pip install -e ".[dev]"
pytest

Responsible use

humanio is intended for legitimate purposes: testing the robustness of your own bot-detection systems, building accessibility and human-factors tooling, research, and QA automation. Do not use it to evade detection on systems you do not own or operate, or to violate any site's terms of service.

License

Proprietary © 2026 Jayden C. All rights reserved. Use is governed by the EULA; see LICENSE. No source code is licensed or provided.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

humanio-0.1.3-cp314-cp314-win_amd64.whl (623.9 kB view details)

Uploaded CPython 3.14Windows x86-64

humanio-0.1.3-cp314-cp314-manylinux_2_38_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.38+ x86-64

humanio-0.1.3-cp314-cp314-macosx_10_15_universal2.whl (702.0 kB view details)

Uploaded CPython 3.14macOS 10.15+ universal2 (ARM64, x86-64)

humanio-0.1.3-cp313-cp313-win_amd64.whl (594.8 kB view details)

Uploaded CPython 3.13Windows x86-64

humanio-0.1.3-cp313-cp313-manylinux_2_38_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.38+ x86-64

humanio-0.1.3-cp313-cp313-macosx_10_13_universal2.whl (684.7 kB view details)

Uploaded CPython 3.13macOS 10.13+ universal2 (ARM64, x86-64)

humanio-0.1.3-cp312-cp312-win_amd64.whl (591.8 kB view details)

Uploaded CPython 3.12Windows x86-64

humanio-0.1.3-cp312-cp312-manylinux_2_38_x86_64.whl (994.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.38+ x86-64

humanio-0.1.3-cp312-cp312-macosx_10_13_universal2.whl (660.5 kB view details)

Uploaded CPython 3.12macOS 10.13+ universal2 (ARM64, x86-64)

humanio-0.1.3-cp311-cp311-win_amd64.whl (611.2 kB view details)

Uploaded CPython 3.11Windows x86-64

humanio-0.1.3-cp311-cp311-manylinux_2_38_x86_64.whl (889.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.38+ x86-64

humanio-0.1.3-cp311-cp311-macosx_10_9_universal2.whl (654.6 kB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

humanio-0.1.3-cp310-cp310-win_amd64.whl (584.2 kB view details)

Uploaded CPython 3.10Windows x86-64

humanio-0.1.3-cp310-cp310-manylinux_2_38_x86_64.whl (840.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.38+ x86-64

humanio-0.1.3-cp310-cp310-macosx_10_9_universal2.whl (639.0 kB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

humanio-0.1.3-cp39-cp39-win_amd64.whl (581.1 kB view details)

Uploaded CPython 3.9Windows x86-64

humanio-0.1.3-cp39-cp39-manylinux_2_38_x86_64.whl (833.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.38+ x86-64

humanio-0.1.3-cp39-cp39-macosx_10_9_universal2.whl (625.4 kB view details)

Uploaded CPython 3.9macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file humanio-0.1.3-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: humanio-0.1.3-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 623.9 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for humanio-0.1.3-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 30a65139ff092fa810973a01dbee53917979f86f8135725cfe8c1b5bbe731249
MD5 e8e6e5f06a6ddf295aebd0b15a407e4f
BLAKE2b-256 34b32c05ef6cb0f0d5f2c386aadff422602996113c2b79fd05f4342261cabaa2

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.3-cp314-cp314-win_amd64.whl:

Publisher: release.yml on CogForgeLabs/HumanIO

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file humanio-0.1.3-cp314-cp314-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for humanio-0.1.3-cp314-cp314-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 ab6457ab2f8ff79cf02b61221d21313ffe53eb1292d6dbd39e50ba97e20f78af
MD5 84d9cafa4dad8663d22fa67f593c6825
BLAKE2b-256 d31bd87e10a145cf784ecdd57e97f7a168f20547fb7f58580fc0ebbae356689d

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.3-cp314-cp314-manylinux_2_38_x86_64.whl:

Publisher: release.yml on CogForgeLabs/HumanIO

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file humanio-0.1.3-cp314-cp314-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for humanio-0.1.3-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 1afa4c4673a560b25ee47229831da4fc4208cbf54d3b961df7b02c8ede085ed1
MD5 656d917c897c890f6acb87476d9b498b
BLAKE2b-256 d1077632c0e9be25bd994667524a9e41e87d562c772f64016b14adcaf1a24455

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.3-cp314-cp314-macosx_10_15_universal2.whl:

Publisher: release.yml on CogForgeLabs/HumanIO

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file humanio-0.1.3-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: humanio-0.1.3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 594.8 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for humanio-0.1.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 9401fee13467b9c29b46722865b46e74e9524ca0f986b6135afc07fa39922bd6
MD5 2b3d3eaea183051410145b1f9c48ba53
BLAKE2b-256 ff67a947403875d3f85f370041128762f2613d78d9c525ea7dbea4bb81e977a0

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.3-cp313-cp313-win_amd64.whl:

Publisher: release.yml on CogForgeLabs/HumanIO

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file humanio-0.1.3-cp313-cp313-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for humanio-0.1.3-cp313-cp313-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 fb6d296a2ff58345847028e6646ef0bec5467ae2fb61ffe85d2c54c06f85e407
MD5 cdcff0ed41d858bff49ae39fc73f6bd1
BLAKE2b-256 bc712738ac89532fb684f51056176439f85f4040ab1fa1c02441ad62bd52c71c

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.3-cp313-cp313-manylinux_2_38_x86_64.whl:

Publisher: release.yml on CogForgeLabs/HumanIO

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file humanio-0.1.3-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for humanio-0.1.3-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 f9ece47b7a4a9b9e84ed517bf0b16cbc421dae98fa5c179c7e952c7097dc017d
MD5 c650dcaaa038d4496fa679504692e976
BLAKE2b-256 fed03c0bd2cfdef05e3c0df9d49d706ecab839f0583f404b39dd5266a987e09d

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.3-cp313-cp313-macosx_10_13_universal2.whl:

Publisher: release.yml on CogForgeLabs/HumanIO

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file humanio-0.1.3-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: humanio-0.1.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 591.8 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for humanio-0.1.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b84c898c188eb4a759a9c1f2a4725a3c1ed3fb44eea0acaadd432976afe7a383
MD5 7b6c881da7f0f0793499eb9377258514
BLAKE2b-256 37fc342fe32678a8bb3adbfa407e9132eb06498e9ae5d4161f874fdd964d7e39

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.3-cp312-cp312-win_amd64.whl:

Publisher: release.yml on CogForgeLabs/HumanIO

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file humanio-0.1.3-cp312-cp312-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for humanio-0.1.3-cp312-cp312-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 432395d2a6d784620abe893ce0db3c1702c040909f58face657ea06cfe19b542
MD5 98a6f3cc458cb9e3993aaca7d84f3e8c
BLAKE2b-256 d3bbccbffeaeeb5f6c84fc218628e66a26ff4ea71bf78c8d4ecd98bde7051763

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.3-cp312-cp312-manylinux_2_38_x86_64.whl:

Publisher: release.yml on CogForgeLabs/HumanIO

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file humanio-0.1.3-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for humanio-0.1.3-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 952cf7aa1f6df657455d83694230c4661f6118cef2b751a6ffe6d0b2962ecf59
MD5 6ac702f0c537a4b381c1a8791c354901
BLAKE2b-256 a46b6fac17af5cf517fb04b0172f3ed4bc156682a734dfdbd1b2194542873de2

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.3-cp312-cp312-macosx_10_13_universal2.whl:

Publisher: release.yml on CogForgeLabs/HumanIO

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file humanio-0.1.3-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: humanio-0.1.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 611.2 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for humanio-0.1.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 5ff41e6d9c215c61c992fddba7256aa247b8fe294cf90849b7f1e9f61567f49a
MD5 c56915309f2afd4bb9ac4b5d0228e869
BLAKE2b-256 e873130161ef03e65f3580c6de43537f60e397874ce1c3f365e4831ad67b5577

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.3-cp311-cp311-win_amd64.whl:

Publisher: release.yml on CogForgeLabs/HumanIO

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file humanio-0.1.3-cp311-cp311-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for humanio-0.1.3-cp311-cp311-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 d28950df9179f823f85841230c0da88b64b96e1faf3ab31de55aa8d84be047e8
MD5 faffbc2ff12b4108de94dc385ffb0b52
BLAKE2b-256 9d2ff22d3d6ae2f9a99efefe7f8aa84d7ae67317c193990215dd9bfa45076d62

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.3-cp311-cp311-manylinux_2_38_x86_64.whl:

Publisher: release.yml on CogForgeLabs/HumanIO

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file humanio-0.1.3-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for humanio-0.1.3-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 2a1fbb177798aff5430872877c6884b2414d859254dff46dec438e97c1a29ad1
MD5 18dbee06459b14c6168286d64a2d1f1d
BLAKE2b-256 470ee97d7b42248fb7e06dd368aa8e12269a8a645b224c45e8d63dbe0327f170

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.3-cp311-cp311-macosx_10_9_universal2.whl:

Publisher: release.yml on CogForgeLabs/HumanIO

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file humanio-0.1.3-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: humanio-0.1.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 584.2 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for humanio-0.1.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 35b59c773d6f709284c3328e59be3509db634eb88fd8f507ad76cba010a4db17
MD5 544bfab042042e5d45576973972f0209
BLAKE2b-256 6a14d66d5c4dd7d1452c3fda96d0e56ac4138be396da3f9a8cef73da0cbc7b77

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.3-cp310-cp310-win_amd64.whl:

Publisher: release.yml on CogForgeLabs/HumanIO

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file humanio-0.1.3-cp310-cp310-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for humanio-0.1.3-cp310-cp310-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 d91f4398cc281b5592f3f482c3aac2f25d506fc1b4646006310bda0374de0d1a
MD5 264d54f5b75b95f2b3006c380d1b8734
BLAKE2b-256 18fa1f8265f1bdcf488be9c7a15e0eb141ad646cf1e21db3430a149786c9bc59

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.3-cp310-cp310-manylinux_2_38_x86_64.whl:

Publisher: release.yml on CogForgeLabs/HumanIO

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file humanio-0.1.3-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for humanio-0.1.3-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 2188e5cc0ad925d97b66649b089679824e392f9c85a1ab4fe83b16746572ae5f
MD5 f8b9421550fd4ca413a11e7fdfb70ddc
BLAKE2b-256 c0fb4bae6b84ea27d8fa453896150dbcf47c13c1a6765b70ed4740f8f31d41a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.3-cp310-cp310-macosx_10_9_universal2.whl:

Publisher: release.yml on CogForgeLabs/HumanIO

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file humanio-0.1.3-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: humanio-0.1.3-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 581.1 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for humanio-0.1.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 9a3cd68584379e4df84f02cf499a3932f64eefedd001345b39e7715a7f915788
MD5 e20ce58add42fd61963adf8cd4f3e752
BLAKE2b-256 0459a565b5539f6bf64a037b65fdd9d5e1ed201893ee0251d548ac7d5c2bd2fa

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.3-cp39-cp39-win_amd64.whl:

Publisher: release.yml on CogForgeLabs/HumanIO

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file humanio-0.1.3-cp39-cp39-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for humanio-0.1.3-cp39-cp39-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 e9e732bf1aa7f1325c1c766d98c96b37c692e9941908e7f41da54e2eb481fd1b
MD5 4097c215cb0f45c0d6c56c2b3caecb6d
BLAKE2b-256 6d7e2e56d25c04bf7c07d68d28ce7d55b6dff6eb163701669d0f8bdd0395dea0

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.3-cp39-cp39-manylinux_2_38_x86_64.whl:

Publisher: release.yml on CogForgeLabs/HumanIO

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file humanio-0.1.3-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for humanio-0.1.3-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 dc7fbfa51cacdda43477b2d5e1f4ee7ede2b23dbee96ea0f7090a78a9c9320f8
MD5 ed8ba9365b1e96721f8e02ae4d59fbfe
BLAKE2b-256 37e50b4a7b29980e5e3da665c6953d7e7878e87a859717115b65c4a1c9f8521d

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.3-cp39-cp39-macosx_10_9_universal2.whl:

Publisher: release.yml on CogForgeLabs/HumanIO

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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