Code to parse Arm Specification Language (ASL) files
Project description
AslUtils
Utility scripts to parse ASL files and the actual ASL language.
Installing
Preferably this is installed in a virtual environment. To create a virtual environment in the current directory write python3 -m venv env/
. To enter the virtual environment use source env/bin/activate
.
To install simply use pip: pip3 install aslutils
.
Installing for development
To install the package for development, clone it and then install it in editable mode: pip3 install -e /path/to/aslutils/
(i.e. the directory that contains setup.py).
Using aslutils
The documentation can be found at https://alehed.github.io/aslutils/
Developing
Generating the documentation
aslutils
uses sphinx (pip install sphinx
) to generate the documentation. From the root folder the command to generate the html documentation is sphinx-build -b html docs/source docs/build
. The docs can then be found at docs/build/index.html
.
If anything in the source changes (class names, new classes etc.) the aslutils.rst and modules.rst files have to be regenerated. This can be done via sphinx-apidoc -f -o docs/source/ aslutils
. Do not edit those files manually as the changes will be overwritten once sphinx-apidoc is rerun.
Build time dependencies
In order to build the project locally, you need to have antlr4
(https://www.antlr.org/) and the corresponding antlr4 python runtime installed (pip install antlr4-python3-runtime==4.?.?
, the version has to match the installed antlr version).
Building the parser
The ASL visitor code is generated with antlr4 -Dlanguage=Python3 -no-listener -visitor ./aslutils/ASL.g4
. This has to be done every time the file ASL.g4 is changed.
Packaging
Note: I am currently the sole packager of this project, so this section is only for reference to my later self.
Once antlr is installed, this step is easy. The dependencies for packaging are: wheel, setuptools and twine (pip install wheel setuptools twine
)
After old versions are removed from the dist directory rm dist/*
, the package needs to be generated with: python setup.py sdist bdist_wheel --universal
. Then it can be uploaded using twine: twine upload dist/*
.
Release process
Again, this is only for myself.
- Decide to do a new release
- Fully regenerate the documentation and commit the changes
- Bump the version in setup.py
- Tag the latest commit and push it
- Publish the documentation with the provided script
- Do the step described in packaging
Project details
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 aslutils-0.1.2.tar.gz
.
File metadata
- Download URL: aslutils-0.1.2.tar.gz
- Upload date:
- Size: 32.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd77fb7bae6d8101b03348bdba08e2f29d36763c70e401b11c3451a718f57abc |
|
MD5 | 4b5097a2662af0d47dd45b984075751f |
|
BLAKE2b-256 | 260462c2d12d31cf463b98622e86216d58da3303e4814ced61012ce22bb3eb58 |
File details
Details for the file aslutils-0.1.2-py2.py3-none-any.whl
.
File metadata
- Download URL: aslutils-0.1.2-py2.py3-none-any.whl
- Upload date:
- Size: 41.7 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 19504edca59112338d8fc4e077f5673ccef0354a9fe875720b56eb89ef8a5975 |
|
MD5 | 2ec0f71ed769a02f0e06e6744ad48aad |
|
BLAKE2b-256 | 158d625876cbbd34a13ab54dda854feeb51b592dcc7dea5ac989b43ac530bb36 |