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

Uploaded CPython 3.14tmacOS 11.0+ ARM64

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

Uploaded CPython 3.14tmacOS 10.15+ x86-64

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

Uploaded CPython 3.14Windows x86-64

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

Uploaded CPython 3.14macOS 11.0+ ARM64

atopile-0.15.2-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.2.tar.gz.

File metadata

  • Download URL: atopile-0.15.2.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.2.tar.gz
Algorithm Hash digest
SHA256 4ac422f87b5d72e1b5a2a225705d15a839fd85a22e0d3211f73725f85072338a
MD5 042f059c34dbea261b4e4eeb25f7b710
BLAKE2b-256 df82b387335b4097645c8677790dfe56dc24f00107b03f340bf8602f25479459

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.2-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0538686c64a3d9272316a13238bdb1be262b3da3210507346948177d28e9c8d4
MD5 6d75256c6e422c2b0f83a5f2ce1d5716
BLAKE2b-256 f7fb6080586024432b046f0e32b5c61562f0a361267232d98d00fd402975ddf5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.2-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c92ea79efde9e38d3d28f3fbc6a0bd9f74f28143a04f03c8fec4ff9fdc623852
MD5 97b59222035a26ba46e513f535e684b7
BLAKE2b-256 5dd5560ca47b938f02b32ff5e30db65303c623329a46007868299a73e3b62cde

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.2-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cabf708f501ba1f1b5f6fe17156e14389b4403134e297e7a1e9b87587ff83332
MD5 659f9123a67545eec75c87d14a3491d7
BLAKE2b-256 b0385b29bc994437ef95a79e64ff125656d22ec31ba5df315999f8217f77b67f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.2-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 7fbf5a1132f34891b63ea6c28d3c8b4956b82c4680a2d846b642dfe1c0d7dbdd
MD5 7ccbcffe13308e78799ca35549716327
BLAKE2b-256 8f76f263f91956f77ccf13d9b6e72b8f7c396225a7801b9544fdffabc5a1a986

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: atopile-0.15.2-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.2-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 903dfb5ec99ac6f2e41c1dbeefa9cff8373af86c8e3c3d1c201346563de7e9de
MD5 cd09597b521e8999b52939b430589454
BLAKE2b-256 627fc4f813f5debdd95f00698394e07ba9a2dcdceeeddc92ec08bc2ae1e68a3b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.2-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b2f8820d82e2b8b10beacf4c2e68e00727d0fc49bc7c81e4be6d8fc5981c5f03
MD5 0edeaa81db61d76b6d202f919a496225
BLAKE2b-256 9bcf904c1c8bc4327a52c31f3198faa35ba7cae40deccb215e7e2c0926ea945e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cb790806e3663106eb125b3ee73298e45d6f0a7e0b6c30b1bf6d41d002a27e27
MD5 7061386216ad4e8f162ac95e35a782d5
BLAKE2b-256 ad64d92cf18e08725ece1252dd6df111c7c333fce30afa0f58f337b2db712c87

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.2-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f8e00247d807a80f85c978419e0a0790b57d9f5cc9728dc4f7f3de392639066e
MD5 008082b89d4ffe4e5db786f0fa34af51
BLAKE2b-256 c09ca33b0ef74ce66f79f2b4c8fd320c0f63570c9d6158b1ef4a62d5bca54e15

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for atopile-0.15.2-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 879b7e15b3b3fa5a87636b0880857dd39c96089228aafc79ff0fca6abd7c9336
MD5 a28a90248d4c15f211a9d59c8ea9fd9b
BLAKE2b-256 6d6e1d5191a658490fa19cc87dc29465e16ce392c98f6a9786dce1fc5cbad25d

See more details on using hashes here.

Provenance

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