A toolchain bringing the best of software development to the real-world!
Project description
atopile
Compiler for hardware - starting with PCBs
Usage
There's not a lot here, because it's over at http://docs.atopile.io/
Development
Prerequisites / Installation
You'll need >= python3.10
and pip
(Use brew
).
I'd strongly recommend developing within a venv
Since we'll be using this venv
for both work within this tool directory and whatever projects you're using it on, I'd recommend creating something along the lines of an atopile-workspace
or ato-ws
directory somewhere, and then creating a venv
in there. This means if you do something like a git clean -xdf
to remove crud, you won't blow away your venv
with it.
If you decide to follow this, you'll end up with something like this:
atopile-workspace
├── .venv --> your virtual environment
├── atopile --> this repo
├── atopile.code-workspace --> vscode workspace file
└── bike-light --> project using atopile
Clone this repo.
Wherever you stick the venv
, you can create the venv with python3.11 -m venv .venv
and then source .venv/bin/activate
For cli development (so practically all the time) : pip install -e ."[dev,test,docs]"
You'll need npm
for front-end development (brew install node
).
For any front-end development, you'll also need to install the front-end dependencies: npm install
CLI development
ANTLR (or more specifically Java) was a PITA to get working on my Mac... so, I didn't 🤷♂️, I just wrapped up ANTLR in a neat little dockerised bundle and make a script that calls out to it easily.
As of writing, that lives in mawildoer/antlr4, but hopefully we can get it into ANTLR mainline soon.
For now, clone the branch in the first link (eg. to your "repos" or "projects" directory), and then follow the instructions on how to build it.
You can build the grammer to python source with the following command (modified with the appropriate paths for you).
cd src/atopile/parser
/Users/mattwildoer/Projects/antlr4/docker-simplified/antlr4 -Dlanguage=Python3 -visitor AtopileParser.g4 AtopileLexer.g4
Front end development
To check out front-end changes live, run npm run serve
in one terminal and make sure to run ato view
on a project in another (to provide API access).
This will start the front-end server at localhost:1234
and the backend at localhost:2860
. The front-end's development server (pracel
) will proxy API requests to the backend.
Syntax highlighting is pretty nice...
You can download the extension from CI here:
Then, from your PC code --install-extension path/to/atopile-*.vsix
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
Built Distribution
File details
Details for the file atopile-0.0.22.tar.gz
.
File metadata
- Download URL: atopile-0.0.22.tar.gz
- Upload date:
- Size: 2.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f600a99bfda4d6f3ec7e311f8980740de594adc67eb103737a14ad3f9e88fc7 |
|
MD5 | 1fe91ec185e90f0e625ce16eee6504ce |
|
BLAKE2b-256 | 9ee6d204e8f994efc84fa1955c86746129d2d596ac25ab217a36f86ca87951ba |
File details
Details for the file atopile-0.0.22-py3-none-any.whl
.
File metadata
- Download URL: atopile-0.0.22-py3-none-any.whl
- Upload date:
- Size: 1.4 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d973913c06d015eec8ffefae3d3e094bc55eb9b9da1566b84ae95431b90e6668 |
|
MD5 | 17152044d4132d5250cea69cf12014f9 |
|
BLAKE2b-256 | 3fa43ddfb02e159a08d25b303f884f8a374b4ef64348f21daa639451aaae07d8 |