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

If the humanio command isn't found (its Scripts dir isn't on your PATH), the no-PATH equivalent works everywhere:

python -c "import humanio; humanio.login()"
python -c "import humanio; print(humanio.status())"

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.5-cp314-cp314-win_amd64.whl (625.5 kB view details)

Uploaded CPython 3.14Windows x86-64

humanio-0.1.5-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.5-cp314-cp314-macosx_10_15_universal2.whl (702.5 kB view details)

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

humanio-0.1.5-cp313-cp313-win_amd64.whl (596.5 kB view details)

Uploaded CPython 3.13Windows x86-64

humanio-0.1.5-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.5-cp313-cp313-macosx_10_13_universal2.whl (685.3 kB view details)

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

humanio-0.1.5-cp312-cp312-win_amd64.whl (593.1 kB view details)

Uploaded CPython 3.12Windows x86-64

humanio-0.1.5-cp312-cp312-manylinux_2_38_x86_64.whl (995.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.38+ x86-64

humanio-0.1.5-cp312-cp312-macosx_10_13_universal2.whl (661.4 kB view details)

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

humanio-0.1.5-cp311-cp311-win_amd64.whl (612.3 kB view details)

Uploaded CPython 3.11Windows x86-64

humanio-0.1.5-cp311-cp311-manylinux_2_38_x86_64.whl (890.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.38+ x86-64

humanio-0.1.5-cp311-cp311-macosx_10_9_universal2.whl (655.2 kB view details)

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

humanio-0.1.5-cp310-cp310-win_amd64.whl (585.5 kB view details)

Uploaded CPython 3.10Windows x86-64

humanio-0.1.5-cp310-cp310-manylinux_2_38_x86_64.whl (841.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.38+ x86-64

humanio-0.1.5-cp310-cp310-macosx_10_9_universal2.whl (646.6 kB view details)

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

humanio-0.1.5-cp39-cp39-win_amd64.whl (582.4 kB view details)

Uploaded CPython 3.9Windows x86-64

humanio-0.1.5-cp39-cp39-manylinux_2_38_x86_64.whl (834.4 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.38+ x86-64

humanio-0.1.5-cp39-cp39-macosx_10_9_universal2.whl (626.0 kB view details)

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

File details

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

File metadata

  • Download URL: humanio-0.1.5-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 625.5 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.5-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 bee43d1c128da6f2f09bbd063a8ef12d7f05aa07042852bf5734612634367593
MD5 002934aa3196a39877bc0f1ffc20a80a
BLAKE2b-256 8a411331a25ddb25c74a942363916a10c17ca1ca7c8c0df7c7cdb806de7953a4

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.5-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.5-cp314-cp314-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for humanio-0.1.5-cp314-cp314-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 dffb5c41a9a86dbd7faea41d1bedd6675bed22995d67d3537947580e0f37c16a
MD5 3251ba676a6f8c7479be431849b4b836
BLAKE2b-256 88266ee720e6f58ff42078a980c3eaa2e81948617a696f965c9c04ca1a883414

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.5-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.5-cp314-cp314-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for humanio-0.1.5-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 c7b26ea314899893da1a82dcd8813d56f4d9f6a676f691169488e6fd197ba697
MD5 19381489bbebde7865e7129eb20f899e
BLAKE2b-256 232e90bbbd8c4cf7207efe02f387cff3c6e371e4c859d8ad4594d9b6f936ddf6

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.5-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.5-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: humanio-0.1.5-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 596.5 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.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ecc80c655cbabdc514441d23bf6404085d7bab7ac62ceffac69f6b82804166bc
MD5 accffc73c99d262db38b5cdcc35893b1
BLAKE2b-256 e7ed7e39fe55fa897a50435d23115848f950306a12fbe7aec6af14ede1965211

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.5-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.5-cp313-cp313-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for humanio-0.1.5-cp313-cp313-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 13629c44714caf644ec60ec8086cd6af39d4e277fc49bdb3480dd3813b241d14
MD5 df7b27b3489eab3514a07a29ef2614ec
BLAKE2b-256 c999e02996ee412a9a1bd4201b643100a01cbbb7458fd5bc5ed45bbf060932c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.5-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.5-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for humanio-0.1.5-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 1400a076e05a0efb6dd319181c14324021cef7681d8a1564d8e7b2e6e487bbc8
MD5 fa4dbbbd9d0db27e77f1589370e317e7
BLAKE2b-256 7e2f10e2dbfa4a8f3dc39f199412f3682c8292cf31742ce119a2c4cac866f765

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.5-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.5-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: humanio-0.1.5-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 593.1 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.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 52d9cda68a779194d9b00bcb8853b23d1f4b517c4ad784ff5dfb5df5da354083
MD5 2220c3f68f303b1cd2b9bc5a3c90378a
BLAKE2b-256 6663620435be4060513a9f371392caff94ef8ca251e1e93d4fd260eee72843e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.5-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.5-cp312-cp312-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for humanio-0.1.5-cp312-cp312-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 f9abdf0bcc5f384060e6fa612652e423de1b2a1d4a18d042355fc1e8bc9a9807
MD5 64d62365895cab0a6680c7e0c8f03d40
BLAKE2b-256 2608d1996c2990f8a3c8e6d9cc4eab8dc4c4536fc30a3e12bde103cf4c7bd54f

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.5-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.5-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for humanio-0.1.5-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 fc1fac561f6bf47fbcc038307cb1aaac44b2768bfd712825410480e8affb5b4c
MD5 1eff784116f02bd8e62adb0a465d50fa
BLAKE2b-256 edc432991f8ea9392aa3c56752815e336754bb2c42d7f710c66f211be8b73ea1

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.5-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.5-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: humanio-0.1.5-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 612.3 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.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6058afc901e40652551889fba3f6c31bf4861bb78c8ddd5b703c6ecde93e9d89
MD5 1aca1ba303ca377951fdeda3e7c787e5
BLAKE2b-256 db159a8a4529f47467ab019537f8ec6973e0124d33dd69b080f6f691e6ce33aa

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.5-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.5-cp311-cp311-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for humanio-0.1.5-cp311-cp311-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 7dd08f11105fdf143899d9a847913e6b09b937fe975889f5a2166697209f6123
MD5 4860b1a370a48d942537f1304b9ef2b1
BLAKE2b-256 a08f0402be5fb0ef3bbcb3ee6eb156a54fee8812a6db52c8662f0c026566648b

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.5-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.5-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for humanio-0.1.5-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 04a1129f5aa8ce46e6b3ec82e3d126395531e06eb38b31425f46cd94da58a151
MD5 cb7abc3b378c18786445f8dc24eaa33d
BLAKE2b-256 f1c357599d9f73330951d2e9599f3442656f4c55a2fae88fa7326387a8878b14

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.5-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.5-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: humanio-0.1.5-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 585.5 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.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 d510003f4828497172efb7a15c5eca9994355cf3a0d16d5a6096f3af3471ff35
MD5 f0f98ce57efdefe16e0b23b3ba755001
BLAKE2b-256 31d0e96c072c3f35c57b56849e6c1a0a347f1867fc56356ffae86265bf6337c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.5-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.5-cp310-cp310-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for humanio-0.1.5-cp310-cp310-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 56a090851f79f95bdcec861d8deee1504d3cb1a4365daadb8c6dd2a5e130249f
MD5 e50bad34d958fdcd5b8ec042b745325d
BLAKE2b-256 b25765ff8347949b56b3daa04c694b11d4fcc665d0c677b30fd8fe0cec62c762

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.5-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.5-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for humanio-0.1.5-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 c9405e428e9da820dad98f915a6d4bc87c406ff0cafecd4c90953a71d0540714
MD5 f6c61b08ad0d212afe2f7e7566d65047
BLAKE2b-256 16c812fb15b1810cfdf4b51251a9a2d764987c3f4ce088e8288bf539578ba662

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.5-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.5-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: humanio-0.1.5-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 582.4 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.5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 93f46e1abdffe2da707b92f6976cc9f0aa2025790f7c7c69f7984e5b58b1533d
MD5 02de4ac4b889efa37888c9a3adf62784
BLAKE2b-256 76af773853e7ee4b6cc61d830cc3b3e9f4527a97672a8cfddc3306252cbd9767

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.5-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.5-cp39-cp39-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for humanio-0.1.5-cp39-cp39-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 b925d1cd0f3f09aeec20c0bd866c127bfaadbb21ec50102dde671afeaf4a383e
MD5 2475c42776f9d78cd5dd4730d5fed80d
BLAKE2b-256 30a9dcf3bda972d2473f641f8791c825b8a1835d08f3a17ef708f3b5d0c98551

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.5-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.5-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for humanio-0.1.5-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 9dd3d6e4e226ba4863db5984ad269f96d88c5d41e2c72db5dd794490666a0bbf
MD5 a935e2db31eff00ccf71e8a5e7728f51
BLAKE2b-256 fa99bcc1db06d78d7299f32dfb1b99ea22e083f3ff042eff9098aa87501500ab

See more details on using hashes here.

Provenance

The following attestation bundles were made for humanio-0.1.5-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