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

Uploaded CPython 3.14tmacOS 11.0+ ARM64

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

Uploaded CPython 3.14tmacOS 10.15+ x86-64

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

Uploaded CPython 3.14Windows x86-64

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

Uploaded CPython 3.14macOS 11.0+ ARM64

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

File metadata

  • Download URL: atopile-0.15.1.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.1.tar.gz
Algorithm Hash digest
SHA256 0c5eae5047673b9db0a5e62cdef873b102388ac1e59738a00cb07b14dacae415
MD5 e83ca6d5a3a0f168884eb6e4c009acc2
BLAKE2b-256 dba0c32026ed52c22ad112252ac0652f9dbe44bd3341dafb8be12a3341767adc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.1-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0f7c65c55c073af84279d75a79a0b5bf0894cd975107063642ae45b298d1ad47
MD5 c88c223f8363b339a6180245272f0264
BLAKE2b-256 9a72b50e041875f9f8a647716e8a3da3d39cc4c39a69c5fd82d40dc1ec579394

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0f4f0b5eb000aed65e148ce350db139750e0d05d62f0360a005b3de55fe507a0
MD5 cf464c54912095794d50e59d02f9a49c
BLAKE2b-256 01654d8d75b93e565bb3145238a5360dd7147aace459c2056ba3cda5302f3a89

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.1-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 84922012d81b88cf0d6ac2e83ce9c4e48a17bc1c800e191bd0cd40f3533b4318
MD5 e9e17433eb31c97112c040eace0c0a8e
BLAKE2b-256 a8a5be24d6710c70222288021b5ee87d4ae2c86032c59e4860d42808060dd324

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.1-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 9e03982934dab13aea31b9e05395aa6fa233e3f00efc2eb24531e5db18bd764d
MD5 1897affabb1d91f7fa3bb1fccb3fbc06
BLAKE2b-256 c52e26263483907a06741eaa785d930847c35bd0223eac2dd8983d1092d3974a

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: atopile-0.15.1-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.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 830b4a26870badb0862e3436159d2ecb39f224b2e253c77ce4f2b59cdbdb65fb
MD5 357e25eafe7dd7b71eaf3abf7c332a18
BLAKE2b-256 fd317a28f2776b1d45bb0c8377f94f5edb3501fe7630050dc26e95ac841b45c9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.1-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8e4696dcc3b71462017920d717302dc7ed68f7986dee3f31772ac0dd9d87b969
MD5 63578d6e4f189e938daa3a96bec74597
BLAKE2b-256 88d10062398b6381cfd942fb2929d060591ffef68705cb4e9faa4c928ab9321a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c4981a6d61eac5170213022c5ea2415dcbbb240e4783252280d1aacbb8528d14
MD5 0e6f59ad8500993c17ca0d78780af505
BLAKE2b-256 2b6aa91f8b3164497ad5d405dfe27880f4ac3aa4a83247515e8bf86d4390bd31

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8e99a7fc698e6d84a9f8140adf18dff0691cb784903fbf2abdbfdcdccab6fdad
MD5 37f4cc24c431b619b472a768979cb971
BLAKE2b-256 44d58deb8309c0ba4806e2508bce503508ae98e0656539ee35c08338ea4da329

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.1-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 b530ef9c96e4a6103c9de736c66285d88a196e4458dc46dbaed655d4fb487226
MD5 7d7cf10c00ba4cd645583c8920cfee50
BLAKE2b-256 94f9dc1ea07c3e3002b64d6cf24eb7dfd6f810940e6c0df3ea86a9af166705d1

See more details on using hashes here.

Provenance

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