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.3.tar.gz (17.7 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.3-cp314-cp314t-musllinux_1_2_x86_64.whl (12.1 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

atopile-0.15.3-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (12.1 MB view details)

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

atopile-0.15.3-cp314-cp314t-macosx_11_0_arm64.whl (7.4 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

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

Uploaded CPython 3.14tmacOS 10.15+ x86-64

atopile-0.15.3-cp314-cp314-win_amd64.whl (7.8 MB view details)

Uploaded CPython 3.14Windows x86-64

atopile-0.15.3-cp314-cp314-musllinux_1_2_x86_64.whl (12.1 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

atopile-0.15.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (12.1 MB view details)

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

atopile-0.15.3-cp314-cp314-macosx_11_0_arm64.whl (7.4 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

atopile-0.15.3-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.15.3.tar.gz.

File metadata

  • Download URL: atopile-0.15.3.tar.gz
  • Upload date:
  • Size: 17.7 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.3.tar.gz
Algorithm Hash digest
SHA256 cd69d87180923368dc7d437f1cfd5679367b45fd725a216769a63d31a05997fa
MD5 cd9ead3b02c1398be1bc3c052143ed5f
BLAKE2b-256 db07927d4a381e43fa47c50bdc998a134bbbafa1560412153d794dfde2035c4e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.3-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9eb21146e72a5dafd439be0a31cfa61562fff10f7bf87a807ec261f632172d7c
MD5 28fa53cf0ccf0274cddc541e7e2623d7
BLAKE2b-256 a6c31d638c84405463909c0ee1c31f93a37474ecb788cdec8f8059d77b93b30e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.3-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 66be3f63a7763d5cad5b18d254437b72ef0da1aa0f53697f5b1f9df3ea76bd4c
MD5 db1342a7296f338f571de8efa02b8b3c
BLAKE2b-256 20e3738b13d19e7f9eb2d2dd8d13791a542ed7c7052486c9c1000c360ab9f62c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.3-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 025612c0d06fc7821684845c488254f105653dc1a4d0cfdedb4e895d2868d0d4
MD5 26b1bee4495affc6423c1eae0b284b75
BLAKE2b-256 ca0cf239b9a5623384ae89df9264c5302a8ff741468710a7ab95b94514afaf08

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.3-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 3be4fe27e1afb148847b4a10e763fd6623b8c076395dd10600870d05034f4c7a
MD5 ed2a3a9199b850e26a016ff4cf680905
BLAKE2b-256 1d7a91276f52077777a8c80c90ae064d60707efe34a7081574de1411fd408ae8

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: atopile-0.15.3-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 7.8 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.3-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 4bb355e036f0897805c3035ccae3e3ac9e7df0c0b72f00f19250829f64c4d4a2
MD5 926f3688d2b95f3d7ebf8a51f38254d7
BLAKE2b-256 dc40e063c49f386f046cdeede8e1e804e0d48504b2338104119784fa955b81ea

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.3-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 286f35456911d48cc36cc8b38273cbdade3a3dc181e1154ed58dbd1afbcc382b
MD5 3a8a09805dfd0bd278c19c85a071332d
BLAKE2b-256 0e5a37241e4e525791faa42348e586f23b822c44ffe59e523b388b6bdbffc7d6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d09d33131b7304e016804dc1d2ade9337fe1dca129232b9887b68eb746c72704
MD5 c39395d3a0a1a3a7b1e30acbfea16254
BLAKE2b-256 79bdc8a62a15ea5acbf68dfdff2b8275a7fea5d957155bd819859d7eeddcd7a3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.3-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 08e7a169a394afcf9a1c3daadd2565ece007ed68fa11ebef658664341d0bc624
MD5 8b8a473a2b1dab6d1864530e2e00fcc6
BLAKE2b-256 c81ee705367816eff8a65e8444e9c6f0c482a4270a8718c146d61fedd8e5e4a2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.3-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 c8d327c7bbfd6c1d339bf069718987e71f8743c4c42ec17da5e46ed0ca04ddda
MD5 9bb2343471da7a9d45875a5da5c8607b
BLAKE2b-256 8c265c7f3c8cfaed2f9bd78433a6ce413005013da1429794de1d824f452a11b7

See more details on using hashes here.

Provenance

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