| Age | Commit message (Collapse) | Author | Files | Lines |
|
It's nice but shouldn't be necessary.
|
|
Add pyproject.toml (the modern alternative to requirements.txt), making this a proper Python package that can be installed via pip and potentially uploaded to PyPI.
This also loads the files using `importlib.resources` and installs them into the wheel. This means that when you create a wheel using `uv build` it will still be able to load all the opcodes and CSV files.
To avoid moving those resource files in the source repo, the Python build backend (hatchling) is instructed to move them to the right place when building a wheel, and the `resource_root()` function checks in both places so it always works. This is a little hacky but it works.
CI builds source and binary wheels (not actually binary) that can be uploaded to PyPI. If we do upload them then using this project is as simple as
```
uvx riscv_opcodes -c 'rv*'
```
Co-authored-by: Tim Hutt <timothy.hutt@codasip.com>
|
|
* Adding support to generate an svg from opcodes
* Attempt to fix linting issues
* Adding matplotlib dependency to precommit hooks
* Update linting changes
* Added typed tuples
* Fixing further linting issue (WiP)
* Resolved all linting issue
Matplotlib types cannot be resolved by the linter.
Matplotlib calles are ignored for type checking
* Adding matplotlib to dependencies and svg to output for coverage
|
|
|
|
12, which is deprecated. (#312)
|
|
* Refactor GitHub Actions workflow to support multiple Python versions
Signed-off-by: Myrausman <maira.usman5703@gmail.com>
* CI improvements
* MInor update python-app.yml
Signed-off-by: Jay Dev Jha <jaydev.neuroscitech@gmail.com>
---------
Signed-off-by: Myrausman <maira.usman5703@gmail.com>
Signed-off-by: Jay Dev Jha <jaydev.neuroscitech@gmail.com>
Co-authored-by: Jay Dev Jha <jaydev.neuroscitech@gmail.com>
|
|
Previously this generate a `instr_dict.yaml` file, however there is no need to use YAML here. The only advantages of YAML over JSON are that it is (debatably) easier for humans to write, making it suitable as human-edited input files. This is a machine-generated output file so JSON is better.
The main advantages are:
1. It removes the dependency on PyYAML, which is the only external dependency of this project. Python external dependencies are quite a pain - PyYAML is a particularly troublesome one - and having no dependencies is very convenient (no need for venv etc.).
2. It means consumers of the file don't need to depend on PyYAML.
Note this could have been done in an 100% backwards compatible way by keeping the file name unchanged (since JSON is valid YAML), however I figured there probably aren't that many users of this file, and since the only thing they need to change is the filename it's probably better to minimise confusion by renaming it. It also makes it clear that it is guaranteed to be JSON.
|
|
To avoid an enormouse commit, pylint and pyright are commented out for now.
|
|
|
|
|
|
|
|
|
|
|