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.6.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.6-cp314-cp314t-musllinux_1_2_x86_64.whl (12.4 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

atopile-0.15.6-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (12.4 MB view details)

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

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

Uploaded CPython 3.14tmacOS 11.0+ ARM64

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

Uploaded CPython 3.14tmacOS 10.15+ x86-64

atopile-0.15.6-cp314-cp314-win_amd64.whl (8.1 MB view details)

Uploaded CPython 3.14Windows x86-64

atopile-0.15.6-cp314-cp314-musllinux_1_2_x86_64.whl (12.4 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

atopile-0.15.6-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (12.4 MB view details)

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

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

Uploaded CPython 3.14macOS 11.0+ ARM64

atopile-0.15.6-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.6.tar.gz.

File metadata

  • Download URL: atopile-0.15.6.tar.gz
  • Upload date:
  • Size: 95.6 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.6.tar.gz
Algorithm Hash digest
SHA256 f8093a04f7f59194a429e44640945a000ab4c25b0aaf418c7f217a725e9c8948
MD5 391210b6ac0fb6c25f5d0b4a7ad46f37
BLAKE2b-256 80098dc49a2a67435753febcf8ad3605f44434f72905e40f73aec5687b9405cd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.6-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 83c43446244d79591220d269cee74f316f17911095180eb5d3d2c8c6af9888f8
MD5 62bafd27ff019e49f8ea32be1d28539b
BLAKE2b-256 6cf37738c1ca2b42ad66071a76c373f34ddfe88782701e3bb338dcb0b6c182d1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.6-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c17622c1908c59dccb564de434f7ca99be95490a3393f22ef82eea30951f5450
MD5 6fe29be78648379bb32e5881cd94eb89
BLAKE2b-256 b233bda37bd10369e829d82f6e5ed9e18fe4bde053fe1d263f35a7d0d499ac77

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.6-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dd6c6378d1fcae9245236cc5df5d9ca505fe215978bdf549f36c8b7e83425a17
MD5 2b566e180a97f4cdc61f103b8d451351
BLAKE2b-256 70bc60c7bdb5d3eafc34c892bc5023b063920f79f136292f9d3b5126b652ecd7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.6-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 5bcad1883df0e933fffe79c30868e5a72109feb42898efec479f04e5f3e4aa90
MD5 0110c66fc6d46adcb5fcf1c89b854953
BLAKE2b-256 2c3027041b8881749ae3fe6316bd242ad1738d91e985ff5a76e79c2b08fa3834

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: atopile-0.15.6-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 8.1 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.6-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 8b53fb6401fe9889232d6722d1136bf26cfc73afbedf3fc031fc175f218fac2e
MD5 bbb8052adbc5770831ecf13278d927dd
BLAKE2b-256 b70405d3d9b117c7d526667e3347fb14d88f552e449e59766e978dd428cdae97

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.6-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 127cbc05e2392ce57aed0e6e6e85f617397dbe0364b3754ecb6b79f514eddbf0
MD5 b979dc439781b81b0bf1aa424195d96d
BLAKE2b-256 13ab59a99170f8b2b14e1b4ba39b8d88b89e230c2eff1bc1842c3f7548767ffb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.6-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 677bffadda60baa9c3c55731bcbd0217d68ac7d09368a79f969be922a74e2f49
MD5 dc60ef74d3c298773f446a6ac34535c2
BLAKE2b-256 ce4f51f5fcfc9718fe2b061bdbf55a63bb0a38cdc1ed661f05623486b9c2376b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.6-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b891bc27476d88e972f6317e268aadb483feeb991dab42e69f73b5b026afa088
MD5 660cdf5c3b5adf4cdaa557b1dcdaf0e1
BLAKE2b-256 3286335a618520326f06df56a61a4cc60e77ff83c116333a6d064a4affbceca0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.6-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 50d58495b38e96ef21de029bf5309683e5e5cc67d19d63fa7c63a24140c289d1
MD5 78c502b5852effd805d1a091ea558fef
BLAKE2b-256 c5ef5f0bb87fa5e2ca9eb7088d134494ca58cd4ac96c08d22532ddef1fdc3e79

See more details on using hashes here.

Provenance

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