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.0.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.15.0-cp314-cp314t-musllinux_1_2_x86_64.whl (12.0 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.14tmacOS 11.0+ ARM64

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

Uploaded CPython 3.14tmacOS 10.15+ x86-64

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

Uploaded CPython 3.14Windows x86-64

atopile-0.15.0-cp314-cp314-musllinux_1_2_x86_64.whl (12.0 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.14macOS 11.0+ ARM64

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

File metadata

  • Download URL: atopile-0.15.0.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.15.0.tar.gz
Algorithm Hash digest
SHA256 5ea9f36a727cb8c1acd2958eb7d82014cbcb4bbad6eb7057becef88b4b87ad90
MD5 673129473f5702564fb5fd5b6dda0d32
BLAKE2b-256 44aab9a317f8751395ca2f9a33f51f4fae376ced30a1cdf2b7c52dd2a9ca6b6b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 37b73c2e520d98412668c62a5ff4016756eaf36b3a4f48903c63dd49a52ae335
MD5 7feefdcd859558d805dc076427f26025
BLAKE2b-256 3652f70f8e18460152a79b4f4596adc0614948200e0a2ed4fdf13ba2fdfd2d87

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8c1255cdbb474a6fea761b79f89a203ace5070addc2fc2946ca2017d9508da54
MD5 8c63f05ab1557b539816ef914316b62f
BLAKE2b-256 8770cf22cde7da5b0d3f3cf6f0219ee806504c0ed11562a3a7bed7b02d9d6900

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.0-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7c6ab9c0bd56974142a92b33549fbca9d60c8a0c299f1643952590b219ab8c68
MD5 9956eded2ef289d8333dffb652457bdf
BLAKE2b-256 9ab56b63a26dd4eb9eaabdd648e34a93d53726e826b17d82d3d789da4b800252

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.0-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 a1e9b8295a991bc9af2e412ca53f37e203e3dd632b336606b31a790ffadc2d5b
MD5 20d3165e7a0431fc143eeaa91039bf04
BLAKE2b-256 44ee9471c1480ec33c6b796edf38ce2210bb96d7ac75036a167a5d6b69b3ab78

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: atopile-0.15.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 7.7 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.15.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 9e26cc10215bb46919a1b3b3a92f37b45e9568b287d84715e07409c275b14a3b
MD5 56bcacfe7035f71a6925e99a9f3cea3a
BLAKE2b-256 e1d6ae87611d834955e81c7e08bdd5276306e4f8521b256a8fc762476a206391

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.0-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2a49d53441634df81eb3f83e8abbef4d49e24b9174d7122c122b801213f3634d
MD5 894e94fcab083fea8e0ea8bb56903dd6
BLAKE2b-256 1c4026cd66cb054bda3dc27d8d87be448f2512abeb89dde4b418b66a9cfde135

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a31c1e09bfc989771b500fe8d5e95c110f1c0191f7bfb324f2a7a427233db6fc
MD5 bfaacb1e2857625576bb0f5d6f8712a8
BLAKE2b-256 ae065842dd02c8ebdcf74b800a9687f686dffa08b2f456cbc879065863154cc0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a6263b6c1ffff83a7a5924e7507ae8c01045470c3ec359d2a89e3ef50a2d45d8
MD5 efe5f14e63f62419398c48892580ff33
BLAKE2b-256 0b329bb8480abde53f7afdfeb8512430cb92a4af6d2fc5b33c36d9ac6e9d067b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.0-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 2e483bedb0f4ad84897789a63de8b484defa77026383b1d45d8964799ae1d67d
MD5 3f1b7bb22d966305fbb2530957c28c52
BLAKE2b-256 88aa68235d6c59f0b667079983b5c4cea1e9b6393164a9de78ced76259237b85

See more details on using hashes here.

Provenance

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