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.14.1008.tar.gz (17.5 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.1008-cp314-cp314t-musllinux_1_2_x86_64.whl (11.9 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

atopile-0.14.1008-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (11.9 MB view details)

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

atopile-0.14.1008-cp314-cp314t-macosx_11_0_arm64.whl (7.2 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

atopile-0.14.1008-cp314-cp314t-macosx_10_15_x86_64.whl (7.6 MB view details)

Uploaded CPython 3.14tmacOS 10.15+ x86-64

atopile-0.14.1008-cp314-cp314-win_amd64.whl (7.6 MB view details)

Uploaded CPython 3.14Windows x86-64

atopile-0.14.1008-cp314-cp314-musllinux_1_2_x86_64.whl (11.9 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

atopile-0.14.1008-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (11.9 MB view details)

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

atopile-0.14.1008-cp314-cp314-macosx_11_0_arm64.whl (7.2 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

atopile-0.14.1008-cp314-cp314-macosx_10_15_x86_64.whl (7.6 MB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

File details

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

File metadata

  • Download URL: atopile-0.14.1008.tar.gz
  • Upload date:
  • Size: 17.5 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.1008.tar.gz
Algorithm Hash digest
SHA256 e10bb66058ec24a90cbf9c147246e2af5a390fd2ca85f7197c5509f0bb6c9683
MD5 c3095caffb8ea991dc2b040ecfeec6bc
BLAKE2b-256 03476e23ad5d78a749f8e17b20d4ba96655db3a7fa59ad7e6fb7dfcc7fc537fb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.14.1008-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0866a71063fe102f16a981f22575589196952656a8e7ea2dc45d0986cc2d5e3b
MD5 b08d36474c7e3234a23d1fff4727176f
BLAKE2b-256 2bbb77306db2633e902fa30d774bdff936f406bccfa6bc0548e969f8ef6d34a3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.14.1008-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5728f5d413eff1602f36cf5b46b02f3f2fc63998ca8f6036705e91e576b7696f
MD5 ac047d1d6697847227e9b0aeca55177c
BLAKE2b-256 0c5b36a1b45b8ca3b44487df34df72e673c20c9995090614eeab7aafd474e3b9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.14.1008-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9d031c0db0bd7bb9ca482f05854f7d26f7323b804946443fcf44288580daf9b0
MD5 8afe25f5fcd97e764ecdd127d7ce478f
BLAKE2b-256 6a5304cae4212a2747af1e6ad5907a06deeff406635b02444625a5fc39385dd4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.14.1008-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 c2d5304c56340ab54165f92741f4d85cdba129036f0058c4b82bb8b811f60cd1
MD5 07959fd8a814231b609c9c24c74fe50c
BLAKE2b-256 6fd473e9ebd9a1fb80eca89add0ee781d269f5edd2b39af0e4dd6335d5c1e930

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.14.1008-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 1d5f515916604b2fdb3fac78576e41b2afea2bac6ad20f1dab981513e9d1c1a8
MD5 7dfa7474cccd58b10cfeff06129468eb
BLAKE2b-256 06005dd593fbab508e968aed5542cb81952df36bf7f3b89f93c96926a8d48cda

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.14.1008-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d848f696bf7d0f1a389ccdd012e6e317684ec5a888bd54ed8783ee2dfcfd6853
MD5 ca1ebbaa7e9acaa576a2c8cf7adc177f
BLAKE2b-256 1e4f8345a9d0fad23aafe5fce49dec116041f9141248f1279994137f085c9adf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.14.1008-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0ff07e5016d413ea9a313ccd2dc08a6da70f93b886a9126c07e95c264ad4fb91
MD5 b476b3a84f9a7171473b7222f240e005
BLAKE2b-256 23b61bb45dca2865240d0be922245d1fa464292287ba0a2a4ee235107572f560

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.14.1008-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b721baf9708c8a4ac4471c5c1aa9fcd9adde97ba245b8efeae392660f2e61e09
MD5 27156c96b79df4e95066b8ec7e967dab
BLAKE2b-256 ef74fb4ae3c0d35ed00fe0af19b5f71095471dc73bf04f621e2a56029f5b3385

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.14.1008-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 82b350b1142ff327656999e69659cefee0a6a52d3d84ef5e3691849faf630641
MD5 c6cf614dfa2f3e684a4565d0de62eac5
BLAKE2b-256 78773854df91e649b578bfa4ba6d612ea9b1bc51a665027e7d8e8d6024319689

See more details on using hashes here.

Provenance

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