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.4.tar.gz (95.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.15.4-cp314-cp314t-musllinux_1_2_x86_64.whl (12.1 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

atopile-0.15.4-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (12.1 MB view details)

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

atopile-0.15.4-cp314-cp314t-macosx_11_0_arm64.whl (7.4 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

atopile-0.15.4-cp314-cp314t-macosx_10_15_x86_64.whl (7.8 MB view details)

Uploaded CPython 3.14tmacOS 10.15+ x86-64

atopile-0.15.4-cp314-cp314-win_amd64.whl (7.8 MB view details)

Uploaded CPython 3.14Windows x86-64

atopile-0.15.4-cp314-cp314-musllinux_1_2_x86_64.whl (12.1 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

atopile-0.15.4-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (12.1 MB view details)

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

atopile-0.15.4-cp314-cp314-macosx_11_0_arm64.whl (7.4 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

atopile-0.15.4-cp314-cp314-macosx_10_15_x86_64.whl (7.8 MB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

File details

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

File metadata

  • Download URL: atopile-0.15.4.tar.gz
  • Upload date:
  • Size: 95.3 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.4.tar.gz
Algorithm Hash digest
SHA256 bea6dde3f803543e62c838502d75711ae8bd7b87eb47b6bf9e90debda3104c24
MD5 4440d3b198d7c7638e1cc2e210a9296a
BLAKE2b-256 421f45f8910e0879c9deeaec9befc40c0fdd5c459df2677d58ddc124cd366a2c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.4-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2fda3eb63259ecc468012de71dbb906fba634fef5641673eb3de1d389d267c2b
MD5 7ba05aea2e497a9674bc18a2e061831c
BLAKE2b-256 b22ec9b0385bfc00736bb23db329c4c58372ef42bbda54335436c4057123bc87

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.4-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7dd568fc20e943daef29d9ccd1b71b7eb82325541bed914076962b97f706a954
MD5 76c75e887671633d5ce08d3d684bb467
BLAKE2b-256 8d09a7fa5c671bf1c86caa3790048e67a1eb5ac2cdda34bf4d692f9598f46bb3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.4-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ac25dae02599dd8bd7729ecffc6c78bb2aa91ed43dd802a424cf1a9c7d15635a
MD5 e7883f9292cc2035d663d14cca5d994b
BLAKE2b-256 890b69939896a60fe6f3f8ad550bc138ec756ab6becaae90b2522a30fb82e462

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.4-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 94df34ba78c1a335b79c8d13794428f5626ab66a55bcdc4981f87b9d059613b0
MD5 0f9d94b17a4fa50c56f0ea9212bb7565
BLAKE2b-256 7a3befcf627e6662c856bd120593126c57e9a15254243327d795cbaff3e49360

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: atopile-0.15.4-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 7.8 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.4-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 33d5c0cce92410f353de7c982a072e747d82c63d8a337ddaf80d44a44e437d5f
MD5 87a6b2b9c2008d1b6a52ba73bc8e6869
BLAKE2b-256 ca4191cc8663f1570b616b41aa445a95b36310f15cf9632b8fc90bc88e95ce33

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.4-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ac338776b8ed2f2a19af2588160ac38af130193fc17ccd6e6388af0deb06357f
MD5 20e2b0cdb50c58bd53175b24226bc28b
BLAKE2b-256 affe838b21edba680cc7f8bf940afb759ce4b21adcd9ba3c8ec8e5c3059ce4ae

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.4-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 12be5f091467b5cfb536550d06fe4cde8b8274c375bd23a4c0b0a8b88b1a7ae4
MD5 78e2934fe74586c113adff276944acb3
BLAKE2b-256 917a85a351bfc511e8ac833c90082c85ac8c3e5e56c9983ce6fe7689b30e766b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.4-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 78092460e80bb47163af3c41313acd9da9195a409caae8d58ad68598ff7a7b4b
MD5 a7b64cee02f834f8a36f9c35d9b98958
BLAKE2b-256 d28d5b08afcebf852c7e5f43c2bd18d0d410cb550741b1f1d64dc9ce25dfec62

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.4-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 af818229247f23b134236ba195056f73c8857d1433c170345f175934ca569273
MD5 5b18a6327fe91a6342610146ff74461c
BLAKE2b-256 5f27550f99bc20f72d21c4a12f77dc3df9b927abfb47e858f18eb51cae472e9b

See more details on using hashes here.

Provenance

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