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 pip install -e):
ato dev worktree <new-branch-name>
cd ../<new-branch-name>
./ato --help

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.2.tar.gz (10.3 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.2-cp314-cp314t-musllinux_1_2_x86_64.whl (7.3 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

atopile-0.14.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (7.3 MB view details)

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

atopile-0.14.2-cp314-cp314t-macosx_11_0_arm64.whl (3.0 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

atopile-0.14.2-cp314-cp314t-macosx_10_15_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.14tmacOS 10.15+ x86-64

atopile-0.14.2-cp314-cp314-win_amd64.whl (3.2 MB view details)

Uploaded CPython 3.14Windows x86-64

atopile-0.14.2-cp314-cp314-musllinux_1_2_x86_64.whl (7.3 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

atopile-0.14.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (7.3 MB view details)

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

atopile-0.14.2-cp314-cp314-macosx_11_0_arm64.whl (3.0 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

atopile-0.14.2-cp314-cp314-macosx_10_15_x86_64.whl (3.1 MB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

File details

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

File metadata

  • Download URL: atopile-0.14.2.tar.gz
  • Upload date:
  • Size: 10.3 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.2.tar.gz
Algorithm Hash digest
SHA256 4e089d8a50722f97beaf3daf88635da431c1342bf5120b31e45a8f6776760eef
MD5 1fc2758012af1da6980d9568dd5cd5bb
BLAKE2b-256 a5e1e2213f6792fef0b510fcff23ea3d514bead7c19d31a51190f8dbaff41a8b

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.14.2.tar.gz:

Publisher: deploy.yml on atopile/atopile

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.2-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for atopile-0.14.2-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1b31dad8e366475244cd0f3e99d0af61d6926702432bf557108fe2b443c80c5c
MD5 f3b1e59c9d25f571f1697737a644758f
BLAKE2b-256 c20b02d54389016368cd6e2a4a93c3101b2333187ccc1809be8bf7819da01e92

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.14.2-cp314-cp314t-musllinux_1_2_x86_64.whl:

Publisher: deploy.yml on atopile/atopile

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.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for atopile-0.14.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 be0cff4455467d60695a131cd9acc7516eafe0bc8bbe093d09a19f6efcfbeef6
MD5 7a7be17659928a1f5158608f85a1c9f5
BLAKE2b-256 469a1e1f1dbb27643a6558d6eba5e38907ceca10e10b0eab4f7371cb7d84a6c9

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.14.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: deploy.yml on atopile/atopile

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.2-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for atopile-0.14.2-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 db328e06f0dde2059f4cd792a833807b55dea8188b1e6dd6d23f388634351bc0
MD5 e7fd277c937ac6931b16eb02f068e628
BLAKE2b-256 9a5f056794f34f00d77311961061855d56d22f2ff43014fac666d32cc14dd1b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.14.2-cp314-cp314t-macosx_11_0_arm64.whl:

Publisher: deploy.yml on atopile/atopile

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.2-cp314-cp314t-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for atopile-0.14.2-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 be68200d0e09b8f2a0e495880319bb67e4a22b7d593afadd0f0432dec8fbe101
MD5 b71b32ba622cafcd7aa113656ff35c0f
BLAKE2b-256 5210152edde5769b0f01c768142611d7286f6b002fde31ba2ae8e5c0b3394cd8

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.14.2-cp314-cp314t-macosx_10_15_x86_64.whl:

Publisher: deploy.yml on atopile/atopile

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.2-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: atopile-0.14.2-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 3.2 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for atopile-0.14.2-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 164cc13cee0a44aa457dabe6757e41fa0b6a62bc1265862e902ada99352ee390
MD5 f38718df3e3c3570c87836aabd329ba5
BLAKE2b-256 a7c344257326a85a907aefa1c7805d1268c4d351c04de7d80c72c492a293a2ac

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.14.2-cp314-cp314-win_amd64.whl:

Publisher: deploy.yml on atopile/atopile

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.2-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for atopile-0.14.2-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b9b0a2584d8bc5ecebd52c17985f7ea6b41117085a6eef6deb66b72a2539f846
MD5 42a6fd7439d36eaf49c603fe83be1d57
BLAKE2b-256 3dc2601e510a7eab95f1bfb1d2b2e4919471682f27bcfc5cf3efbb5e6817b345

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.14.2-cp314-cp314-musllinux_1_2_x86_64.whl:

Publisher: deploy.yml on atopile/atopile

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.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for atopile-0.14.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b392ab5f7bf24214ece531fcba302b8264727bde054a35d50b241abda97f82cb
MD5 12af5c64587c9ab574e31752f128039b
BLAKE2b-256 d7890b766c20f91ef8dd38d006043ec7a4789d41e80ee996776f1f24c65e4d12

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.14.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: deploy.yml on atopile/atopile

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.2-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for atopile-0.14.2-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cbc04a6b2a3d5de85709cc761eef763b44fdc5a5cd26674c28d3cef9858a66e4
MD5 be59c97a0f7a5b5b0dc42678518783d0
BLAKE2b-256 10385552a77c3a66cebcb55ddab474002d21499dea6cc8c5b2bfd30bfa4e7b35

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.14.2-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: deploy.yml on atopile/atopile

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.2-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for atopile-0.14.2-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 e3e2adec092e86216e0f45362122d07bcb2e92be0e8afbf5e7f2a2748f6c832b
MD5 49d1062a314ed2f1f9aa4dee4280e88a
BLAKE2b-256 495f9e87ba5888e636a429ceb91712935ddd6af5d627dd2ce8f9d80c4e6757bf

See more details on using hashes here.

Provenance

The following attestation bundles were made for atopile-0.14.2-cp314-cp314-macosx_10_15_x86_64.whl:

Publisher: deploy.yml on atopile/atopile

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