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.15.5.tar.gz (95.4 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.5-cp314-cp314t-musllinux_1_2_x86_64.whl (12.2 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

atopile-0.15.5-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (12.2 MB view details)

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

atopile-0.15.5-cp314-cp314t-macosx_11_0_arm64.whl (7.5 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

atopile-0.15.5-cp314-cp314t-macosx_10_15_x86_64.whl (7.9 MB view details)

Uploaded CPython 3.14tmacOS 10.15+ x86-64

atopile-0.15.5-cp314-cp314-win_amd64.whl (7.9 MB view details)

Uploaded CPython 3.14Windows x86-64

atopile-0.15.5-cp314-cp314-musllinux_1_2_x86_64.whl (12.2 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

atopile-0.15.5-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (12.2 MB view details)

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

atopile-0.15.5-cp314-cp314-macosx_11_0_arm64.whl (7.5 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

atopile-0.15.5-cp314-cp314-macosx_10_15_x86_64.whl (7.9 MB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

File details

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

File metadata

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

File hashes

Hashes for atopile-0.15.5.tar.gz
Algorithm Hash digest
SHA256 c86a1e3d545561fc40036ad12dd6cd0d02feded93f4e86822a2cdb6206d06b8f
MD5 c6217987ce43535a464d788ecbb916f2
BLAKE2b-256 91ca5d54fdec4803b3953d93ad473b8c3b5aaa210278425289ea4d154f557abb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.5-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9eb0d58523bba9fd36f2dcb0903612afc894d65559fc1a38f89fe080c52a644e
MD5 3fde42996e00adbc812ff7349e5a03c1
BLAKE2b-256 6d79bf0a96b169a5b1bdad6c595f1d8a568156f7ed5735ac467d679d0c255b5a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.5-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 52b2aafea7958875d4e92f90fceecad8f6c253e24b564447226e4f8958b65f72
MD5 02902ab824bd41a4707d2c38f1129eb0
BLAKE2b-256 76347819398d6cb93a38d5a91651ed8c27c4cd94584691c1e16c47aaa3a043a2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.5-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2976abb4ec22206ddd713e0abccd738cbf8796dc918d4ede95f5ea768758f483
MD5 da429e2303a026e0b08b8a98d9c5d0d6
BLAKE2b-256 07f39f9cda564a658a882aea3f63c1aa01467426205966764c49309672be6a89

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.5-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 526254752706239f179c67f143dfc164ace855c5e3189551e2eaaec9890dbe18
MD5 f4e5b01f74ee7c536bc6721533e5dc56
BLAKE2b-256 07ac19ab10404187534fc43f401d381327179fa8aa59e5fed431ae7611014755

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: atopile-0.15.5-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 7.9 MB
  • 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 atopile-0.15.5-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 fab175d817e4671b6ac2e1fac6f94535d60dbc549e32c7d8de56e62c590c3094
MD5 8c2ba8f6a307379ea19f218c0b9979ab
BLAKE2b-256 45e2e49ad13fa3c5d1d2545e4fd444b7e2bc7e0057088ab62c0960b6dbf771bc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.5-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bbae061686a68096b7e996db24fbdba82e817fa5f2851c262fdb7bb2d46a1da5
MD5 5bc5c579ab44831f5ca1a9b21dd6fa7a
BLAKE2b-256 4ab87d9da6a97ddeb3bc5f6b84b309f09b6797be2d44fdf1b981ba93d495c7ce

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.5-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7d471d62f0d5fc54630d0c194d3f14ece1d4dbda2b3c1f5169b6f86bfb8fe09c
MD5 b889baa6cb89c81e8d9d8deeb90c3131
BLAKE2b-256 381be3448177015f520ad9fd012ec19351036b82e8b906d49f14390a515e2a7a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.5-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9cfc604869c88f11ce22c111b590be673062f6462feb8c37746739a8ee146077
MD5 f6ca08a8ecb3fff74d8af25f9878a7b3
BLAKE2b-256 c52b7f2207f47c51e0f5ac91f8ea3f33687aca242b504ddce5876039027bd3ca

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.5-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 e79c10246a0712eda775801ebcbdaed675c2092757823a9478d1f8f5f670dd8b
MD5 4eda26a69ed6695c95de300a02b2c6b7
BLAKE2b-256 b63857effc5cdd109b26523d58ba929010c80cdfafe09c276e3e7c5f5a56e383

See more details on using hashes here.

Provenance

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