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

Uploaded CPython 3.14tmacOS 11.0+ ARM64

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

Uploaded CPython 3.14tmacOS 10.15+ x86-64

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

Uploaded CPython 3.14Windows x86-64

atopile-0.15.7-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.7-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.7-cp314-cp314-macosx_11_0_arm64.whl (7.7 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

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

File metadata

  • Download URL: atopile-0.15.7.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.7.tar.gz
Algorithm Hash digest
SHA256 1c66039059ba1e273af6965317e684b49d1b79e5325b8fd029c9ad2fe43b3b55
MD5 4812613bd6611389ec0ed2554ffa2af9
BLAKE2b-256 c31d707916a47fe2199ace1a0e6db7f2bd82e1c27c73c37f5506fe67760af319

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.7-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 33c4d35f637089f31debfb95b17640d2a6589bfd3165013a02c9420c498f53d9
MD5 d3ec06e95cd666c20771548affc2f412
BLAKE2b-256 b3d6affb1cf0f50416c3619a23dc4d19f0ffb41280c2dd9f15ff296f11e25109

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.7-cp314-cp314t-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7e6e089d02fee9e8e69ec74739f69747e8c4214b1183ea2c6f2545fcc90275f7
MD5 345d7156cafcd4dac1cb415586a22528
BLAKE2b-256 bf3e646e05a909197399698e63de2f52b6f210acd5471b19840b19c55045fb98

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.7-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 97ae83908df349865dcba21629bb468de437f310ea51440c137d8dc7dc178c71
MD5 ebbfb7a6453e470226d4c7bda3f48ad9
BLAKE2b-256 c5c229e08d6186b719a4ef57346d6c61dffae6b70ef37548908d91fe3c3aec7a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.7-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 a29867fac59bcf395c7433f811061454288fb9b5008420091e07a31b585d9f31
MD5 ca034076d29368cf2a3dbffd1a446760
BLAKE2b-256 12790aee4cbccf2ec7ec17e10af246688227766ab2ae08ba7b83475a8e54ba05

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: atopile-0.15.7-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.7-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 ae95807547572f5178c52320d0cb9419d2b311e3c5b907b9f3c5309db421737a
MD5 8ac3fbcba04840471726fc03f241f0f9
BLAKE2b-256 f7ae0beb310c7c77ee239dbc65b621a74ef46ddac511632e1e2dafa5f82d36bc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.7-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e8b47f376b82279a0b5171b3e7db1ed0e0a127a1cac3b63d9d871742ab741b5d
MD5 effa8966dc0a1ccd4e6a59f56b5ac4b1
BLAKE2b-256 b04a1d13f419390ec4783602bc79840570fab6a5264a0f434b9da8f54efb8e02

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.7-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0630b245b78661be2a5b95047b7bd5c793fd68f056a3f36f772b8974c0ee08f4
MD5 8f2275e9ead97e33c5a97241ede787cc
BLAKE2b-256 9a19f92d7ab0c1a611b207dc41d41d8a7e7973e57079ebebdc4a7386938e597c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.7-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f883fb766b56c7a61d2462c4e313eb43707e530baf7e8846c0629e3ce8a28010
MD5 837668d061d2aa4055a2b90a7a0d9e23
BLAKE2b-256 e575f43e8fe0899a79c500bbda15dcaaf3d02001e4c259c94264bbdd4f3fe2df

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.7-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 8d0a0afa55c07455205524a2c5561927407aeab1d581815c64ea3c277cd973b7
MD5 6889644d4cdf77ad2af31387960233fc
BLAKE2b-256 2434c2e8860b65df528ff9ee8a7310536163b317c21a8924851ab1ae0891a01c

See more details on using hashes here.

Provenance

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