Skip to main content

A toolchain bringing the best of software development to the real-world!

Project description

Shows a black logo in light color mode and a white one in dark color mode.

PyPI Docs Packages Discord License

Design circuit boards with code

Write hardware like software. atopile is a language, compiler, and toolchain for electronics—declarative .ato files, deep validation, and layout that works natively with KiCad.

atopile editor with a project open

Why atopile

  • Reusable modules instead of starting from scratch every time
  • Capture intent with equations directly in your design
  • Automatic parametric picking of discrete components

Install

The easiest way is via the editor extension—it installs and manages ato for you:

Advanced setups and CLI installs: https://docs.atopile.io/atopile/guides/install

Quickstart (2 minutes)

  1. Install the extension (link above)

  2. In the editor, run “atopile: Open Example” and pick one

  3. Press the ▶ in the ato menu bar to build, or run ato build from the terminal

  4. Open layout when ready

Notes:

  • The ato menu bar is in the bottom-left of your VS Code/Cursor window
  • KiCad is optional to get started. Without it, you won’t open the PCB, but builds still run and update the .kicad_pcb. Install later when you’re ready for layout: https://docs.atopile.io/atopile/quickstart

How it works

  • ato is a declarative language for electronics: modules, interfaces, units, tolerances, and assertions
  • The compiler solves constraints, picks parts, runs checks, and updates your KiCad layout
  • The extension adds language services and one‑click controls

Learn more: https://docs.atopile.io/atopile/essentials/1-the-ato-language

Where atopile fits in

High-level steps:

  • Requirements — capture specs with units, tolerances, and assertions
  • Component selection — parametric picking, reuse proven modules
  • Design capture — .ato modules and interfaces compose your system
  • Layout — place and route in KiCad
  • Checks — run design checks locally or in CI
  • Build outputs — BOM, fabrication and assembly data, reports
  • PCB fab/assembly — send outputs to your manufacturer

Example Projects

Packages and parts

Compatibility

  • OS: macOS, Linux, Windows (WSL recommended)
  • Recommended editors: VS Code / Cursor
  • EDA: KiCad recommended for layout; not required to start

Contributing and development

pytest -q
  • Fast worktree setup (CoW-clone .venv + Zig cache/output, then path rewrite):
ato dev worktree <suffix>
cd ../atopile_<suffix>
source .venv/bin/activate
ato --help

By default this command starts an interactive shell in the new worktree. Pass --no-cd to skip shell handoff.

Support

License

MIT. See LICENSE.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

atopile-0.14.1010.tar.gz (17.6 MB view details)

Uploaded Source

Built Distributions

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

atopile-0.14.1010-cp314-cp314t-musllinux_1_2_x86_64.whl (12.0 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

atopile-0.14.1010-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (12.0 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

atopile-0.14.1010-cp314-cp314t-macosx_11_0_arm64.whl (7.3 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

atopile-0.14.1010-cp314-cp314t-macosx_10_15_x86_64.whl (7.7 MB view details)

Uploaded CPython 3.14tmacOS 10.15+ x86-64

atopile-0.14.1010-cp314-cp314-win_amd64.whl (7.7 MB view details)

Uploaded CPython 3.14Windows x86-64

atopile-0.14.1010-cp314-cp314-musllinux_1_2_x86_64.whl (12.0 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

atopile-0.14.1010-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (12.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

atopile-0.14.1010-cp314-cp314-macosx_11_0_arm64.whl (7.3 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

atopile-0.14.1010-cp314-cp314-macosx_10_15_x86_64.whl (7.7 MB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

File details

Details for the file atopile-0.14.1010.tar.gz.

File metadata

  • Download URL: atopile-0.14.1010.tar.gz
  • Upload date:
  • Size: 17.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for atopile-0.14.1010.tar.gz
Algorithm Hash digest
SHA256 e3b92d75e60f5ff628b8882061cd92d522982f998c8cb0487d150c6fa5c9e6ce
MD5 e7993d47fc7e5a4124ddfa182a735ec6
BLAKE2b-256 912a5c12f60f61337a5706a82ee60c683e93ecfdc9b65d17359075eab798078a

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.14.1010.tar.gz:

Publisher: deploy.yml on atopile/monopile

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

File details

Details for the file atopile-0.14.1010-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for atopile-0.14.1010-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5c54df183f3b8deb61d3124877328bbdd6dcd2a9163e21830243261470edca02
MD5 b53c4584ed6adf821156c58d110105fd
BLAKE2b-256 173e045452ee631a212e895f1340973d4787810fb2de2b2229eebab2f8fedc42

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.14.1010-cp314-cp314t-musllinux_1_2_x86_64.whl:

Publisher: deploy.yml on atopile/monopile

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

File details

Details for the file atopile-0.14.1010-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for atopile-0.14.1010-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0ddea700572e79286a7d8fe3f91f5f05bda612592c42d2ef9edd40446d779fad
MD5 03ae30f51b5695c9a52a12af6765d0cd
BLAKE2b-256 ebda91c366b8280ae0aa2484acfbcaab309416b7283da0ab239015e639e04d36

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.14.1010-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: deploy.yml on atopile/monopile

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

File details

Details for the file atopile-0.14.1010-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for atopile-0.14.1010-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3bb12f4686b75d63b324669f09a4a8fdac77cbff1c214ff32db734cd6f73ba8a
MD5 3447d2c9676d4504f4bf46a00972d348
BLAKE2b-256 0abfb89c1f4d62393a7f22d1d166d1316ba84f39e71a3bbeeaad8444fd3f508f

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.14.1010-cp314-cp314t-macosx_11_0_arm64.whl:

Publisher: deploy.yml on atopile/monopile

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

File details

Details for the file atopile-0.14.1010-cp314-cp314t-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for atopile-0.14.1010-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 86175ef7a0b3a52fcb9231a60e61ef5c5acfe8fcd38903495a97cd947ac96666
MD5 8aa52ed7e97aa55d292621917b6cff54
BLAKE2b-256 e121403e83dd40caf722be314130a7ccb071e940dd38385f20a227435144ef91

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.14.1010-cp314-cp314t-macosx_10_15_x86_64.whl:

Publisher: deploy.yml on atopile/monopile

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

File details

Details for the file atopile-0.14.1010-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for atopile-0.14.1010-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 99b83395020587570c29639252c319ad0f3ab815e2e19c9e395ae120221fd379
MD5 9cf27d2d7b18dbcb700d32b12c9d4ea8
BLAKE2b-256 9b78f93f6a2df88b9a0d2649c967310a27d3cbcf693b4b5dfd707cf347d34b0e

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.14.1010-cp314-cp314-win_amd64.whl:

Publisher: deploy.yml on atopile/monopile

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

File details

Details for the file atopile-0.14.1010-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for atopile-0.14.1010-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ceb5e329559e6523c5468e426feef7f73c8f520498214e5fee58246d1b391a27
MD5 2c5f65bb3f2b5a4f2b8fa9afd90beae5
BLAKE2b-256 ed9784cc5fcda012287b29a955703635698aac35a16557880716f7cb9057271e

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.14.1010-cp314-cp314-musllinux_1_2_x86_64.whl:

Publisher: deploy.yml on atopile/monopile

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

File details

Details for the file atopile-0.14.1010-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for atopile-0.14.1010-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 41f727420988fbb662619012ccdd6e07292fd260fc4deaf4649bdf9ae0004ba3
MD5 84aa9929fba8da097ad6ca66ab05bdbf
BLAKE2b-256 359c567e90f34ae436f9fff1eeb1b915f5e39e8568f7037f411a252474a53422

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.14.1010-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: deploy.yml on atopile/monopile

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

File details

Details for the file atopile-0.14.1010-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for atopile-0.14.1010-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 677eb2ad6fad4f9e6496157db1183d765e93bf26936be2b18b783a4320f2f7cc
MD5 4026e19a277015c0411671888db5c2ef
BLAKE2b-256 fefb97d4ea961489b7032ebd13510f335c4fed277d44d2e1a885d90a1de0e236

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.14.1010-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: deploy.yml on atopile/monopile

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

File details

Details for the file atopile-0.14.1010-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for atopile-0.14.1010-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 e8c0f0870be1ca5286dd4b1b77ce165803a7b78df3582db7edc3f1dd60957694
MD5 7cb71b7f768c9cdeb2f303b0744d2025
BLAKE2b-256 6d31df71973113e4ddf7863b6efba69c0a559d49a529a35aa1b58d4e51228580

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.14.1010-cp314-cp314-macosx_10_15_x86_64.whl:

Publisher: deploy.yml on atopile/monopile

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