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.1009.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.1009-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.1009-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.1009-cp314-cp314t-macosx_11_0_arm64.whl (7.3 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

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

Uploaded CPython 3.14tmacOS 10.15+ x86-64

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

Uploaded CPython 3.14Windows x86-64

atopile-0.14.1009-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.1009-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.1009-cp314-cp314-macosx_11_0_arm64.whl (7.3 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

atopile-0.14.1009-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.1009.tar.gz.

File metadata

  • Download URL: atopile-0.14.1009.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.1009.tar.gz
Algorithm Hash digest
SHA256 b47bdff28d92fa75e335c04b50a3312f1ae3935ef64c746e6d9c39ef905271d5
MD5 7a3e7365ba364be56fcb49d1a34511b4
BLAKE2b-256 a2e8e733b6f34f38976acffcf2f003c166ba2241d6d4631cf775e77601d689fb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.14.1009-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d61572eb0a8c13e990a94c78bb4b86644c141fbebd35cddbfb2d6879f321d046
MD5 67965a7c89ae962d60c6b8ef933f4a63
BLAKE2b-256 58690eba30b78de64a770c64b70d2f6871774207f94e93c0f9fe3ba653b3459e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.14.1009-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f4e3558255a55c6a4582b83fff996adda0046def770dbe596a0a34c964d74b18
MD5 05daca2bcffec00437e2dddbeab35fe4
BLAKE2b-256 1ed20641f2e991184f851a101ea2851a54809b481ba8823ccdc34d67c444981a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.14.1009-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b3fbf78a5815460178f3a0468096bf29f96d5fb537c53b81b338710cb143f260
MD5 c7e7b1e850d1336c0a10bf388494bbf7
BLAKE2b-256 7098010837a45b06304736f098307c21b254a304e192664f2b70029401018d5e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.14.1009-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 c368c7eaa7632a7d118b726bca1d9e38e57626a921cfac0cc7c0aeece7f9a32c
MD5 6f5fac3dd51423fe7ca12c8bc85555db
BLAKE2b-256 2c9a513030ace788da3597e80f61e275f1378cc9be11cd1d2feef63f861e71a3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.14.1009-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 a52ad2a245093631295b1adf920bef18eaaf954d1d125f0e6c1e79248302933f
MD5 b61cc657b4b52e818a38f3ad4f13680f
BLAKE2b-256 328d1deb3bfb4d89149c004d3256a995c573577eecd96f06068a702ced2a90a0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.14.1009-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c07c4b47d1e017ccc1650c2aedf48d729317f2f9321b9b119b6f18433002e926
MD5 c6912145aa8800beb5df748c91f61a45
BLAKE2b-256 e6c272dd14bab634e3f4838de5262b65066428fb982df5084e5920b00bddcfff

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.14.1009-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7459ad9a03ec269ddb5dd0ec51a0f87e85fec9f001a8dc1e9ee2add0ba4171dd
MD5 a1aa5b3f08026e62878445c298231737
BLAKE2b-256 28290dc3271cc51d90f9db637dc755867632f56a607974bc01b1368cddb0933a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.14.1009-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 20db0cec00ef8a430f1689f9fc794fcfff85da9ace0b765299cbcce2eae32782
MD5 e10c207e73ee32a39178289294a070f1
BLAKE2b-256 61cf0562cc835fa1d21bdf81fb9ea48ab18fe2c12c4d8ad5a0239a0c22a9cd03

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.14.1009-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 35c18dd20f35c286064c98702e3071273feea0f7e0bed3b7e471535461d60e3e
MD5 9c7fca34c16ccc0eeabd81bbde7d0352
BLAKE2b-256 b5f1fa0f0435378416f4eccaa15441d9afc593dc28260f1d13b09d6eb89df835

See more details on using hashes here.

Provenance

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