Skip to main content

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.

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.15.8.tar.gz (95.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.15.8-cp314-cp314t-musllinux_1_2_x86_64.whl (12.8 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

atopile-0.15.8-cp314-cp314t-manylinux_2_28_x86_64.whl (12.8 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.28+ x86-64

atopile-0.15.8-cp314-cp314t-macosx_11_0_arm64.whl (7.7 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

atopile-0.15.8-cp314-cp314t-macosx_10_15_x86_64.whl (8.1 MB view details)

Uploaded CPython 3.14tmacOS 10.15+ x86-64

atopile-0.15.8-cp314-cp314-win_amd64.whl (8.0 MB view details)

Uploaded CPython 3.14Windows x86-64

atopile-0.15.8-cp314-cp314-musllinux_1_2_x86_64.whl (12.8 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

atopile-0.15.8-cp314-cp314-manylinux_2_28_x86_64.whl (12.8 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

atopile-0.15.8-cp314-cp314-macosx_11_0_arm64.whl (7.7 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

atopile-0.15.8-cp314-cp314-macosx_10_15_x86_64.whl (8.1 MB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

File details

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

File metadata

  • Download URL: atopile-0.15.8.tar.gz
  • Upload date:
  • Size: 95.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for atopile-0.15.8.tar.gz
Algorithm Hash digest
SHA256 76c42f33f151947dbe533d4d0a04b60623b84c38ced6e40d17c3099e5f59b955
MD5 7d15aaf67c15496db74867b337272a1d
BLAKE2b-256 4290b95e66acbb44b171f388432e0a38469913f57b472305c13357acfc98b8bf

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.15.8.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.15.8-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for atopile-0.15.8-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a83bfb3b76eb535fd5034ed59317ebf73f213252ec2647e7bb1f8a1c90f43e41
MD5 701f3afddfd46971de3590595c78769e
BLAKE2b-256 225b314a415aafbad5cbef61b9dfbbbbd25160a4ad0591ac70bab7aa0e36cb6e

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.15.8-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.15.8-cp314-cp314t-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for atopile-0.15.8-cp314-cp314t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 73604e345de3f00f03b06fb4f3896d38a9a227f243d4ace6b311c487179d5d1a
MD5 0e23bb122a338a5f19a5ffa55bdd6d4f
BLAKE2b-256 15ef02586c1063850e358151b6259e9b27975e8a38909b0522e1d376dc37b28b

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.15.8-cp314-cp314t-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.15.8-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for atopile-0.15.8-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4b03b08dab5d11837840eba31c92d3dd1a90b7b0617dbce9ab91f1054c29f831
MD5 b8af12b1e41276de6a55bf6ae8cd15f6
BLAKE2b-256 eb9f8876f8821038a904836bde09c95678cd858a97da268af341d1a9d7b5d11b

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.15.8-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.15.8-cp314-cp314t-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for atopile-0.15.8-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 2ac549c85d0984ff2411504e8b89240ee5f5b3040ce9bd0e26558a65781c23c8
MD5 85d8273b3e24e9275fb1512fe7176959
BLAKE2b-256 a55d77749f098f7c49174de3d63b397686c5e8c0c610cafa052ecd2b60b52f8b

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.15.8-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.15.8-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: atopile-0.15.8-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 8.0 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for atopile-0.15.8-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 8961abf904387d39c1ddbdbc8ee071dcd60db70258b9ca19bb7010b01d0962e9
MD5 9a3956a1df7caa3aaa73be9c59c1b732
BLAKE2b-256 9cb945e52b13cf36658b92cb653c1318126ad4f117b5c13467174c13852615bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.15.8-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.15.8-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for atopile-0.15.8-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2ca6594e098c67dbae43a8ad0277acf7e1299de3ffbf2d89f51a5c4ac4e65286
MD5 a015beb3261bfa4713233f2a72718783
BLAKE2b-256 f9344e8e2765e00d141f9fd41402fe612911e3cd6c0966086954fcd64e63bab9

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.15.8-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.15.8-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for atopile-0.15.8-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1ad141f38415915a56db3116d1bf428c6014c257db51ee5f4f6aa1502c568002
MD5 9f21dc72251f41f4d736b2cd31159881
BLAKE2b-256 8a80abf179dc614fd7f17e6b27c4757d0a6fd4b1d01b0c80b05ccbe29f12b7fb

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.15.8-cp314-cp314-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.15.8-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for atopile-0.15.8-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8c7c1695596df2dcde721a6b3c07b03425287608d2fef0d0a16f8d5775ae6d97
MD5 3e71b936ba8a99159cb1ae16aeee8246
BLAKE2b-256 01125108df5816f8e5514aa09cb8ea675ab95b8161f48711f0c861dfae171d46

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.15.8-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.15.8-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for atopile-0.15.8-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 419e4b6d8bfc84135affbc5b5db997998bd22f6e0f64c72041560b3658f89009
MD5 07bbb642b95e61b9cdf3b4a21f9b03f0
BLAKE2b-256 8146dcd90f8f3e445669126561b7890329596d0f7ce3dc6f984e8b8332338344

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.15.8-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.

Release history Release notifications | RSS feed

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